Hacking the Kodak Reels 8mm Film Digitizer (New Thread)

  • Please can you read through and vote on the following proposition for changes to the board structure by clicking here.

larryc39

New Tinkerer
Jan 2, 2025
26
18
3
It took me a minute to realize what was going on, that's the front and back view of the knob that is some sort of speed control. I was looking at it and thinking why's there a spare reel holder on your unit.
Dumb mistake on my part. I made the channel between the two walls of this design too narrow for the film to pass through. It's been resolved and updated as a v2 part in my original post.
Probably not easy or useful, but the other one, the one that drops in from the top, it would be useful to have keying on it since it's so almost just a square it's easy to install the wrong way.
Don't use iris lens caps, as that introduces vignetting.

The issue is the plastic camera mount, the thread is too easily messed up, I had trouble with it too. Maybe on my next unit, I will print my own extension tube in TPU, soft enough to thread the lens onto, fill customizable length.
OK didn't realize they weren't good to use, seems like some people had success with them.
I did order that pack of lens mounts from Amazon and might try switching mine out. You're right about the threads, it's like they were never intended to be used once the original lens was removed. It feels like the plastic "shrinks" some from the molding and makes it harder to go in like a taper. But could just be bad threads. Looks like I got some dust on the sensor too in the process :( minor cloudy/dark spots on my preview images. Also ordered some micro screw kits so I can put all four screws in the lower and upper mounts going forward. After playing with the focus I see how even just a touch is enough pressure to shift the camera so making the board mount as secure as possible seems like a good idea. Ten pounds of junk drawer screws and nothing that small!
 

0dan0

Active Tinkerer
Jan 13, 2025
410
557
93
It took me a minute to realize what was going on, that's the front and back view of the knob that is some sort of speed control. I was looking at it and thinking why's there a spare reel holder on your unit.

Probably not easy or useful, but the other one, the one that drops in from the top, it would be useful to have keying on it since it's so almost just a square it's easy to install the wrong way.

OK didn't realize they weren't good to use, seems like some people had success with them.
I did order that pack of lens mounts from Amazon and might try switching mine out. You're right about the threads, it's like they were never intended to be used once the original lens was removed. It feels like the plastic "shrinks" some from the molding and makes it harder to go in like a taper. But could just be bad threads. Looks like I got some dust on the sensor too in the process :( minor cloudy/dark spots on my preview images. Also ordered some micro screw kits so I can put all four screws in the lower and upper mounts going forward. After playing with the focus I see how even just a touch is enough pressure to shift the camera so making the board mount as secure as possible seems like a good idea. Ten pounds of junk drawer screws and nothing that small!
These are great for getting dust off the sensor https://www.amazon.com/dp/B0CPFHNPBQ
 

larryc39

New Tinkerer
Jan 2, 2025
26
18
3
For anyone doing dev work or just wants a "front accessible" SD card slot, I bought on of these SD card extension ribbons on Amazon and I find it very helpful:

I hadn't thought of that, but I haven't used mine much yet in earnest. I picked up the bare board version to try, maybe I can find a way to front panel mount it with a bracket and a hole in the front.
1770068673706.png
 
  • Like
Reactions: videodoctor

0dan0

Active Tinkerer
Jan 13, 2025
410
557
93
Are there any other obvious hardware changes aside from the camera board? I see the camera ribbon cable is still as awkward as ever.
I expect they had trouble sourcing AR0330 sensors (12 years old), only the sensor board is changed.
 

videodoctor

Tinkerer
Jan 8, 2026
65
26
18
@0dan0 , I know you just got your D unit yesterday---have you had any luck confirming the expo_iso address yet?

In the hist.c code, I kept running into crashes with the histo_rgb_image value at the start of the calc_histogram function, and as I don't fully understand how the hist[] array works, I had to keep re-initializing the histo_rgb_image value to (uint8_t *)hist[3] + 4; and comment out all of your initial if() statements at the start of the function too, which is likely why it's flashing. I know the calc_histogram is firing without a hiccup as I have a blinking LCD square to show me if there's any delays.
 

ChrisTheChiller

New Tinkerer
Jan 22, 2026
5
7
3
I am still in utter admiration for the energy and dedication you all are putting into fabricating a firmware that helps us getting a decent picture quality out of a seemingly unsatisfying consumer product! 🤩 Thank you for that!

I am currently into the hardware side of things and I tried an el cheapo solution for enhancing the resolution my Kodak is getting with its stock lens.

Simply Because I didn't want to spend another 100 € for a new lens, I thought about just bringing the camera closer to the film strip.

After testing a possible distance, where I still was able to focus, I settled on 12 mm.

Which is about the distance between the screw holes of the camera mount. That way I only had to drill four new holes into the metal plate of the scanning assembly.
new holes.png


After remounting the camera and connecting it again (don't worry, the ribbon cable should be long enough), I could measure how much of the plastic case below it I had to cut away. (about 5 - 6 mm)

Finally I had to modify the camera cover to fit over the lower hanging lens.

The result now looks like this (cover removed for illustration purposes :) )

cam 01.jpg


cam.jpg


With everything in place I refocused the stock lens to match the new height.

Compared to the effort I had put in, I am pretty satisfied with the final result, considering both resolution and overall look of the modification.

Here is a comparison of before and after - both in 1600x1200 (max zoomed out)
Movie0001.MP4_snapshot_00.06_[2026.02.04_08.52.23].jpg
Movie0016.MP4_snapshot_00.17_[2026.02.04_08.52.40].jpg

The effective resolution is now at 1152x864, with a small margin around the actual frame.
res_zoomed 0.jpg



Here is another screenshot of the capture. Given that the actual movie isn't the highest quality, I am still happy with how it turned out
Movie0012.MP4_snapshot_00.01_[2026.02.04_11.06.48].jpg


Here's my final summary:

Advantages :D
  • sourcing of a fitting new Lens unnecessary (cost saving)
  • absolutely no 3D-Printer or other special tools needed,
    just a sharp 4 mm drill, a screwdriver and a knive or a dremel
  • minimal modification of the case (time saving)
  • all can be done within about one hour
  • no change of the overall aesthetic of your scanner
  • mostly easily revertable, if in the future you should decide to go the full mile (with a new lens)

Disadvantages :cautious:
  • not the full possible resolution of 1600x1200 (only 1152x864)
  • the lid of the transport mechanism doesn't open completely
    (but still high enough to easily thread the movie through)


I would love to hear your comments about my approach. For me personally it's totally sufficient, especially in connection with the modded firmware and considering the cost and time savings.
 
Last edited:

0dan0

Active Tinkerer
Jan 13, 2025
410
557
93
I am still in utter admiration for the energy and dedication you all are putting into fabricating a firmware that helps us getting a decent picture quality out of a seemingly unsatisfying consumer product! 🤩 Thank you for that!

I am currently into the hardware side of things and I tried an el cheapo solution for enhancing the resolution my Kodak is getting with its stock lens.

Simply Because I didn't want to spend another 100 € for a new lens, I thought about just bringing the camera closer to the film strip.

After testing a possible distance, where I still was able to focus, I settled on 12 mm.

Which is about the distance between the screw holes of the camera mount. That way I only had to drill four new holes into the metal plate of the scanning assembly.
View attachment 26612

After remounting the camera and connecting it again (don't worry, the ribbon cable should be long enough), I could measure how much of the plastic case below it I had to cut away. (about 5 - 6 mm)

Finally I had to modify the camera cover to fit over the lower hanging lens.

The result now looks like this (cover removed for illustration purposes :) )

View attachment 26614

View attachment 26615

With everything in place I refocused the stock lens to match the new height.

Compared to the effort I had put in, I am pretty satisfied with the final result, considering both resolution and overall look of the modification.

Here is a comparison of before and after - both in 1600x1200 (max zoomed out)

The effective resolution is now at 1152x864, with a small margin around the actual frame.
View attachment 26618


Here is another screenshot of the capture. Given that the actual movie isn't the highest quality, I am still happy with how it turned out
View attachment 26619

Here's my final summary:

Advantages :D
  • sourcing of a fitting new Lens unnecessary (cost saving)
  • absolutely no 3D-Printer or other special tools needed,
    just a sharp 4 mm drill, a screwdriver and a knive or a dremel
  • minimal modification of the case (time saving)
  • all can be done within about one hour
  • no change of the overall aesthetic of your scanner
  • mostly easily revertable, if in the future you should decide to go the full mile (with a new lens)

Disadvantages :cautious:
  • not the full possible resolution of 1600x1200 (only 1152x864)
  • the lid of the transport mechanism doesn't open completely
    (but still high enough to easily thread the movie through)


I would love to hear your comments about my approach. For me personally it's totally sufficient, especially in connection with the modded firmware and considering the cost and time savings.
I originally tried this approach, but don't remember if it was the door position or focus issues that made find the new lens. But 1152x864 is a big improvement, over Type ABC's 752x564. Using the 12mm lens, the active Super 8 frame is 1376x1032 (types ABC). This approach might be prefect for Type D. On the D the Super 8 native frame is 840x624. So we can estimate moving the stock lens closer with get 1286x966 (D), which is more than film resolves anyway. The 12mm will get an estimated 1536x1152, overkill, but I like overkill. ;)
 

sheider

New Tinkerer
Oct 17, 2025
25
11
3
I am still in utter admiration for the energy and dedication you all are putting into fabricating a firmware that helps us getting a decent picture quality out of a seemingly unsatisfying consumer product! 🤩 Thank you for that!

I am currently into the hardware side of things and I tried an el cheapo solution for enhancing the resolution my Kodak is getting with its stock lens.

Simply Because I didn't want to spend another 100 € for a new lens, I thought about just bringing the camera closer to the film strip.

After testing a possible distance, where I still was able to focus, I settled on 12 mm.

Which is about the distance between the screw holes of the camera mount. That way I only had to drill four new holes into the metal plate of the scanning assembly.
View attachment 26612

After remounting the camera and connecting it again (don't worry, the ribbon cable should be long enough), I could measure how much of the plastic case below it I had to cut away. (about 5 - 6 mm)

Finally I had to modify the camera cover to fit over the lower hanging lens.

The result now looks like this (cover removed for illustration purposes :) )

View attachment 26614

View attachment 26615

With everything in place I refocused the stock lens to match the new height.

Compared to the effort I had put in, I am pretty satisfied with the final result, considering both resolution and overall look of the modification.

Here is a comparison of before and after - both in 1600x1200 (max zoomed out)

The effective resolution is now at 1152x864, with a small margin around the actual frame.
View attachment 26618


Here is another screenshot of the capture. Given that the actual movie isn't the highest quality, I am still happy with how it turned out
View attachment 26619

Here's my final summary:

Advantages :D
  • sourcing of a fitting new Lens unnecessary (cost saving)
  • absolutely no 3D-Printer or other special tools needed,
    just a sharp 4 mm drill, a screwdriver and a knive or a dremel
  • minimal modification of the case (time saving)
  • all can be done within about one hour
  • no change of the overall aesthetic of your scanner
  • mostly easily revertable, if in the future you should decide to go the full mile (with a new lens)

Disadvantages :cautious:
  • not the full possible resolution of 1600x1200 (only 1152x864)
  • the lid of the transport mechanism doesn't open completely
    (but still high enough to easily thread the movie through)


I would love to hear your comments about my approach. For me personally it's totally sufficient, especially in connection with the modded firmware and considering the cost and time savings.
Glad that you were able to make this work... Thanks for sharing!
Also, from your first photo, I see that you replaced 3 of the 4 posts with what appear to be metal rollers... How have they affected the film transport experience for you? Where did you acquire them?
 

videodoctor

Tinkerer
Jan 8, 2026
65
26
18
Glad that you were able to make this work... Thanks for sharing!
Also, from your first photo, I see that you replaced 3 of the 4 posts with what appear to be metal rollers... How have they affected the film transport experience for you? Where did you acquire them?
Those are sweet metal rollers for sure! They almost look like they were salvaged from an 8mm projector.

I made a post earlier this week about updating the posts to rollers. I measured the stock posts with digital calipers and got nylon washers and spacers at the local Ace Hardware, where I could test fit what they had with the stock post. I got three washers per post, two inner and one outer to fill the empty space by the nylon spacer.
 

Attachments

  • IMG_3197.jpeg
    IMG_3197.jpeg
    1.3 MB · Views: 22

ChrisTheChiller

New Tinkerer
Jan 22, 2026
5
7
3

[SIZE=4]0dan0[/SIZE]:

I originally tried this approach, but don't remember if it was the door position or focus issues that made find the new lens. But 1152x864 is a big improvement, over Type ABC's 752x564. Using the 12mm lens, the active Super 8 frame is 1376x1032 (types ABC). This approach might be prefect for Type D. On the D the Super 8 native frame is 840x624. So we can estimate moving the stock lens closer with get 1286x966 (D), which is more than film resolves anyway. The 12mm will get an estimated 1536x1152, overkill, but I like overkill. ;)
I totally agree, who could be a real tinkerer without loving overkill? :D

