I went minimalist with my board and just use 6 buttons (4 selectable stomps and LEFT/RIGHT in a performance)
No room to use anything but a nano but I have a board that fits in the same case as my KPA and takes up very little room.
I went with the KPA sysex requests that transmits lots of info back to the board. After trying unsuccessfully to squeeze an LCD into my board I decided I didn't need all this overhead so went with very simple requests for stomp status which I update every second on a timer, or if I change any stomp.
Just in case anyone is looking for these streams, here they are:
-------
The first sends your pedal name to the KPA and displays "name connected". You can work out which characters to change for your pedal name by looking at the stream below.
byte SendPedalName[] = {
0xF0,0x00,0x20,0x33,0x02,0x7F,0x03,0x00,0x7F,0x7F,0x47,0x69,0x7A,
0x6D,0x6F,0x27,0x73,0x20,0x50,0x65,0x64,0x61,0x6C,0x62,0x6F,0x61,
0x72,0x64,0x20,0x00,0xF7};//Connect and display name on KPA
-------
The next one sends pretty much everything back to the board. I used this to get the current state of the KPA and then update info. It lasts about 5 or 6 seconds and then stops. Need to follow up before this happens with the "RequestUpdate" stream.
byte RequestAll[] = {
0xF0,0x00,0x20,0x33,0x02,0x7F,0x7E,0x00,0x40,0x01,0x37,0x04,0xF7};
-------
The third just requests a continual subset of the info sent by the request above. I sent this this stream every 5 seconds to keep it going, otherwise the connection is dropped.
byte RequestUpdate[] = {//Also disables active sense
0xF0,0x00,0x20,0x33,0x02,0x7F,0x7E,0x00,0x40,0x01,0x2e,0x04,0xF7};
-------
Some of the responses steams returned are understandable. Others I have NO idea what they are. That's why I gave up using these commands. There are other versions of these that do slightly different things but without more detailed info, couldn't work them out.
So now I just simply request stomp status and current slot name ...much simpler.
The ONLY things I cannot seem to get are current slot and current performance number (which are derived from the program number)...anyone know how to get this independently. (KPA sends program number if you uses the requests above, which I don't use anymore)
MODS, apologies if I am violating any rules with this..I saw other examples posted so assume it is OK