A User Guide and Reference to 0Dan0's Custom Firmware
Guide Created: October 27, 2025
Last Revised: November 7, 2025
Most Recent Firmware:
v7.1.1 (Oct 21, 2025)
Preamble
The purpose of this post is to provide a user guide and reference document for
0Dan0's custom firmware for the Kodak Reels Film Digitizer. This post will be revised for clarity and accuracy, and will also be edited as further revisions to 0Dan0's firmware are released. Please private message me if you have corrections, suggestions or requests for the cotents of this guide. This guide will
not include specific information regarding the hardware modifications that are also being made to this scanner, such as lens replacements (a summarizing post/guide would be a welcome addition to this community and will be cross referenced here if made available).
Required Reading on Previous Firmware Work
While the entire contents of this thread may be too overwhelming to read, please consider reading over
Mac84's initial post for some helpful context to the pioneering efforts, primarily around Mac84's custom firmware. Particularly relevant, is information regarding the different versions/types of the Kodak Reels (A, B, C, etc).
Changing the Firmware on your Scanner
Warning: As with any firmware adjustment, exercise caution when changing the firmware. While uncommon, permanent damage can occur during a change of the firmware (for example, removing power from unit during firmware adjustment).
The following is adapted from
Post #1, thanks to
Mac84!
Caution: Never power the device off while the firmware is being flashed.
- Using your computer, download a desired firmware file from this thread and move it in the root of a FAT32 formatted SD card (32 GB or smaller).
Use the lookup tool here to help identify which version scanner you have, and therefore which firmware variant (A, B, or C) you should use
Check to ensure the file is named "FWDV280.BIN" (without quotes).
REMINDER: You MUST flash the correct version of the firmware to the correct version of the device, otherwise it will not function correctly.
- Create a folder titled “NVTDELFW” (without quotes) in the root directory of your SD card.
This folder tells the device to delete the firmware file after it has finished flashing. If you don’t do this, it’ll flash the firmware on each boot unless you manually remove the file.
- Insert the SD card into your Kodak device while it is off.
- Turn on your device, the power LED will remain on and the screen will stay black for about 30 seconds.
Afterwards, it will resume the startup process using your newly flashed firmware!
The User Guide
Note: Use of a 32 GB SD card formated in Fat32 is recomended for capture (see Known Issues below for more)
On-Screen Display: With the scanner in capture mode, an informational display is overlayed in the bottom left corner of the screen including the following components:
- RGB Histogram (useful for evaluating exposure and color, Wiki Article)
- White Balance (WB) RGB values (adjustable)
- ISO & Exposure (Exp) statistics
- Frame Count & Auto Exposure bias value (ev, adjustable)
- FPS (frames per second, adjustable)
Controls
Note: some of these controls use the On-Screen
Menu system, while others are simply adjusted with the scanners buttons before and/or during capture
White Balance (In Menu): You can manually adjust the Red/Blue color values of your image
- Up (toward red)
- Down (toward blue)
- Cannot be adjusted during capture
- A value of 0 is generally neutral, based on the LED-sourced backlight.
Green Tint (Not in Menu): decrease or increase the green color value of your image
- Press the < or > (left or right arrow) buttons to adjust before and during capture
- The Green value is the second of the 3 color values listed on the display
- 256 is the default “neutral” value
- Adjusts in 15 steps (-7 to +7) from 144 to 368 (see bottom for list of values)
- Not to be confused with the erroneously labelled In-Menu Tint control (see 'Saturation' below, to be corrected in future release)
Auto Exposure Bias (Not in Menu): The firmware
attempts to choose the best exposure, but you can adjust the Auto Exposure Bias to your preference.
- During capture press the + or - buttons
- Adjust only during capture
- The 'ev' value on the display changes from -7 to +7 (default is 0)
- If you desire brighter exposure, increase the Exposure Bias
- If you desire darker exposure, decrease the Exposure Bias
Saturation (In Menu,
but erroneously labelled as “Tint” by manufacturer -
to be corrected in future release).
- 0 is "normal" color value
- +2 increases the color beyond normal
- -2 is no color (for scanning black and white film)
- Not reflected in the RGB values on the On-Screen Display
Frame Adjust (In Menu): Adjust the framing and zoom to achieve desired framing of the image.
- In Firmware v2 0Dan0 adjusted this to allow for Zooming further wide than stock firmware allowed
Frame Rate (Not in Menu): 16, 18, or 24 frames per second.
- Long Press the Up or Down arrows before or during capture to adjust
- Setting will be remembered after unit shutdown
- Adjust before or during capture
- Is not written to the file until the capture is stopped
- 8mm film is 16 or 18 fps; Super8 film is 18 or 24 fps
Other Non-controllable features of this firmware:
- File resolution of 1600x1200 (actual resolving capability is dependant upon lens configuration)
- Bitrate with Peak Qp at ~35 Mb/s
- Disabled 3DNR (preserving some detail and rendering of film grain)
- Full Range fix (metadata in the MP4 file specifying Full Range vs Broadcast range)
- Auto Stop (stops capture when it detects that no film is being scanned -- like at the end of a reel)
- Custom Boot/Shutdown graphic displaying features, instructions, version number and firmware release date
- Captured folder name to include firmware version number (ie "FilmScnC7.1/Movie/MovieXXXX.MP4")
- File Creation Date set to Firmware release date
Known Issues
(Summarized from in-thread reports and discussion; Issues are not necesarily introduced by custom firmware)
Encoder Crash. When using 0Dan0 custom firmware (and especially with a sharper, non-stock lens), the encoder is unable to process the high data rate due to images containing large amounts of detail/grain, and so it crashes, causing the scanner to stop capturing. Users can try to prevent this from happening by lowering the sharpness setting during capture. Also, a second scan attempt may be all that is needed. Future firmware adjustments may resolve this issue. Referenced in post
#855.
4GB File Size Limit. Captured files cannot exceed 4GB. The software will crash at 4GB, requiring a reboot (by holding down the power button) but the file safely closes. With 0Dan0 custom firmware, after capturing aproximately 15 minutes of 18fps footage (~16,000 frames). Referenced in post
#846.
SD Card Incompatibility. Certain SD Cards may cause scanner to not function properly. Generally, it seems that smaller capacity cards (32GB and below) have more liklihood of functioning well. Some workarounds discussed in posts
#856,
#861.
ExFat Formatted SD Cards May Fail: Capturing with ExFat formatted cards may result in no files being captured despite the appearance of such. Instead, use Fat32 formatted cards, especially since the scanner does not support file sizes over 4 GB.
Frame Instability (Top or Bottom Jitter). In some situations, captured files show a distorted image (compressed or expanded at the top or bottom of the frame) when compared to adjacent frames (see bottom of frame in this
sample footage). This relates to the film being in motion as the imager is scanning the film frame
over the course of time. This issue can last the entire duration of the capture, or can increase/decrease in severity over time. Re-scanning those segments often results in no issue. Reference posts
#390,
#471 and
#846.
Scanner Cannot Playback Captured Files. Some firmware versions have broken the scanner's playback capability. Workaround is to transfer your files to a computer for reviewing/editing/storage. Discussed in post
#870 and elsewhere in thread.
Version History
Summarizing the notes that accompanied the release. Click the link on the version number to visit the post that includes attached firmware file. Note that these should all be considered "Work-in-Progress" as they may contain bugs or expose limitations of the hardware.
v7.1.1 Release Notes
Oct 21, 2025
For Scanner Types A, B and C.
- Exposure: Went back to ISO 100-400, as was seeing more exposure stepping with ISO 50
- White balance: 0 is now normalized to color of the backlight
- FPS: is now selectable between 16, 18 and 24fps. Long hold on up or down, arrows to increase or decrease the frame rate. You will be remembered, and can be changed during capture, as the value is only used when the capture is stopped
Note: v7.1 was quickly replaced by 7.1.1 to fix the adjustable frame rate feature
v7.0 Release Notes
Oct. 20, 2025
For Scanner Types A, B and C.
- Added auto exposure back into preview
- Added ISO 50 back to the exposure range
- Added Tint -2.0 is now true B&W
Comment: Let me know if you seeing much jitter in 7.0, as the preview auto exposure was originally disabled to reduce jitter. Now the preview auto exposure biases to a short shutter, hopefully to achieve the same jitter reduction. I'm not seeing any jitter my brief testing.
v6.9 Release Notes
Oct. 15, 2025
For Scanner Types A, B and C.
- Exposure stats on the LCD.
- Green Tint < or > (buttons).
- EV bias using the + or - buttons in capture.
Comment: I reduced the EV range to be more subtle, so larger values might be required. I was reacting to this comment "EV1 is a little to dark, ev 2 is too bright". EV +2 now more is like the last EV +1. This does not make the scan brighter or darker directly, instead it biases the input to the auto exposure. As the exposure logic tries to limit unnecessary brightness changes, it is more intended for a scene change, some EV values may no appear to change the brightness, this is normal. You can trick the unit into thinking there is a scene change by temporarily placing your finger between the camera and film.
v6.8 Release Notes
Sept. 22, 2025
For Scanner Types A, B and C.
- We now have white balance control for Kelvin and Tint, so full manual
- We also have a RGB Histogram to help with you white balancing
- The white balance control in pictures settings will only change the red to blue balance (Kelvin) with 9 discrete settings
- Out side of the picture settings, even during capture, you can change the tint (green) by a longer press in Left or Right buttons (decrease or increase the green)
- The green tint will be remember, even beyond a firmware update
So many other small changes. I'm no longer seeing jitter on my hardware, but I have some code in there to help, just in case. It seems I skipped v6.7 (or never released it.)
Several of the extensions are now in C code, so let me know if you want to see that.
v6.7 (Skipped or never released)
v6.6 Release Notes
July 22, 2025
For Scanner Types A, B, and C.
- This one implements user controlled manual white balance
- Under the picture setting "Exposure" is replaced with "White Bal", for a manual, but fixed, white balance control
- You should not need to reflash FW to change the white balance any more
v6.5 Release Notes
July 12, 2025
For Scanner Types A, B, and C.
- All Kodak Reels units now work (A, B and C)
- File stamps - Now 2025/7/12
- White balance - 1.75,1.0,1.0
v6.4 Release Notes
July 8, 2025
For Scanner Types B and C.
- More work to stabilize the frame.
- Upgrade the auto exposure to be smoother when it needs to change, sometimes on a cut, but to nothing if the histogram is good (90% of the time.)
v6.3 Release Notes
July 7, 2025
For Scanner Types B and C.
- Bug Fix for B & C
- I have mostly resolved the frame stability issue.
- So no new features, just more reliable captures.
- Also Type B, the end of reel detection was improved.
- It turn out the longer shutter, and lower ISO, for lower noise, was causing the frame start sometimes slightly too late. As this hack is a still good quality improvement, it will not use a shorter shutter before capture, switching to the longer shutters while encoding.
v6.2 Release Notes
June 28, 2025
For Scanner Types B and C.
- First Release for Type B.
v6.1 Release Notes
June 11, 2025
For Scanner Types B and C.
- In an attempt to make the frame more stable, dark images can now increase to ISO 200 (range 50-200), rather than a 16ms shutter time (4ms is the max in v6.1.).
- Type B now has working exposure controls. In 6.0, the histogram was working, but the exposure controls where still pointing to Type C address.
- Type B is not not look as detailed as type C, don't why yet.
v6.0 Release Notes
June 3, 2025
For Scanner Types B and C.
- I have now Type B and C running all the current hacks
- My default (fixed/manual) white balance has moved to better match the modern film I'm scanning. Manually editing the .rbn for other WB values is not too hard
After initially posting, edited for minor fix: I just fixed the color reversal error in Type B. I had just missed a 4 bytes in the port from Type C.
v5.8 Release Notes
Mar 18, 2025
For Scanner Type C.
- This version correctly sets the full range flag within the `avcC` MP4 atom.
- So not a big change, but will save you the workflow steps having to correct the files will FFMPEG after capture.
- The end result of this is more dynamic range without color correction or manually editing the header in the file.
v5.7 Release Notes
Mar 16, 2025
For Scanner Type C.
- Exposure work:
- I had to give up on full manual exposure, as you really needed to scan most reels at least twice, to handle under and overexposed scenes seperately.
- The exposure rules are only to decrease when clipping, or increase when at least a stop underexposed, all changes are fast, in half stop increments. So on a scene change it may change exposure, otherwise the exposure is somewhat locked.
- All exposure changes are using shutter time only, ISO is locked at 50 for the lowest noise (unlike stock FW.)
- Shutter speeds supported between ~1ms to ~16ms (about 4 stops of range.) This is significant reduction for the stock FW range, which gains up black film way too much.
- Note: The EV bias is no longer used.
- I have improved the auto stop, which would trigger for completely overexposed segments. It now waits for 32 frames of completely blank images.
- Histogram is now stable. Not that this is completely useful, it was helpful in debugging exposure rules, it means I can now render other things over the video preview image.
- Currently the histogram only runs during capture, not preview.
- I disabled 3DNR, multi-frame noise reduction, which compares frames for "better" denoising.
- The issue is the difference between frames is not sensor noise, but film grain, and it was removing texture and details from the shadows.
v5.6 Release Notes
Mar 10, 2025
For Scanner Type C.
- This is the first version with both manual white balance and exposure.
- The code for the boot/shutdown screen now uses the same address for both, freeing up a large amount of space for code extensions.
- All my hacks are now at 338f28 to ~ 33a190 with room to grow.
- I have restore all the old "audio" code.
- New boot screen displaying Firmware specs/features/version.
v5.5 Release Notes
Mar 8, 2025
For Scanner Type C.
- This new firmware includes a grey frame detector to stop the capture automatically when the file is run out at the end.
- While I haven't had it fail. I do have the sprocket hole visible, as the detector is using the luma minimum to maximum in the frame, a low difference is the sign of a grey frame.
Shared Document on all the changes:
https://docs.google.com/document/d/1AT6ePRO7csoXD_1yUocJsVlNRvMUsktMsBqlPPmCwbo/edit?usp=sharing
v5.4 Release Notes
Mar 4, 2025
For Scanner Type C.
- I was able to find a way to stop the motors in the event of encoder crash.
- While running at 50Mb/s has its risks, now at least you only have to wind back 5-6 frames, restart the unit, and continue
- Some code has been moved to create more coding space, plus some work in progress that is not activate yet.
- Changes at 0x1a9ff8 this used to do be a call to print the last error message on an encoder crash, now in calls my shutdown code at 0x1fc540.
- The shutdown code is super crude, sends 0xffs to 0xb0260000 - 0xb0267fff, this freaks the unit out enough to turn off the motors.
v5.3 Release Notes
Feb 26, 2025
For Scanner Type C.
- Just bit-rate stability:
- Last version would lower the Qp to a limit of 16, but for some reels this would crash.
- This build uses 19 at the lowest Qp value, no other code changes. Scanned for hours on this setting.
- Bit-rate averaging 48Mb/s.
v5.2 Release Notes
Feb 23, 2025
For Scanner Type C.
- The bit-rate now averages around 55Mb/s, and gentler version of the new rate control.
- At 80Mb/s there was still a few capture failures, so still some work to do.
- This build also adds 18fps as the default. At address 0x1ef984 use 0x60EA for 20fps and 0xF0D2 for 18Hz.
v5.1 Release Notes
Feb 21, 2025
For Scanner Type C.
- This release has same functionality as v5.0, but has the code cleaned up.
v5.0 Release Notes
Feb 20, 2025
For Scanner Type C.
- Locked quantization: QP25
- Locked white balance: RGB weights 1.75, 1.0, 1.0
- Pipeline resolution: 1600x1200 (to use all of this you need to replace the lens)
- Encode resolution: 1600x1200
- I moving the seconds input buffer any to just after the encoding working space, but before the compressed output. There is little more unused memory when encoding at 1600x1200. This improved reliability.
v4.2 Release Notes
Feb 19, 2025
For Scanner Type C.
- (Previous version) still occasionally saw a buffer collision between the compression data, and the second input frame buffer. This firmware should address that.
v4.1 Release Notes
Feb 19, 2025
For Scanner Type C.
- I was incorrectly running QP23, which failed on some scenes, so this is running QP28.
v4.0 Release Notes
Feb 18, 2025
For Scanner Type C.
- I wasn't able to limit the size of the H264 compression buffer, but by dropping the processing resolution to 1600x1200, on was able to fit one of the two buffers lower in memory, and now have no conflicts.
- QP of 25. This sets the bit-rate between 30-60Mb/s (image dependent) and is stable in my tests.
- This firmware will work with a stock lens, but the resolution benefits will require a different lens with a narrower FOV.
v3.1 Release Notes
Feb 16, 2025
For Scanner Type C.
- I was finally able to move the input buffers so that will not collide with each other
- So I can now capture 1920x1440, process and encode at that resolution -- for about 130 frames.

