Hi everyone, if you don’t know me, I’m Tyler, I just launched my company Alright Devices with a eurorack delay module called Chronoblob.
When I was developing the firmware for the module, I wanted to include an audio bootloader to make updates super easy like MI modules (<3) so I ended up just porting Olivier’s code to work with the MCU I was developing on, a “Tiva” class Cortex-M4 chip from TI.
One thing you could add (if it’s not already too late) is a software gain control using one of the module’s pots. There’s a bit of scaling/shifting required because the bootloader was originally written for Braids which reads 12-bit, right-aligned values from the external world.
By the way, how do the TM4C12x compare to the STM32F4?
I can’t remember what exactly I did, but I’m pretty sure I made some changes to the Demodulator module to account for the 16bit values coming from the codec. But the result is that it works really well over a pretty wide range of volume levels.
I bought the discovery board like a year ago or sth but never got around to fuxing with it, so I can’t really compare it to TM4C. I do know that the STM chips have I2S though, that would have been nice instead of faking it with SSI (and being limited to mono). I like the tiva chips though because of the tivaware libraries. It speeds up development so much, and most of the lib functions are actually on the chip’s rom, so you can call the functions from there and save lots of flash space. My current firmware audio file is only 25 seconds
@float32 welcome! Good to see you giving back to the MI community. Chronoblob looks great, too. I dithered too long ordering one, and they’d all sold out, but I’ll definitely be getting one from a future batch.
Out of curiosity, are you using SPI serial SRAM? I figured out this is what you would be using because the board is too small for a bigger parallel RAM chip.
There’s a TI app note describing how to stereo with I2S two SSIs and an external inverter to make an LR signal, AFAIR.
The TI docs are a lot better than the ST ones IME. At least I found it easier to find my way around the datasheets and reference manuals. Also, the pinmuxing made more sense. Unfortunately, I didn’t have as much success with OpenOCD, GDB and the debug hardware on the Tiva Launchpad I got, so I never managed to do much with it…