Using a foot pedal

I am looking to connecting a foot pedal to my PI.

I am wanting to use the LV2 plug-ins with my PI/PISound live, as a digital guitar effects unit. The missing piece is a pedal.

I see there have been some users here using FCB1010 foot controller w/EurekePROM chip upgrade (My First Loop (inspired by Reinhardt Buhr) (made with Pisound + Modep + Sooper Looper))… Also I found this:

Is any body here using either of these, or some other solution, to control a mod-host?

I thoughtg a USB pedal would be the answer but it is not that simple. Using USB pedals (that are effectively USB key boards with a few keys) it is not trivial with a headless set up.

If you feel like going for a DIY solution, I’d recommend this wonderful project:

I made one for a friend and it’s really cool.

Ask and ye shall receive.

I have cracked reading keypresses from the cheap ($30) three pedal usb keyboard thing…

Stripped of error checking, includes, and such cruft here is how: Three steps:

  1. Wait for a event on the input file handle select
  2. Check what key has been pressed ioctl/EVIOCGKEY
  3. Consume all the data ready to be read from the file handle so next time around the loop select can do its thing.

So simple once you know how…

fd_set rfds;
struct timeval tv;
int retval, res, fd;
unsigned buff_size = 1024;
char buf[buff_size];
unsigned yalv;
uint8_t key_b[KEY_MAX/8 + 1];
fd = open("/dev/input/event0", O_RDONLY);
last_yalv = 0;

  // Wait for something to happen on the file                                                                                                                            
  FD_SET(fd, &rfds);
  retval = select(fd+1, &rfds, NULL, NULL, &tv);

  // What key was activated?                                                                                                                                             
  memset(key_b, 0, sizeof(key_b));
  if(ioctl(fd, EVIOCGKEY(sizeof(key_b)), key_b) == -1){
    printf("IOCTL Error %s\n", strerror(errno));
    return -1;
  for (yalv = 0; yalv < KEY_MAX; yalv++) {
    if (test_bit(yalv, key_b)) {
      printf("  This is the key 0x%02x\n", yalv);
  /* Consume what can be read from fd */
  res = read(fd, &buf, buff_size);
1 Like

If you just want a straightforward wired midi pedal, then I would recommend something like a Tech21 Mongoose. I’ve had great success using it’s predecessor (Midimoose) for live gigs with both a laptop with a USB-Midi cable running guitarix, and a PiSound+pi3 running MODEP.

I got my Midimoose secondhand over 10 years ago, but if I were looking for a solution now I would definitely go DIY with the PedalinoMini project - it looks far more versatile and way cooler!

1 Like

I´m using FCB1010 + Eurekaprom.
Works 100%, but I´ve expected more from eureka (any function to any control any time…).
Anyway, FCB1010 worth the investment.

My setup:

RPi 3b
Raspbian Buster Lite (1)
Arduino Leonardo (for LCD)
LCD 16x2
Audio Injector Stereo
Eurekaprom 3.2

(1) lots of customization made by Python.
(2) There exists a 2nd boot option to start Guitarix instead of MODEP, just in case…

I do not know what Eurekaprom is. I am seeing it a lot in connection to FCB1010.

How does the FCB1010 talk to Midep? Midi?

Eurekaprom is a chip with alternative firmware to FCB1010.
The standard firmware is considered limited and buggy, so some people had made custom firmwares and sold them.
And yes, FCB talks to RPi by MIDI over USB, and then Modep (you will need a proper cable/adapter).