Glad that you were able to make this work... Thanks for sharing!
Also, from your first photo, I see that you replaced 3 of the 4 posts with what appear to be metal rollers... How have they affected the film transport experience for you? Where did you acquire them?

[SIZE=4]videodoctor[/SIZE]:

Those are sweet metal rollers for sure! They almost look like they were salvaged from an 8mm projector.
I was able to get a broken super8 editor on ebay. nobody wanted to have it, so I only paid 1€ plus 7 € shipping ;)
1770285003780.png

It is really chunky and the screen is not very pleasant to look at. I anyways planned to salvage only the four steel rollers and the normal8/super8 reel adapters (my Kodak was missing the red one). And after thinking about it for a while I may be using the front together with a raspberry pi and a display to showcase my digitized super 8 movies.... we will see, that's a future project 😁

The rollers were easy to unscrew and move to the Kodak. A bit of cleaning and a spritz of silicone oil was necessary, but now I have the worlds smoothest film transport :) I assume the transport mechanism does not have to work so hard anymore, reducing the risk of ripping anything apart.

Overall I guess it just feels better to know that your films are treated gently while scanning 😊
 
  • Like
Reactions: sheider

ChrisTheChiller

New Tinkerer
Jan 22, 2026
5
7
3
I made a post earlier this week about updating the posts to rollers. I measured the stock posts with digital calipers and got nylon washers and spacers at the local Ace Hardware, where I could test fit what they had with the stock post. I got three washers per post, two inner and one outer to fill the empty space by the nylon spacer.
those nylon washers definitely are a nice solution and surely are pretty easy to aquire anywhere 👍
 

