As you may or may not know, the Behringer FCB1010 is an awesome MIDI foot pedal board; with its 10 foot switches, 2 bank switches to rotate between 10 banks of presets (that an user can modify at will), 2 optical volume pedals (not the crappy potentiometer-and-gear things), and also two relays that can act as regular footswitches to control your gear that does not talk MIDI, all in a nice metal enclosure that can withstand a lot of abuse.
The only downside? It does not have a stompbox mode.
That is, you can program the device to send with one switch up to 5 CCs and 2 Note messages, but you can't toggle a CC or a Note. If, for example, I use a MIDI to USB converter to route the MIDI signals to my guitar amplifier and effects simulation software and I map one pedal to a distorsion effect, I would have to keep its associated pedal down as long as I need the distorsion. It's totally impractical and not natural.
There are solutions to this problem: you remove the internal EPROM that controls the thing and change it with a modified version that allows this and some other features.
But, I like to not change things that work pretty well, so I'm going to make this little board that will implement via software the missing functionality, without touching anything inside the FCB1010.
How? I will assign one note (note X) to each pedal, and I will let the MIDI to USB converter ignore every received Note X OFF message; then the converter will send a Note X ON message the first time it receives a Note X ON message, and will later send a Note X OFF message when it receives again a Note X ON message.
Easy as pie.
PLUS: I want to challenge myself to try and fit this thing in less than 1 KB of ROM; for this reason, I'm going to use the smallest USB enabled MCU I could think of, the ATmega8u2. If I will not be able to do so, well I will still have a neat board that will solve an issue I have anyway, so it's a win-win for me.