- Funny music code
- Firmware used (in case of updates)
- To access firmware: hold down bottom right button when plugging into USB - a drive with a UF2 file should appear
- Use uf2conv (also needs this json file in the same folder)
python3 uf2conv.py DC29Human3.UF2
-> dump firmwarepython3 uf2conv.py flash.bin -o NEW.UF2
-> create new firmware- To reflash firmware: drag your new UF2 file back into the drive and it should automatically reboot
clang -O2 -nostdlib -mthumb --target=armv6-none-eabi music.c
-> compile to elf- If you are on MacOS: use homebrew to install a full clang build (
brew install llvm
) as lld isn't a thing on the default clang for some fucking reason
- If you are on MacOS: use homebrew to install a full clang build (
llvm-objcopy --dump-section .text=target.bin a.out
-> dump text section (should just be _start) to bin
- Open
target.bin
andflash.bin
in a hex editor - Overwrite post-initialization main function in
flash.bin
withtarget.bin
contents (file offset0x1E8
) with your favorite hex editor of choice (make sure you overwrite bytes, not insert new ones) - Reflash over to the device
- Press buttons and have fun!