- The new main issue is the while I moved the input frames to the very end of the memory, the H264 compression buffer is huge, and it eventually runs to the end of memory (same locations.)
- So the next step will be to reduce the size of the compression loop buffer.
- The compression at 1920x1440, is way worse. I'm about to average around 20Mb/s, yet as this is not a 700px image scaled up to 1920 any more, there is more entropy to encode, so this bit-rate is too low.
v3.0 Release Notes
Feb 8, 2025
For Scanner Type C.
- I have now proven this hardware is capable for a 2K scan (1920x1440).
- Sample image is at sharpen 0.0. Clearly the sharpness was tuned for this resolution (i.e. Dashcam res), not the crazy results it get with the cropping region of the default lens.
- If you zoom-in the capture works correctly, like stock FW, as the working frame buffer shrinks to 840x632 (and smaller.) All the code changes is the width, height and pitch of the frame.
v2 Release Notes
Feb 3, 2025
For Scanner Type C.
- Use the existing reframing controls to scan everything the sensor sees.
- This is great for hardware hack that want to do 16mm scan with the existing lens, or replace the lens for high-res scans of 8mm.
- This hack increases the zoom-out range 2.3X over the stock firmware.
- A lot of new code added between 0x1fbdb4 and 0x1fc000. This replaced a lot of old dashcam code related to audio, so I have this area to do new development.
- The Post linked above and others in following days documents discoveries about the code
1.2 (assumed) Release Notes
Jan 23, 2025
For Scanner Type B
- I decided to try a Type-B to confirm it can be done with a hexeditor, without using decompiling tools like Ghidra
- 1600x1200 with a ~25Mb/s
- Fixed (non-auto) white balance
v1.1 (assumed) Release Notes
Jan 20, 2025
For Scanner Type C.
- 1600x1200 @ 24Mb/s
- I have continued to tweak the manual white balance
- The RGB gains are 2.0, 1.0, and 0.75 (guessing around 5600K).
- Boot screen will show the current settings
v1.0 (assumed) Release Notes
Jan 18, 2025
For Scanner Type C.
- I can now build firmware with a fixed white balance, with independent red, green and blue gains.