Firmware mods for the SayoDevice O3C. Originally written by khang06 at https://github.com/khang06/misc
Web version can be found at https://vali0004.github.io/o3cpatch/
- USB command to retrieve raw analog data and temporarily change LED colors (modified McOsu demo)
- Custom menu backgrounds using screen layer 1 (Disable main screen on sleep screen and change to "Image")
- New widgets/built-in components
- (ID 16) Custom horizontal key pressure display
- (ID 17) Custom horizontal key pressure display (reversed)
- (ID 18) Keys per second counter
- (ID 19) Demoscene-ish plasma effect
- (ID 20) Keypad uptime
- (ID 21) All keys summed into one value (Key trigger is number of digits allowed in the string plus 4)
- Disable boot screen
- Custom fonts
You need a few things, but mostly the RISC-V toolchain and GNU Make
- Install Python3
- Install the RISC-V Toolchain
- Run
make
- Voliá, it will build, run pip, run the generate patch, and flash the device all in one go.
You have three options. All of then require you to place the firmware in firmware
- Use SayoDevice's offical firmware from their download CDN
- Use my upgrade.exe from tools/ and run
make flash
in the root of the source. - Option 2 but without GNU make. Run
tools\upgrade -r
.
Well, that mostly depends. It is using SayoDevices upgrade tool, but it's finky. You can try a few things
- Putting the device into bootloader mode by holding down the encoder knob for 2-3 seconds, going into Device -> Factory recovery and pressing "Jump to bootloader"
- Simply try again. Run the make command or upgrade command
- Using a different USB-C cable. The standard for USB-C is muddy, and not all cables work. However, this is highly unlikely and only works in some rare cases
Make a issue! I'm happy to troubleshoot things with you, but I'm not always free.
- You can also read through the rentry for the O3C