Close

The Firmware

A project log for BassMate

A 4-channel drum machine for easy-to-use rhythm backing. Good for bass practice. With blinkenlights!

ukmakerukmaker 12/18/2022 at 18:100 Comments

It's messy and grubby I'm afraid. 

A few years ago I created an MBED library called SimpleGUI to help me build the UI for a project using a Nucleo board. Let's be honest, it never really worked. Anyway, I needed a GUI for this project so obviously I resurrected the code, ported it to Arduino and made it work.

I also needed to get more performance out of the Adafruit libraries so I could update the screen without (too much) flashing. The led me to do two things:

 - extract font rendering from the base class of all LCDs and put it in a pluggable FontRender class which actually has a few implementations depending on which font is being used

 - do some extra tweaking so I could feed bits over SPI to the LCD using DMA.

So you'll find a bunch of my libraries as git submodules when you clone the repo. I'll be fixing this at some point with correct PlatformIO lib references and versioned releases in GitHub.

There are also custom OpenSCAD libraries to help with the box design.

Discussions