Funbox - Open Source Guitar Pedal Platform, Stereo, Expression, and MIDI

thanx for the reply! I’ll keep an eye on the github for updates or maybe do you have an old bin version that I can try? I’m very proud to be an early adopter of your project. The whole thing is awesome and your effect modules are top quality

1 Like

Yeah I’ll add to my to do list! Old bins won’t help, the other one I mentioned is for different hardware.

1 Like

Oh ok I thought the it was the opposite and the old version was the one from the video on yt before the migration to your other project… Anyways I have another Daisy i know it’s probably not an hardware issue but I’ll still build another funbox to run another effect module. It won’t hurt to try it on the new one to see how it behave

Thank you for making such a rad project and for making it open source at that!

Has anybody else manged to get this working with Max Msp Gen~ by any chance?
Using this .json file I was able to get the potentiometers, LEDs, and stomp switches to work, but am currently having trouble getting the toggle switches to recognize all three positions. Any help solving this final variable would be greatly appreciated!
FunBox.txt (1.9 KB)

So after two weeks of experimenting I finally got a .json file to work with the FunBox’s three way toggle switch system. Turns out I just had the pins offset by one on the .json file.

Here it is in-case anyone else runs into the same issue I did, along with a screenshot of the gen~ patch that worked for combining the two pins.

FunBox.txt (2.2 KB)

1 Like


I built 3 custom Funboxes all at once. :slight_smile:

A few months ago I used the Hothouse pedal to experiment with getting a good plate reverb + tremolo + delay in a single pedal so it’d fit on my simplified nearlly-fully-DIY pedalboard (Ditto+ and my PS). Once I realized it would work well, I drew up some designs for a custom-built enclosure and used the Funbox to build up a couple of different versions of the Flick.

Yesterday I got the code working on the Funbox so it’s fully working on my board now. The left foot switch toggles the reverb and the right foot switch toggles both delay and tremolo separately (single tap for delay, double-tap for tremolo).

I wanted to build this to compliment my amp that has no built-in tremolo or reverb and it is working great! It’s also inspired by the Strymon Flint, but with the added bonus of having a delay in there as well.

Eventually, as I get time to work more on the code, I’d like to use the DIP switches on the side to make it possible to support other types of reverbs. I also still need to add support for the expression pedal and midi.

Once I get the code cleaned up and fully working, I’ll get it posted in GitHub.

3 Likes

Can’t wait to try out the Flick code! They look really professional, the symbols on the toggle switches are a nice touch.

1 Like

Thanks! I’ve kinda got my code in a mixture of Hothouse + Funbox running on the Funbox hardware so I need to get that all cleaned up.

Couple things that I love about the Funbox hardware:

  1. Audio and DC jacks are out the top of the enclosure
  2. DC jack is offset up a little bit so my 90° cable end still has room to come from the bottom. Nice touch!

Question I had about the code. It looks like maybe your knobs are numbered Knob 1 (top left) and then Knob 2 (bottom left) and so on? The Hothouse has the knobs numbered 1 - 3 across the top and then 4 - 6 across the bottom, which is the convention my original code uses.

1 Like

@joulupukki No the knobs should be the same, 1-3 across the top and 4-6 on the second row. Are you seeing something different? The funbox.h enumerations might look a little convoluted but in the cpp file it should be normal.

Gotcha. When I first tried using the hothouse.cpp code, I modified the knob GPIOs to match what daisy_petal.cpp uses and it was a bit of mayhem with the knobs out of order. Then, I restored the Hothouse pinouts back to normal and my code works on the Funbox

Here’s the hothouse.cpp code:

// Knobs
constexpr Pin PIN_KNOB_1 = daisy::seed::D16;
constexpr Pin PIN_KNOB_2 = daisy::seed::D17;
constexpr Pin PIN_KNOB_3 = daisy::seed::D18;
constexpr Pin PIN_KNOB_4 = daisy::seed::D19;
constexpr Pin PIN_KNOB_5 = daisy::seed::D20;
constexpr Pin PIN_KNOB_6 = daisy::seed::D21;

Here’s the modded daisy_petal.cpp code:

// Knobs
constexpr Pin PIN_EXPRESSION = seed::D15;
constexpr Pin PIN_KNOB_1     = seed::D16;
constexpr Pin PIN_KNOB_2     = seed::D19;
constexpr Pin PIN_KNOB_3     = seed::D17;
constexpr Pin PIN_KNOB_4     = seed::D20;
constexpr Pin PIN_KNOB_5     = seed::D18;
constexpr Pin PIN_KNOB_6     = seed::D21;

…so I was confused why there’d be the difference.

The hothouse.cpp is GPLv3 but it does have a couple of nice things in there already:

  • Has a way to long-press the left foot switch button to go into program-dfu mode
  • Has a really easy way to read the current values of the knobs and switches
  • Handles double-press of a footswitch already

Drawbacks:

  • GPLv3
  • Doesn’t handle Expression or Midi

I’m just trying to figure out what’s going to be the best path forward for the Flick.

1 Like

I modded my branch of Funbox to add program-dfu mode as a menu item. I don’t have the code in front of me but I bet it would be straightforward to map it to a footswitch long press as well if you wanted to.

1 Like

I have a working prototype, but only by porting over hothouse.cpp to funbox_gpl.cpp in my branch (that supports program-dfu and the other things). That branch also supports being able to easily debug in VS Code. FunBox/software/Flick at joulupukki/add-flick · joulupukki/FunBox · GitHub

FYI, that hardware abstraction code (funbox_gpl.h/cpp) is GPL since it was ported from Hothouse.

Sorry to be responding to such an old thread, but I was wondering if this code ever got posted anywhere. I can’t seem to find a reference to it anywhere. I am just getting started with the Daisyseed stuff, and I built a terrarium and a hothouse. I would love to see the changes you made to the code to get the Funbox stuff running on other platforms.

Going to answer my own question here. After some extensive vibe coding, I have been able to get the Venus and Mars running on the Hothouse so far. Just got the Mars running this morning, definitely a fun pedal! I’m sure the code isn’t pretty, but it works.

Is there an assembly house that you have used in the past for Daisy Seed projects that you would recommend? Thanks!

Hi, I’m trying to clone the git to be able to build the funbox modules on my mac. I follow the instructions on GitHub - GuitarML/FunBox: Stereo guitar pedal platform using Daisy Seed. but the submodule cloning (git submodule update --init --recursive) fails since it cant find “eigen”. also on the github page the link to eigen does nothing. I dont know if I do something wrong or if the link is no longer valid.

How are you cloning it? works fine for me. As per the instructions in the readme:

:$ git clone https://github.com/GuitarML/FunBox.git
:$ cd FunBox/
:$ git submodule update --init --recursive

Since the eigen module is on gitlab, perhaps they had a little network hick-up when you were trying to download.

Yes, something with the network probably. Possibly because I was using a VPN, witch I forgot I was doing.

Anyway, today, after realizing I was on it and turning it of, I got the cloning to work, so..

I really cant tell if the problem was my VPN or a network hick-up, but it really doesn’t matter now that it is solved.

Thanks!

Hi Keith! Just checking if there’s an update on the Uranus glitches. I built a second funbox and the glitches are also there. It’s a really nice module but not too usable that way. I’m by no means a coder so really don’t know how to fix it myself but I’m available if I can help in any ways. I Also noticed the both daisyseeds get quite hot with this module (one is arm the other is the older processor) if that can help.