larryc39

New Tinkerer
Jan 2, 2025
26
18
3
After a long long time...I finally have my C-unit modded!

I installed a new 18mm spacing M12 lens mount, plastic, and the extension screwed in all the way, as it should. Unfortunately the metal ones from this kit were 20mm spacing and the 18mm ones (that this board takes) were plastic. It did work fine though. https://www.amazon.com/dp/B07QMRDZYS? I used the mount the most similar in height to the original. That said, it'd be easier to source just the one you need in the future.
1770296873622.png


Used some extra M1.7 x 5 screws to secure both the PCB and the bracket with all four holes. Shorter screws might work, but that's the smallest the kit had. I did come across one other issue(?) as I tried to secure the board and bracket with a full eight screws, the two back screws on the top bracket cause it to deform and also for the camera to tip forward. I need to take it apart and investigate further if there's a clearance issue, if the bosses should be brought up to the surface height instead of undercut, or what is going on. As it was, I used the two back screws to go in and out until I had the lens centered on the frame so to speak.
1770297447833.png


I just took a quick scan and didn't adjust color or exposure settings, but from an older Mac84/0Dan0 firmware with the old lens to the new lens the sharpness is evident.

1770294062756.png

1770294077235.png
 

0dan0

Active Tinkerer
Jan 13, 2025
410
557
93
Reels Type D development has hit a roadblock. My unit stopped working, it was working but crashed during a capture, and will not power on now. I think the crash is likely unrelated, this be a hardware failure. Any ideas? Nothing is output over the serial port.

 
  • Sad
