FCB1010 as Bass pedal

Chris Burns

I have been following this thread with anticipation since the question was first asked. I am glad that the community manged to come up with a solution. I have used the Bome Interface on a few occasions for trying to trap CC commands & SysEx from my Roland GR-55. I have planned to use my FCB1010 Uno to control the GR-55 as a fully adjustable parameter Stompbox…

I also use my FCB1010 Uno with my Yamaha Motif Rack ES & GI-20 Guitar Midi Synthesizer interface to play the motif notes from my Ibanez Bass. The Bome software was also used to route the array of USB & 5-Pin Midi connections.

Since then I have ditched using the Bome software and I now use an Iconnectivity Midio4+ for All of my midi merging & routing requirements. It has 4 * 5-pin Din IN/Out Ports, Connectivity for 3 Devices using USB and this doesn’t include the Computer which acts as the DAW Host. The Iconnectivity unit also has Midi over Ethernet RSe which opens up the Iconnectivity routing Midi over Ethernet providing Access to WiFi & Cabled Devices. The possibilities for connectivity just seem to be numerous!


I did initially try running midi mapping / routing software on both the PC & MAC software and although the Macbook Pro is lighter than my Windows Laptop it was still the hassle of taking a computer to practices & Gigs when I wasn’t using Sequencing or DAW capabilities only as a glorified router.

I just power-up the Iconnectivity and thats it! Midi Comms  Away.

I am liking the current track and thoughts of using an Arduino for routing as this should definitely scale down the size the solution and will be cheaper than the solution I opted to go with.

I am happy with my installation using the Iconnectivity but if searching for a home built cheaper solution its definitely a consideration



Any microcontroller with native USB functionality (USB on the chip) can do USB MIDI. This includes atmega32u4 based boards and many ARM boards, most of which can be programmed using the Arduino programming environment.  Several of Adafruit's Feather line of microcontroller boards have this (I think it's all of them, but I'm not sure).  I have the Feather 32u4 Bluefruit, and it does USB MIDI and Bluetooth MIDI just fine.  The Teensy line of Arduino 'compatible' (they can do SO much more than the Arduino..lol) microcontroller boards can also do USB MIDI, and they're a little cheaper, at least at the low end, than the Feathers.

If I recall correctly, the USB section has to be reprogrammed for USB MIDI, so after the first program upload to enable it, you lose the ability to program it via on board USB.  You'll need a separate USB to TTL serial board (commonly called FTDI after the chip used) to program it after that.  You can use the FTDI to put the original bootloader back, restoring the board to it's original function if needed.  But while you're debugging the USB MIDI part, it's probably better to just use the FTDI.  That's why I like the Bluetooth version - I can debug all the MIDI stuff over Bluetooth, then deal with USB MIDI last.


OK, now I see. The documentation is not clear about this. You really need the MIDI shield and an USB to MIDI cable in order to try the Arduino with SendSX. I doubt that you can directly connect the USB cable to the Arduino directly because you would need a driver for that, I guess, and there is no way of installing this on the Arduino, but I could be wrong.


No, I only tested the Bome Translator version. The Arduino version is not tested. I only compiled it on the Arduino IDE and it did without errors. It is just a port from my other version.

Since I don't have the MIDI shield, I couldn't test it. I finally decided to go for a Raspberry pi.

What you read on the documentation is just an idea on how to test it.

Jack Fenton

Did you say you tested it with Arduino without a MIDI shield using SendSX?


Hi Jack

Yes, it is on the files section of this group:

Best regards

Jack Fenton

Hi, Josef,

Do you have a link?



Dear all

I also uploaded a version for the Arduino of my Bome Translator project. So, you are free to try it. Please note that when I created this project, I was planning to buy a MIDI Shield for the Arduino; however, since I got a Raspberry Pi 4, I didn't buy that shield. So, the Arduino project is as it is and it may have some minor problems. So, try it at your own risk and keep in mind that I won't be able to debug it.

Best regards


The Bome Box is exactly this.  It was made to be a portable MIDI translator that doesn't need anything but power to work.  You program it the same way as Translator, using your computer.  Once that's done, you can let it run solo or keep a computer hooked up for modifications or VST plugins.  It's also a good bit more expensive.  :-(
Yes, the Bome Box looks good, but it is really too expensive. That's why I will do it with a Raspberry Pi, which is much cheaper. I even got a kit including the hosing for almost what you pay for one without.


On Fri, Nov 29, 2019 at 10:54 PM, Josef Albert Meile wrote:

There are in deed two things I disliked from Bome Translator:
  1. I always have to turn on my laptop, login into Windows/MAC, then start the software. For me, a standalone version, where I just have to power on would be much better. Then I don't need extra space for my laptop
The Bome Box is exactly this.  It was made to be a portable MIDI translator that doesn't need anything but power to work.  You program it the same way as Translator, using your computer.  Once that's done, you can let it run solo or keep a computer hooked up for modifications or VST plugins.  It's also a good bit more expensive.  :-(


