Choose the right entry point
This project is for Sony A7R V / A7R5, model ILCE-7RM5. A7M4, A7R IV and A7C II are different cameras.
Original GitHub: Hearts-Ace / sony-a7r5-custom-firmware. Lenscript provides a fixed source mirror and a guide; the author's repository remains the source for updates.
| Your goal | Start with |
|---|---|
| Understand the firmware | Version notes below |
| Use the twelve finished filters with compatible firmware | Filter import section |
| Make your own colour effects | R5ColorLab browser interface |
| Investigate grid behaviour through test photographs | R5GridCalibrator browser interface |
| Prepare files or maintain updater trust on a Mac | R5 Flash Workbench, after checking its separate version target |
The hosted ZIP is source, not complete firmware or a ready-to-run Mac application. It includes firmware source, Mac workbench source, documentation and filter BINs. Complete DAT/AP/CP files, signing private keys and camera backups are excluded.
01 / Keep the versions separate
Checked on 2026-11-04, firmware repository commit 06aff1e.
| Component | Version / identity | Boundary |
|---|---|---|
| Firmware source | 4.48 | Builds from exact original R5 4.00 inputs; complete DAT not distributed |
| Mac Flash Workbench | 0.2.1, target 4.36 | Current publication is source only; not a general 4.48 installer |
| R5ColorLab | v4.5 chart, current shared-C1 source | Chart version is separate from firmware version |
| Filter format | BIN v4 | File format, not firmware 4.00 |
| Current twelve-filter batch | Shared C1, 2026-11-04 | Different from the older BIN bundled in the Mac workbench directory |
The 4.48 source covers custom filters and grids, fixed C.Look icons, manual Fn registration, R6 ST parameters, FL2/FL3 parameter retention, AWB adjustments and custom shutter sounds with ten volume levels. New exposures can interrupt earlier sound playback through the original stop/cleanup path.
The author still lists physical 4.48 installation, speaker/burst timing, LCD and startup checks as awaiting camera validation. Offline evidence is not proof that every body has been tested. Firmware writes can disable a camera or lose settings and calibration.
02 / GUI tool: R5 Flash Workbench
This is a native SwiftUI Mac application for preparing card files, exporting bundled filters, reviewing task records and maintaining updater trust over ordinary USB/MSC. It does not train filters.
GitHub source and complete instructions
It targets Apple Silicon, with macOS 14 as its minimum build target. Intel Macs, Windows and Linux are not supported by this workbench. Version 0.2.1 still targets firmware 4.36. The current source ZIP contains no packaged .app or .dmg. A properly packaged application has its own Python/libusb runtime; source downloads do not include a complete application runtime. Packaging requires the documented external tools and materials.
| Interface entry | What it does | What it does not establish |
|---|---|---|
| Export latest filters | Copies the BIN actually bundled in that application | Does not fetch the current GitHub batch automatically |
| Prepare firmware and filters | Verifies the matching DAT and copies/reads back card files | Does not mean camera installation succeeded |
| Offline self-check | Checks local application materials | Does not validate on-camera behaviour |
| USB maintenance: back up updater partition | Reads twice, compares and retains a receipt | Is not a complete camera backup |
| Install update trust | Prepares the workbench's signing trust when exact conditions pass | Does not directly flash full AP/CP over USB |
| Task records | Preserves logs, completion status and failures | Is not permission to delete locks and force a retry |
With a trusted complete application and matching files, the sequence is offline checks, target verification, updater backup, receipt review, trust preparation only if required, file export, and finally updating from the camera's menu. Unknown preimages, mismatched readback or incomplete transactions require preserving the evidence and stopping repeated writes.
The author has not completed real USB takeover, trust installation, card update or shooting validation for this workbench. Do not feed current 4.48 files to its frozen 4.36 target. There is no complete-camera backup, forced install or automatic rollback.
Its AI assistant copies instructions for an external local AI to call the bundled r5wb interface. It has no built-in language model and needs no API key. Plans, file export and receipt inspection are separate from authorization to touch a camera. Author's AI interface guide.
03 / GUI tool: R5ColorLab
R5ColorLab runs on your own computer and opens a local browser interface for fitting and exporting colour configurations. It does not flash firmware or upload photographs to Lenscript.
Independent GitHub repository · Workbench instructions · Download matching complete source from GitHub
Install Python 3.12, extract that separate repository, and open a terminal inside its R5ColorLab directory. This directory is not included in the firmware ZIP hosted above.
Windows PowerShell:
py -3.12 -m venv .venv
.\.venv\Scripts\python.exe -m pip install -r requirements.txt
.\.venv\Scripts\python.exe launcher.py
macOS:
python3 -m venv .venv
.venv/bin/python -m pip install -r requirements.txt
.venv/bin/python launcher.py
Open http://127.0.0.1:4180. Keep the terminal running; Ctrl+C stops it. Add --port 4181 to the launcher command if needed and use that address. Windows BAT and macOS command launchers are also provided, but dependencies must be installed first.
- Choose the matching chart version. Current defaults use v4.5 / 5300K synthetic ARW, DNG or RAF charts; old v4 targets are different.
- Prepare the target TIFF, preferably 16-bit, at the original size and orientation without cropping or scaling. JPG and cube targets are also supported. Preserve the documented capture white balance.
- Import the target, assign a configuration number and names, then train. CPU is the default. Apple Metal/MPS acceleration requires extra dependencies and configuration.
- Inspect the evaluation and export BIN v4 after satisfying the documented original-grid or fitted-grid requirements. A low fitting error does not establish a perfect match in arbitrary real scenes.
Finished filters are available without running any training.
04 / Import the current twelve filters
The camera must already have compatible firmware supporting this project's BIN v4. Stock firmware will not gain a filter menu by copying a BIN to the card.
The batch contains AS, CC, EBB, ET, NC, NH, PV, RA, VN, Positive, Negative and Portra400. Names identify simulation targets, not official brand presets or guaranteed matches.
- Extract the firmware source ZIP from this page.
- Use filters/FUJ_12_v45/R5NATIVE.BIN, also available in the author's current filter directory.
- Retain your previous BIN before replacing the configuration set. Put the chosen R5NATIVE.BIN at the memory card root, outside DCIM and other folders.
- Follow the compatible firmware's normal shutdown/cold-start import flow. Recovery startup does not scan the card. Check menu names, take photographs, and verify saving and playback before important work.
The current file is 29,552 bytes, SHA-256:
2e9c60c1f7858940e366aa1b0f2c0c089347445c9c286c0c938a40a35610caee
Do not confuse it with R5FlashWorkbench/engine/filters/R5NATIVE.BIN, an older bundled batch with a hash beginning 19e020fa. Older Release assets can also have the same filename and different contents.
Filter instructions · Editable configurations and export audit
05 / GUI tool: R5GridCalibrator
This separate local browser interface generates probe configurations and fits grid response from photographs. You do not need it to use finished filters.
GitHub source and full instructions
Use Python 3.11–3.13, preferably 3.12. Open the R5GridCalibrator directory in the independent colour repository, create an environment, install its own requirements.txt and run launcher.py as in the previous section. Its default address is http://127.0.0.1:4190. BAT and command launchers are provided.
The current formal fitting settings also require the PyTorch solver dependencies in requirements-gpu.txt and default to Apple MPS. CPU or Windows configurations must select an available device and satisfy the documented solver requirements. Loading the page alone does not establish that training dependencies are installed.
Upload a valid BIN v4, select a configuration and generate the twelve-probe set. Retain the original BIN: the probe BIN replaces the whole custom configuration set. Import using compatible firmware, fix position, lighting, exposure, ISO, white balance and adjustments, then photograph probes 1–12 in order. Verify the photo mapping in the interface, train and export the response JSON/report. Reimport your original BIN afterwards.
The output JSON is a computer prediction model, not firmware or a directly importable colour BIN. Results from one setup do not establish validity across other scenes, ISO settings or white balances.
06 / Sound preparation is a command-line tool
The firmware repository includes a WAV-to-R5S command-line converter, not a separate graphical sound editor. From the extracted firmware repository root:
python3 firmware/r5/host/prepare_sound.py convert "sound.WAV" -o "sound.R5S"
python3 firmware/r5/host/prepare_sound.py inspect "sound.R5S"
On Windows use py -3 instead of python3. Conversion needs Python 3.9+ and a working clang/gcc compiler; inspection only needs Python. Integer PCM WAV input is limited to 1 MiB and two seconds. Renaming MP3 does not work. After conversion and verification succeed, follow the matching firmware instructions to place R5S at the card root for cold-start import.
Each R5S contains ten volume levels from 10% to 100%. Do not reuse A7M4's WAV directory and duration instructions. Author's converter documentation.
07 / Firmware and download requirements
Complete BODYDATA.DAT, AP/CP, original images and signing private keys are not distributed. The current build entry is firmware/r5/build.py, with exact original R5 4.00 input hashes, external signing material and toolchains. A build script does not make the source an automatic installer. Building, card-file preparation and successful camera installation are distinct results.
4.48 build requirements · Publication scope and validation limits · GitHub Releases: historical attachments
The hosted file is the unchanged GitHub source ZIP for the pinned commit. Compare the full SHA-256 shown in File details & verification. In PowerShell:
Get-FileHash -Algorithm SHA256 .\sony-a7r5-source-06aff1e.zip
This confirms download integrity, not firmware compatibility or guaranteed recovery.
08 / Help and sources
Join QQ group 824558022 below. Include the camera model/current firmware, computer OS/CPU, exact workbench/version or commit, full error, and the step reached. Retain task records; do not publish camera backups, calibration, private photographs or keys. For a local interface that will not open, check the terminal, dependency installation and port. Do not interrupt a camera write to troubleshoot a computer page.
For other photography tasks, Mark adds shooting information to photographs, and LCT helps plan sunrise and sunset shooting. More guides are in the Lenscript toolbox.
Prepared from author documentation and interface source; Lenscript has not flashed a camera and is unaffiliated with the original project.
- Firmware/Mac workbench: Hearts-Ace/sony-a7r5-custom-firmware, commit 06aff1e06e2be730de1e39f52febdc4c797d4c68.
- Colour/grid workbenches: Hearts-Ace/sony-r5-colorlab, commit 5bd1841d8e7f82b5ae4009a61d81a11d97c5ba0e.
- Original licences and notices remain in the source archive. Mac workbench components retain personal noncommercial research restrictions; root MIT does not authorize commercial repackaging or paid flashing services. R5ColorLab and R5GridCalibrator use AGPL v3.
Check the original GitHub repositories for later revisions. Similar version labels do not establish compatibility.