Reactions: ChrisTheChiller

videodoctor

Tinkerer
Jan 8, 2026
65
26
18
Reels Type D development has hit a roadblock. My unit stopped working, it was working but crashed during a capture, and will not power on now. I think the crash is likely unrelated, this be a hardware failure. Any ideas? Nothing is output over the serial port.

View attachment 26652
@0dan0 did you open the case to make sure there weren't any loose connections with wiring? I know you know what you're doing hardware wise with the mods---it seems to me that there is a diagnostic check at the start of the boot. Odd that you're not getting anything over the serial connection---I'm always nervous that those pin outs will eventually give out on the soldering to the UART module.

Did you try putting the stock D firmware back on the SD card and seeing if it erases/writes the firmware at all?
 

0dan0

Active Tinkerer
Jan 13, 2025
410
557
93
@0dan0 did you open the case to make sure there weren't any loose connections with wiring? I know you know what you're doing hardware wise with the mods---it seems to me that there is a diagnostic check at the start of the boot. Odd that you're not getting anything over the serial connection---I'm always nervous that those pin outs will eventually give out on the soldering to the UART module.

Did you try putting the stock D firmware back on the SD card and seeing if it erases/writes the firmware at all?
It is not doing anything for a firmware update. I will be opening it up next.
 

0dan0

