I've spent a good amount of time since the last update improving the JamPi to the point where I can take it on stage and be reasonably confident it's going to work properly. This includes:
- Coding a smooth interface for the buttons and LCD
- Deciding on a logical format to store patches as YAML
- Debugging to make sure there aren't too many crashes when I'm playing live
- Making sure there is always a way to get an ssh so I can make changes/debug if things go bad without taking the thing apart
- Making it look nice (i.e. painting the box).

The interface usually seems to start up less than 10 seconds after powering on. Tapping the stompbuttons scrolls through the patches defined in the config file. Holding a button for ~2 seconds opens a menu that allows updating/saving patches, connecting midi controllers, turning wifi on/off, and safely shutting the Pi down. The config file allows the user to set both global and per-patch settings for soundfont -> channel assignments, fluidsynth settings, and MIDI router rules.
Wifi access is important, because if I can't ssh into the Pi to fix bugs I have to open the box, remove the Pi, and connect it to a screen and keyboard. At home the Pi will always connect to my home network. Elsewhere, I had the Pi set itself as a wireless access point on boot, if my home network wasn't available. This turned out to be a bit unreliable, and perhaps a bit insecure, so I decided that a better move was to create a hotspot on my phone or laptop, and set up the Pi to connect to that when available.
I'm seeing more potential in this project than when I started it. It's not just a little sound module I can change presets on with my feet - it's sort of like the "brain" of a ROMpler synth that I can tweak the interface for as I desire. I could eventually add things like the ability to play MIDI files or loop notes, and I can mess with things like the network and MIDI configuration to make that work the way I want too.