/uxn-dfu

Experiment to upload a uxn rom (over usb) to a raspberry pi pico using the dfu protocol

Primary LanguageCMIT LicenseMIT

Little experiment to upload a Uxn rom to a Raspberry Pi Pico microcontroller over USB, using the dfu protocol. It should be easily portable to other microcontrollers since it uses the tinyusb library. (supported MCUs here). Look at this commit if you want to do the same.

I have merged dfu example from tinyusb, and uxncli.

If you want to try it quickly

Download uxn-dfu.uf2 and console.rom in the release section. Flash uxn-dfu.uf2 on your Raspberry Pi Pico.

Take some time to appreciate the product name and manufacturer by doing :

sudo dmesg

screenshot of dmesg output showing product name and manufacturer

Then :

sudo apt install dfu-util
sudo dfu-util -d cafe -a 0 -D console.rom

Attach a serial to usb converter to the pico uart pins to be able to interact with the console device. (I don't know if it's possible to use dfu and serial over usb at the same time).

screenshot of picocom showing 'Hello Uxn!'

Building

Make sure you have installed the Raspberry Pi Pico sdk.

wget https://github.com/max22-/uxn-dfu
cd uxn-dfu
mkdir build
cd build
cmake ..
make

Warning

The uploaded rom is stored in the ram, not in flash memory. It would be also possible to dump the rom from the microcontroller, but i've not implemented it.