Active Tinkerer
Jan 13, 2025
410
557
93
@0dan0, did you capture the crash dump in the serial console? Curious which mod you were testing and how far you got into capture before the crash.

Yep. Something was breaking captures, which is what I was working on.
size :1056 784
corner :714 360
Id=0
Mode=1
ERR:IPL_SIEClkCBFlowC() SIEclk = 240000000
CHK: 1026, IME_IQparam
CHK: 696, IPE_IQparam
Id=0
Mode=1
CHK: 24, IPL_SIESetOB_FCB
ERR:IPL_SIESetCAVIG_FCB() CA VIG Setting not ready
Id=0
Mode=1
Id=0
Mode=1
VS[0] = 0x202ac40
[SM] ver =658_2019_1220 3.12.073!
ERR:SMediaRec_ReAllocBuf2VA() ^R SMediaRecUti_AllocBuf2VA FAIL!!!!! need=0x42a1310, given=0x3f78540!
ERR:AWB_Init() KGain = 100 100
ERR:SMediaRecTsk() ^G SMediaRec_ReAllocBuf2VA FAILS!! cannot record!!!
[0] timeid=0x6fa262!
[SM] ver =658_2019_1220 3.12.073!
ERR:FileDB_CurrFile() u32TotalFilesNum=0
Mode {MAIN} Close begin
SMediaRec_Close
WRN:xDispSrv_Wrn() -8
WRN:xDispSrv_Wrn() -8
WRN:xDispSrv_Wrn() -8
ERR:IPL_ChgMode() IPL chg mode error (3 -> 0)
WRN:xDispSrv_Wrn() -7
ERR:xDispSrv_Err() -35
ERR:UnInit_OS04D10() OS04D10_uninit...
csi_waitInterrupt(CSI_INTERRUPT_FRAME_END)=65536
csi_setEnable(FALSE)=0
csi_waitInterrupt(CSI_INTERRUPT_FRAME_END)=65536
Mode {MAIN} Close end
ERR:Sensor_Module_GetCurMode() Input Id error!
*** CPU Exception!!! cause 0x02: TLB exception (load or instruction fetch)
epc - 0x801dfa24
$ra - 0x801df9fc
$sp - 0x81321440
$fp - 0x81321440
general registers:
$zero : 0x9564f2d4 $at : 0x81321304 $v0 : 0x00000000 $v1 : 0x0000000c
$a0 : 0x00000003 $a1 : 0xf15beac0 $a2 : 0xf15beac0 $a3 : 0x00000008
$t0 : 0x00000008 $t1 : 0x01010101 $t2 : 0x8131f900 $t3 : 0x00000012
$t4 : 0x00000000 $t5 : 0x80f9beec $t6 : 0x00000001 $t7 : 0x8132159c
$s0 : 0x0000411a $s1 : 0x00000000 $s2 : 0x813214c8 $s3 : 0x80000000
$s4 : 0x00000000 $s5 : 0x80e55380 $s6 : 0x00000001 $s7 : 0x00000001
$t8 : 0x00000000 $t9 : 0x00000001 null : 0xfffffffb null : 0x80000000
gp : 0x80e10da0 sp : 0x81321440 fp : 0x81321440 ra : 0x801df9fc
co-processor registers:
entrylo : 0x00000034 status : 0x00000008 vector : 0x0100c403 epc : 0x801dfa24
cause : 0x00000000 badvaddr : 0x00800008 hwrena : 0x00000400 prid : 0x00019655
entrylo : 0x02b1f706
Task(id) :
AE_Tsk(40)
stack :
range(0x8131f8e0 - 0x8132163c)
call stack :
0 frame(0x81321440 - 0x81321480) ............................ $pc : 0x801dfa24
+ 0x81321440 : 0x80f85da0 0x80d96bd0 0x00000000 0x00000008
+ 0x81321450 : 0x00000001 0x802b64f4 0x00000002 0x80f82580
+ 0x81321460 : 0x80f823a4 0x813214c8 0x00000002 0x00000001
+ 0x81321470 : 0x51eb851f 0x80f80000 0x81321480 0x802b6c58
1 frame(0x81321480 - 0x81321588) ............................ $pc : 0x802b6c50
+ 0x81321480 : 0x812b9ab0 0x812b9ca0 0x00000000 0x0100c401
+ 0x81321490 : 0x00000000 0x00000182 0xf15beac0 0x00000008
+ 0x813214a0 : 0x813214f0 0x81321588 0x800963bc 0x000000f1
+ 0x813214b0 : 0x00000000 0x01000000 0x0100c401 0x800963bc
+ 0x813214c0 : 0x812b6450 0x80df3f70 0x00000000 0x000002e1
+ 0x813214d0 : 0x00000000 0xdeadbeef 0xdeadbeef 0xdeadbeef
+ 0x813214e0 : 0x8132159c 0x80fa0000 0x80090000 0x812b6450
+ 0x813214f0 : 0x00000001 0x00000100 0x8132159c 0x800966a4
+ 0x81321500 : 0x812b9ab0 0x80fa0000 0x00000100 0x812b6454
+ 0x81321510 : 0x8132159c 0x80fa0000 0x80090000 0x80097164
+ 0x81321520 : 0x80e558ec 0x00000001 0x8132159c 0x800966a4
+ 0x81321530 : 0x00000000 0x00000014 0x000001ce 0x00000001
+ 0x81321540 : 0x812b6450 0x8132159c 0x00000100 0x80df0000
+ 0x81321550 : 0x80f80000 0x80f80000 0x00000001 0x8132159c
+ 0x81321560 : 0x81321598 0x80df3f70 0x80df0000 0x00000001
+ 0x81321570 : 0x80e558ec 0x00000001 0x8132159c 0xe4e40017
+ 0x81321580 : 0x81321588 0x801e562c
2 frame(0x81321588 - 0x813215c8) ............................ $pc : 0x801e5624
+ 0x81321580 : 0xe4e40016 0x800966a4
+ 0x81321590 : 0xdeadbeef 0xdeadbeef 0x00000004 0x00000100
+ 0x813215a0 : 0x80090000 0x812b9ab0 0xe4e40011 0xe4e40012
+ 0x813215b0 : 0xe4e40013 0xe4e40014 0xe4e40015 0xe4e40016
+ 0x813215c0 : 0x813215e0 0x80092c20
3 frame(0x813215c8 - 0x813215e0) ............................ $pc : 0x80092c18
+ 0x813215c0 : 0xdeadbeef 0xdeadbeef
+ 0x813215d0 : 0xdeadbeef 0xdeadbeef 0xe4e40010 0x80092bf4
4 frame(0x813215e0 - 0x813215f8) ............................ $pc : 0x80092bec
+ 0x813215e0 : 0xdeadbeef 0xdeadbeef 0xdeadbeef 0xdeadbeef
+ 0x813215f0 : 0xdeadbeef 0xdeadbeef
end
*** CPU Exception in Task[]! cause=0x00000002, addr=0x801dfa24
 
Last edited: