Hi, I figure this would be as good as a place as any to post since Dave Smith is considered the father of MIDI.
Ive made a thing I'm calling MIDI Goblin.

It's a small, device with a little oled screen that allows users to save patches for user defined devices....meaning it can save patches for any synth that can transmit midi cc/nrpn messeges. Kind of like a really flexable hardware patch librarian.
You can also use it to name patches saved on your patch banks, then load them by name in any order....I think this is one of the most important features and intentionally made a demonstration video of this feature using an OB-6(seemed appropriate)
https://youtu.be/b2mmXqm7EgM?si=TNQ3wCG8QDNTiqqNIt also has an arpeggiator function for synths that lack arpeggiators but can transmit midi note on/off messeges.
https://youtu.be/o3MECXg4egk?si=Ur0VB9gb7m4gNb11 a chord generator that automatically plays major or minor chords and if you have extra voices, you can play over top of the chord. kind of fun!
https://youtu.be/ilWWinG82Yw?si=e0Ie0PGd34oWyhWKThere's also a MIDI CC lfo, that can emulate multiple waveforms (though i think the code for the sin and tri waves needs to be re-worked...they sound very similar)
https://youtu.be/kYRZSHwCrT0?si=HpW0ADRefpC0dm-jYou can remap MIDI CC messeges. This could be really handy for old midi controllers...Also it allows you to remap your synths midi cc values so you can program one synth with another (and the MIDI Goblin can save the patch data as well)
https://youtu.be/1MoVUvOhgV8?si=aqw6_IIGvKcXENxqIt also has a scale thinger... its really fun sounding. press a note, a major or minor chord is played as an arpeggio
https://youtu.be/DGx0Gfwqn6E?si=jtxB9SAFH58b40KFAnd it has a 32 step sequencer...suprisingly it was the easiest thing to program.
https://youtu.be/IesrHsNHoCQ?si=wTw4HIp9cpQi6i-vThe MIDI Goblin can be programmed using the Arduino IDE so if you want to use it for something entirely different its a pretty useful prototyping tool and I'm going to make the source code openly available too.
I think a lot of the features on the software side are handy. It does some stuff for assembling NRPN messages while filtering out message fragments that I'm pretty proud of.