Hi Steve

It is nice that you can use it. Anyway, I advice you to first try the trial version, which allows you to run it for 20 minutes without interruptions, then you will have to quit it and open it again for 20 minutes. If it is what you expect to be, then you can buy it.

There are in deed two things I disliked from Bome Translator:
  1. I always have to turn on my laptop, login into Windows/MAC, then start the software. For me, a standalone version, where I just have to power on would be much better. Then I don't need extra space for my laptop
  2. Bome Translator only allows to use two letter variable names. For me it would be better to have full names, then following the code would be easier.

Anyway, once you get the code working, I guess you don't need to follow what it does. I haven't tried it a lot, but it seems to work.

Anyway, I will migrate this to a standalone version with a Raspbery Pi 4 (https://www.raspberrypi.org/products/raspberry-pi-4-model-b), so, I don't have to turn on my laptop, login into Windows, and start the software. Eventually, I will use eventually the Raspberry for setting up any other MIDI devices I have, ie: sending some commands or even MIDI files. I'm planning to use an USB to MIDI cable I have.

Best regards

Steve Pettinger

Hi Josef,

Thanks very much for your work on this, as a FCB1010 newbie I can only take my hat off to you for coming up with something that can do this; after all playing chords from my feet while playing my bass is a dream come true!

I've not used BOME before so will be a steep learning curve for me, but given the "prize" I could happily spend the rest of my days working towards this :-)

Thanks again Josef




I just finished my project successfully. You will find it here:

It has some small documentation in case that it is useful for somebody. What I get working here:
  • Bass pedal playback
  • Programming and sending chords through the FCB1010
  • Optionally: chord playback. You may not want the chords to be played back
  • Chord auto detection (at least with my PSR-9000, but it may work for other keyboards)

It has some defaults that you can change inside the code and off course in the global config of your FCB1010
  • I'm using the default MIDI channel 1 for everything inside the FCB1010.
  • For transmitting the data to my keyboard, I'm using channels 4 (for the bass note) and 16 (for the chords)
  • I setup the controllers 14 and 15

This is a first version I did and I'm quite happy with it; however, I will perhaps use a more hardware oriented solution, ie: an Arduino with a MIDI shield. Since the logic is already there, it should be possible to easily migrate it.

Best regards



I didn't know that there were also local variables. I though all of them were global. Thanks for the hint.

Jack Fenton

You might want to review the Bome MIDI Translator manual regarding the difference between global and local variables. I can see at first glance that your project will not work as you are using local variables which will not be seen across translators.

Jack Fenton

Sounds good!


I put it here since I though somebody could be interested in testing it. Anyway, I will do it as you suggested since the problems that I'm having right now are related to Bome Translator.

Jack Fenton

This is all very interesting but appears to be more in the weeds of how Bome MIDI Translator works as opposed to how the FCB1010 works. Just a suggestion that this level of discussion may be more appropriate to the Bome Forum. Once you either get it working or not, then come back here to post your findings.


Dear all

thanks for all your suggestions. Some of them look interesting, but they are somehow expensive. So, I kept going on my approach with Bome Translator.

So, here I'm sending you the first draft of my translator. I haven't tested it yet, but I will do it soon. At first, I will test it without the FCB1010 as follows:
  1. Start the "Bome MIDI Translator PRO"
  2. Start the "Bome SendSX" software, a software for sending SysEx, then setup the MIDI Out to: "Bome MIDI Translator 1 Virtual Out" and Midi IN to "none"
  3. Start a sequencer software. In my case, I'm using "Yamaha XGWorks". Setup MIDI IN to: "Bome MIDI Translator 1" and disable MIDI OUT.
  4. Inside your sequencer, create a MIDI track on the MIDI channel you plan to use for the controller messages and then open the staff view and start recording
  5. Send the controllers and note messages from "Bome SendSX". The first message should be "FA" (Start)
If I get the chords as expected, then I will try the FCB1010.

If you want to try it, be aware that it may not work. Some stop conditions aren't yet defined.

Here is the hardware setup I'm planning to use:
  1. Route the FCB1010 MIDI Out directly to your computer either via USB cable or a MIDI switch. I have the Emagic Unitior8. So, the FCB1010 out, an USB cable (MIDI IN/OUT) that goes to my PC, and my keyboard (MIDI IN) are connected there.
  2. Route the MIDI Out of your USB MIDI cable to your keyboard MIDI IN. You can just connect directly your USB MIDI cable to the keyboard.
  3. On each Translator catching MIDI messages setup the incoming port of your MIDI Cable, on my case it is M-Audio UNO IN.
  4. On each Translator sending MIDI messages setup the outgoing port of your MIDI Cable.
  5. On the global configuration of the FCB1010, set the MIDI channel for CNT 1, CNT 2, and NOTE to the one you want to use in your keyboard. On my case, I will use channel 4 (Left voice). Alternatively, if you wish, you can just leave the global configuration as it is and setup the MIDI channel for all MIDI Out messages inside the MIDI Translator
  6. For each pedal of your FBC1010 setup this messages: CNT 1, CNT 2, and NOTE. The first two controller messages contain the statuses of your keys (see my previous messages); here I will use controllers 13 and 14, so, if you want to change them, then you will have to adjust the "Bome Translator" file. The note message is just the root note of your chord.

Now you are ready to go.

First at all, you should now that all messages are sent on this order by the FCB1010: PC1 PC2 PC3 PC4 CC1 CC2 PC5 NOTE ON AND OFF, see:

Forget about the following lines talking about the Bome Translator. I figured out that the logic of my solution was good, but the implementation was bad. Bome Translator has a nice feature called timers, which will save me to set a lot of unnecessary global variables

So, here how my translator is supposed to work:
  • Translators [0] and [1]: 17 global variables will be initialized when you click "Start or Stop rhythm" on your keyboard. Here I have two for the controller messages, one for the send note, one for its velocity, and one for its MIDI channel. All of them will be set to -1. Then the rest (12 in total) will be the notes of the chord I want to send. They will be set to 0 (zero)
  • Translator [2]: Catch CNT 1 message and set its value to a global variable. Then through Bitwise operations extract all the note statuses from C to F#
  • Translator [3]: Catch CNT 2 message and set its value to a global variable. Then through Bitwise operations extract all the note statuses from G to B
  • Translator [4]: Catch the Note On message and set the received note, its velocity, and MIDI channel to global variables
  • Translators [5] until [16]: for each note status check the following is true before sending them:
    • The CNT 1, CNT 2, note velocity, MIDI Channel, and note status values should be greater than 0 (zero)
    • The note status should be equal to 1, which means that it will be sent
  • If the previous conditions are true, then set the note status to 2 and send the respective Note On, event, ie: C, C#, D, etc. Note: setting the value to 2, will avoid sending the note on multiple times.
  • Translator [17]: Catch the Note Off message.
    • Here I will use the global variables for note and MIDI channel to make sure that it is the same note that was previously sent.
    • Then I will increase by 1 all note statuses. This will prevent that the note off are not sent several times.
  • Translators [18] until [29]: here I will sent each note status only if:
    • The note MIDI Channel, and velocity values are not -1
    • The note status is equal to 3
    • After having done this, the note status will be set to 0 (zero) and the CNT values to -1
    • Finally the note off will be sent

I will try this perhaps during the weekend.

I'm not a Bome Translator expert, so, I guess there are some things that could be done different. For example, I would like to know if it is possible to initialize global variables without having to catch a MIDI message. It is possible to define a "none" MIDI message, but what I haven't seen is how to disable that translator once it gets executed. That's why I rely on rhythm start and stop.

Please also note that I'm always sending the same notes: from 0 (C-1) until 11 (B-1). I could indeed calculate the octave of the note sent with "Note on", but at first I will keep this simple. If it works, then I will calculate that and set a global variable.

Best regards


Hi all, thank you for all the effort to let this group live further.

I don’t use my fcb1010 that much anymore, instead the KMI pedal, which is much lighter. It’s sturdy enough for the locations I play…

But still like the fcb with it’s 2 pedals and flexibility. And this group J !


One idea though for midi routing without PC or Mac: The midi hub https://blokas.io/midihub/ is a box for midi routing, processing and translation. It can be tweaked with an editor software and then works standalone. It’s seems to be unavailable at the moment, just to let you know … I ordered one with their campaign – I don’t trust my old notebook for concert use.


Also their MOD Duo emulation on Raspberry PI looks interesting as a virtual FX board. https://blokas.io/modep/

Maybe this inspires someone from the no-PC fraction….



Von: main@fcb1010.groups.io [mailto:main@fcb1010.groups.io] Im Auftrag von John Abrams
Gesendet: Dienstag, 19. November 2019 19:45
An: main@fcb1010.groups.io
Betreff: Re: [fcb1010] FCB1010 as Bass pedal


If you have a computer, why not try https://www.jamorigin.com/products/midi-bass/  They give a free trial.  I've gotten rid of all my midi hardware except for the pedals which I hook up directly to the PC. 

On 11/19/2019 8:05 AM, Josef Albert Meile wrote:

Thanks chrisw_63 for your answers

Anyway, I guess that if I only connect the FCB1010 to my computer, which will do the postprocess and send the notes to the keyboard, then I shouldn't have any problem with the compatibility. I have an Emagic Unitor 8, so, I can route the devices easily.

Regarding Bome Translator: yes, that's the setup I'm testing now. The closest I got without using anything was sending "Note" messages; the keyboard detected the chords, but unfortunately this will only work for Mayor chords :-(

Best regards