MicroDexed on Teensy4.0
After my last post about Dexed on the Teensy, I got an email telling me about MicroDexed.
These makers have already ported Dexed to the Teensy 4.0 and added a nice LCD based GUI to the software. They even have a custom PCB and a manual on how to build it. But I couldn’t find a schematic in their documentation. Undeterred, I read through the source code and reverse engineered the hardware based on the build manual and software source code. I already had most of the necessary parts so I ordered a Teensy 4.x audio shield and was able to get a working version of MicroDexed. I am impressed with the results, much better than what I have been able to acheive. Hats off to the folks at Parasitstudio.
There are a few caveats, that I’d like to share in case you want to take on this challenge yourself.
- My i2C LCD display was not compatible with the 3rd party LCD library that was provided so I rewrote the LCD library.
- The Code assumes you have a Teensy 3.x Audio board. The pins used to control the audio board are different between version 3.x and 4.x. I struggled with this for a while because the rotary encoder uses digital pin 8 which will collide with the Teensy 4.x audio board. It works fine with the Teensy 3.x audio board but you will have to remap it for the Teensy 4.x audio shield. I just used pin 9.
- There is quite a bit of latency due to the animated LCD display. In the video, you can see that when I disable the LCD display, the MIDI latency goes away. However, the code out of the box does not compile if ENABLE_LCD_UI is disabled. I had to expand the conditional compile directives to get the code to compile without errors.
A lot of information is available in the documentation and most of the important bits of code is in config.h.
When I first started out porting Dexed to the Raspberry Pi Pico, my goal was to attempt to create a DX clone for under $10. Although the Pico was only $5, all of the other parts pushed the BOM costs closer to $20 and I was ultimately only able to get 2 voice polyphony out of the prototype.
A Teensy 4.0 and 4.x audio shield will set you back about $35. Of course, like the Pico, you’ll need some power circuitry, an LCD, a couple rotary encoders, MIDI/Audio connectors and a case which will add to the cost. But MicroDexed is able to run 2 Dexed instances that each have 32 voice polyphony according to the source code. I have not confirmed the max polyphony, by the way. So if we allocate $20 for the rest of the circuitry, we could have 2 DX clones for a little over $50! If we consolidate 4 Teensy into a single project then it is conceivable to have TX816 clone for under $200!
As I only got the prototype working recently, I still need to play with the MicroDexed to look into all of the features. The MIDI implementation looks quite comprehensive. Given the success with MicroDexed on the Teensy, I may consolidate several to build a TX816 clone as well as connect it to the sequencer.