Documentation for the OWL family of devices.
At least it’s worth trying! Axowl is a port of OWL/OpenWare firmware to Axoloti hardware. Axocontrol support is included.
Axowl bootloader should be usable with a bare Axoloti board. A copy of Axowl firmware with simplified version of UI could be made to use it with only MIDI control. The same is true about custom controller boards.
It is not, so use at your own risk.
Everything works!
Upstream OWL firmware doesn’t support it, but conveniently its resources API is abstract enough to use SD card instead of flash as a fallback option. This means that patches would be compatible with upstream firmware.
Currently resources can be accessed only from C++ or from FAUST using its soundfiles API.
SD card must be formatted in FAT32 (exFAT is not supported) and contain OWL/storage/
directory that would be used for loading files. So loading a resource named foo.wav
would read the file from OWL/storage/foo.wav
unless resource with foo.wav
name is found on flash.
Restart is required if you don’t insert card when device boots or remove it later. In addition to that, it’s not recommended to keep a card that uses resources in the first patch slot as that seems to cause occasional firmware hangs if SD card is not inserted.
USB device on OWL is configured as a composite audio + MIDI device. USB audio is generating 2 channels that contain patch output and 2 channels that are sent to patch input.
USB host in OWL currently doesn’t handle reconnect correctly, this issue is waiting to be resolved in upstream firmware.
Bootloader uses 64 kb of flash. Firmware takes next 320 kb. Remaining 640 kb are available for user patches and resources.
As for memory, firmware uses first 48kb of SRAM. Patch code is loaded to SRAM and can use up to 144 kb of SRAM, unused memory would be available as dynamically allocated memory when patch runs along with 64 kb CCMRAM and 8 Mb of SDRAM.
Install the OWL bootloader (MidiBoot-Axoloti.bin file) in DFU mode. DFU mode is entered by pressing the tiny S1 switch when device is booting. After that you can use dfu-util or WebDFU to flash bootloader binary to address 0x08000000
After flashing bootloader and rebooting you should be able to see a new USB MIDI device name named OWL-BOOT
Flash firmware by playing MIDI SySex file (Axoloti.syx). Specific utility to play MIDI depends on OS used (i.e. amidi on Linux), but you can use official Rebel Technology flash page in Chromium-based browsers.
Wait for device LED to stop flashing (firmware flashing generally takes 5-10 seconds)
It’s recommended to erase patch storage, especially if you’re flashing Axowl for the first time. This can be done using OpenWare tool.
If all went well, you should end up with a working firmware after rebooting Axoloti. MIDI USB device name would change to OWL-AXOLOTI
STM32F4 bootloader is not fully compliant to DFU standard and that confuses some versions of dfu-util and other clients. The error message typically tries to tell you that it can’t get memory map from device. It’s recommended to use newer version of dfu-util that resolves that.
An alternative solution is to use original Axoloti patcher. It’s possible to replace the firmware/build/axoloti.bin
with Axowl bootloader and it would happily flash it.
In github repo
MidiBoot-Axoloti-*.bin is the bootloader file. There’s also a sysex version which can be used to flash bootloader when firmware is running.
Axoloti-*.syx is firmware binary converted to SySex format.
You will need to use the following branches from Github:
There’s nothing preventing you from going flashing original Axoloti bootloader in DFU mode and then the old firmware
You can use the upstream OwlProgram repo to build patches locally or do it online in the web patcher page. Existing patch binaries in web patcher are expected to work as is, however note that there’s no guarantee that patch was written with exactly the same controls in mind (i.e. could require more inputs or generate CV outputs).
OWL docs fully apply and should be used as a reference for writing patches.
OWL firmware supports using up to 40 parameters. The following mappings to hardware are used on Axoloti with Axocontrol:
This is the full list of parameter names and MIDI info.
Switches S1/S2 are used for selecting patches. There are 2 ways to do it:
A single click loads previous or next patch when button is released
Keeping a button pressed and clicking the opposite button allows you to select previous/next patch that only gets loaded when first button is released. You can press the second button multiple times, thus you can skip patches instead of loading them one by one.
When you’re in this patch selection mode, LEDs are used to display currently selected patch number as binary numbers. Patch number is displayed with most significant bit on the left (LED for button 4). For example patch number 3 is displayed as two unlit LEDs followed by 2 lit LEDs.
This port should be discussed on Axoloti forum in Axowl announcement thread.
Questions about writing patches (unrelated to Axowl) can be asked on RebelTech forum (and might be answered already, use the search function).
See upstream info
Initial release