EXAMPLE Developing a custom pcb for Daisy Seed - Funbox

keyth72

Active member
Usually when I set out to make a new guitar effect "thing", I develop it in a vacuum until I think it's ready, and then I'll share the finished product. This time, I thought it would be fun to document the development process, and bounce ideas off the community.

These are the current goals/parameters for the project:

- Daisy Seed based 125B pedal to have as a base platform for multi-effect modules, and testing new DSP ideas
- Stereo in/out
- Midi in/out (mini trs) OR Midi In / Expression In
- Controls: 6 knobs, three 3-way switches, two footswitches, optional outboard dip switches (think Chase Bliss or Walrus Audio Mako control layout)
- Through hole parts (no SMD)
- As cheap as possible for hobbyists to build a single unit, and using widely available parts
- KiCad for pcb design, 2 layer board
- Tayda drill template for enclosure
- Will be using c++ for software development
- Relay bypass is desired, but for me, not necessary (I think this would take either a larger enclosure, or separate board, based on the layout I currently have due to space)
^^^ maybe an option to swap midi in/out for relay bypass using different versions of the pcb?
- Include the low pass filter fix for potential Daisy Seed rev 7 noise
- Adobe Illustrator template for Tayda UV printing, optional


I currently have a version 1 pcb on order from OSHpark, with everything except midi in/out. If this build goes well, I'll add midi and any other features /lessons learned. Planning on setting up a public Github repo and adding to it as I verify things work. PCB design is fairly new to me, so layout advice is appreciated.

I was also thinking people might want to know how to set up the code to use different I/O pins on the Daisy Seed. Normally I just modify libdaisy's "daisy_petal" class, then have a header file as an abstraction to make it easier to understand (similar to the terrarium.h file). I can share some examples if so.

Oh yeah, and I'm calling it "Funbox". I had some cool names like "Nebulae" or "Cerebrum" in mind, but guys, I just gotta go with Funbox.

My version 1 PCB and Tayda order should arrive in a few weeks, will post updates here. Here is the OSHpark render of my current board:

1715199250984.png

As you can see, the placement of the Daisy Seed and potentiometers are approximately the same as Terrarium, but to help with space for the TL074 I turned the switches sideways. 2 button right-angle dipswitch is on the lower left. I think by expanding the board on the top there's room for MIDI in/out, or possibly relay bypass. I measured about a centimeter of leeway in my Terrarium build before running into the audio in/out jacks.

__________________________________________________________________________________________________________

I'll just edit the post so that updates remain at the top of the thread:
5/15/24

PCB and Enclosure came in the mail on the same day.. what luck! Built, tested, works. I'll need to make some minor adjustments to the drill template for the Daisy Seed USB port and the dip switches. I also might look into a sturdier part for the dip switch. If anyone has experience using dip switch arrays, I'd be curious how it turned out, and what part/manufacturer you went with.

1715781541228.jpeg
1715781592599.jpeg
1715781624288.jpeg

Next on the list: test some real effects on it, right now I just tried a few simple things to verify all the controls respond as expected, and that stereo processing works. And then for the next board, add MIDI and Expression via two mini TRS jacks.

______________________________________________________________________________________________________________________
Update: 5/31/2024

The Funbox repo is now public! Still lots of work to do but here it is in case anyone wants to follow it's development.

https://github.com/GuitarML/FunBox

At this point in time the version 1 board (stereo) has been thoroughly tested, and I have a handful of pedal software modules for it at various stages of development. All of them will build and run on the Daisy Seed, but I am currently tweaking them and adding features. Video demos to come.

I have the version 3 board (adds midi and expression) and I'm waiting on a Tayda order to build and test it.

That's all for now.

______________________________________________________________________________________________________________________
Update: 6/11/2024

I have built the version 3 Funbox, and there were a few hiccups but it mostly works. This version adds expression and midi inputs from two 1/8" TRS jacks on either side of the pedal. It also uses a 4 count dip switch instead of a 2 count.

The first issue was mechanical. I currently have the 1/8" trs jacks and dip switch array protruding out of the holes of the enclosure slightly. I imagined being able to finagle them into the enclosure, but once I soldered the knobs on the board this idea didn't work! I had to file down the outside plastic of the trs jacks to be flush with the inside of the enclosure, as well as bend the dip switch array in somewhat, to fit the soldered pcb into the enclosure. In a future revision of the v3 board I plan on pulling these inward a millimeter or two so that this is not an issue.

Midi input has been tested, and it works!

The second issue is in the expression input circuit. I followed the Electrosmith "Daisy Petal" schematic (except I used a TL072 op amp instead of an OPA), but I'm having an issue with one side of the dual op amp output. An expression pedal is simply a voltage divider (normal potentiometer), but I think the idea of using a dual op amp with unity gain is to isolate the Daisy Seed if you accidently put something with a voltage on it, like CV. One op amp is on the 3.3V reference voltage from the Daisy Seed, and the other op amp is on the return voltage from the potentiometer in the expression pedal, which then goes into the ADC input on the Daisy Seed like any other knob control.

In measuring the voltages from the TL072 the output of the second op amp is giving me weird results, it should be 0v to 3.3v as you move the expression, but I'm reading a range of 4v to 1v, then back up to 4v as the expression pedal is moved. I tried a second TL072 op amp with the same results. The voltage coming out of the expression pedal is correct, 0 to 3.3v, but once it goes through the second unity op amp something weird is happening. The TL072 is powered by 5v as shown in the Electrosmith schematic, which I'll link here:


The good news is, if I bypass the op amps and jumper the pins so that the expression pedal acts as a direct potentiometer (no intermediate op amps) then it works as expected!

Here is the pedal (as you can see in the gut shot, the TL072 for the expression circuit at the top has been removed):
thumbnail_IMG_8820.jpg
thumbnail_IMG_8821.jpg

I've tested out some of my software modules and the existing stuff works, so at least I didn't break anything going from version 1 to version 3 of the board! Just need to figure out what's going on with the expression circuit, and adjust the positioning of the 1/8" jacks and dip switch so that it's easier to install into the enclosure.

Edit: I think the TL072 was not the right choice for the expression pedal op amp, the op amp electrosmith used is classified as a "rail to rail", where the TL072 isn't. I'm going to try a different dual op amp, an MCP6002, in it's place and see if that works.
_____________________________________
6/14/24
Yes! MCP6002 was the correct part to use, expression works as designed now. Will update the v3 board in the GitHub repo. After a little more learning about op amps, I think what was happening with the TL072 was something called “phase inversion”, where the voltage was outside of the specification, or too close to the lower rail of 0v/ground. TL072 can’t go below around the lower rail+1v or so, so this phase inversion was happening as the expression pedal was pressed. The MCP6002 is a rail to rail op amp, so it can go the range of what’s powering the chip, in this case 0v to 5v.
_____________________________________
6/15/24
GitHub repo has been updated, I also moved a couple of components around to make the layout a little cleaner, and pulled the 1/8 jacks and dip switches inward to make install easier. Will order the new version (3.1) soon and test. Now for the fun part (at least to me), writing effect code and making demos!
_____________________________________

Here’s a short demo of my expression code:


This is using the “Mars” module from the code on GitHub, which is an amp sim (neural model + IR) with a multi mode delay. What you hear in the video is the klon model, with IR off since I’m running through my amp, and dotted 8th delay mode, with the delay time, tone, and volume being modulated by the expression pedal.

_____________________________________
7/13/24

After some testing with different op amps for the audio buffers, I’ve updated the board to use the MCP6024 quad op amp instead of the TL074. This was done to reduce noise. The pinout is exactly the same, so the only real change is the part label on the board. This change is reflected in version 3.2 and has been updated in the GitHub repo.

The part I’m using can be found here:
 
Last edited:
This sounds so cool.
I received my Funbox pcb's yesterday. I am just waiting for some other parts to arrive so that I can build one. Thank you for sharing all of this.
 
This sounds so cool.
I received my Funbox pcb's yesterday. I am just waiting for some other parts to arrive so that I can build one. Thank you for sharing all of this.
Oh awesome! What manufacturer did you go with? Let me know if you have any questions, you are the first person I know of that has started building one. I recently made a build guide that might be helpful if you haven't seen it:
 
Is v3.1 (latest rev?) currently on github?
Will be using jlcpcb.
Is a pdf for front panel available?
Online ai file viewers result in error when converting.
 
Is v3.1 (latest rev?) currently on github?
Will be using jlcpcb.
Is a pdf for front panel available?
Online ai file viewers result in error when converting.
Yes, v3.1 on Github is the latest. I don't have a pdf of the Adobe Illustrator file, but I can create one. It's just a template with the hole locations and placeholder text like "knob 1", "knob 2", etc. Do you just want a reference or are you looking for something to submit to Tayda for UV printing? What I have in the "graphics" folder is intended to be modified before doing a UV print.
 
Man, this sounds phenomenal.
If I had the time, I'd love to dive into the daisy environment. Are you developing your dsp in C, or Max or?
 
Yes, v3.1 on Github is the latest. I don't have a pdf of the Adobe Illustrator file, but I can create one. It's just a template with the hole locations and placeholder text like "knob 1", "knob 2", etc. Do you just want a reference or are you looking for something to submit to Tayda for UV printing? What I have in the "graphics" folder is intended to be modified before doing a UV print.
Got it: just realized each 'planet' has a different set of labels, for the knobs/switches...
 
Oh awesome! What manufacturer did you go with? Let me know if you have any questions, you are the first person I know of that has started building one. I recently made a build guide that might be helpful if you haven't seen it:

I went with Oshpark. It was simple enough to upload the KiCad project and have them make 3 copies.
The build guide is a great write-up! I appreciate the work that went into that as well!

I am excited to build this and probably end up building a few. The Planet series looks really cool. I have been wanting a DIY looper and Pluto looks great. That will be the first one I try.

Again, as a hack with little to no coding skills, I appreciate your work and your willingness to share!
 
Man, this sounds phenomenal.
If I had the time, I'd love to dive into the daisy environment. Are you developing your dsp in C, or Max or?
Thanks! I use c++. Highly recommend the daisy environment, the DaisySP library has alot of tools and effects to build from.
 
I have an update regarding the quad op amp used in Funbox, the TL074. I made another Funbox v3 using a pcbway board, (my first had been an Oshpark board) and found I was getting a hissing noise only on the right audio output. It wasn’t too loud, but loud enough to be a nuisance. I measured at the daisy seed pin and the noise wasn’t there, so it seemed to be happening at the output buffer stage. Left channel sounded normal. The weird thing was that moving the toggles around would occasionally eliminate the noise, but would come back on moving a toggle again. I couldn’t find a pattern to it, and it didn’t matter which module I had loaded or if the effect was bypassed, I would get this same behavior.

I decided to try some different quad op amps. Out of 4 different ones that I ordered there was one that completely eliminated the noise in the right channel and seemed to reduce the noise floor overall when compared with the TL074, and that was the MCP6024. This was what I ordered:

https://www.digikey.com/en/products/detail/microchip-technology/MCP6024-E-P/683229

It’s more expensive than the TL074, but worth it in my opinion. I plan on doing more testing and will probably revise the KiCad and parts list to use the MCP6024 (would just be a labeling change, the pinout is the same). I’m recommending anyone building a Funbox to go ahead and get the MCP6024.

@crashguitar I’d be curious to know if you have any issues with the TL074, but you may want to go ahead and get a MCP6024.
 
I am still waiting for some parts to arrive for my build. I have several TL074 on hand that I am planning to use. I will try them and let you know what I get. If I get the same noise, I will report it here.

Thanks for the update. Sorry that it is taking a while for me to build. I missed a few things in my order so I had to place another order. :(
 
I haven't seen the current schematic but figured I'd bloviate none the less.
I have read of some people getting wide band oscilation in circuit from their L7805. May be worth probing to see if it's lee hing into the audio. May e even jumper out the seed?
 
I haven't seen the current schematic but figured I'd bloviate none the less.
I have read of some people getting wide band oscilation in circuit from their L7805. May be worth probing to see if it's lee hing into the audio. May e even jumper out the seed?
Probably a good idea to look into that, thanks! I know in the Daisy Petal schematic Electrosmith has a more complex circuit in their power supply, I think they have said it was to provide “clean power”.
 
I am still waiting for some parts to arrive for my build. I have several TL074 on hand that I am planning to use. I will try them and let you know what I get. If I get the same noise, I will report it here.

Thanks for the update. Sorry that it is taking a while for me to build. I missed a few things in my order so I had to place another order. :(
Been there! And no worries, hope the build goes smoothly!
 
After some further testing with the MCP6024 quad op amp, I'm really pleased with the (lack of) noise level, compared with the TL074. I know noise has been an ongoing issue with the Daisy Seed in a buffered guitar pedal, especially with the rev 7. I'd be curious if the dual op amp version (MCP6022) lends any improvement for the Terrarium. @Robert

I'm mostly shooting in the dark, but a couple of things in the spec stand out from the TL072/TL074:
MCP6024 is rail to rail, and has a lower voltage range (2.5V to 5.5V). This lower voltage range would not do well for an analog pedal (much less headroom), but it works great for the Daisy Seed and it's lower input audio voltage requirements. Gain bandwidth (10MHz vs 5.5MHz) and Slew Rate (7V/µs vs 13V/µs) are significantly different, but I don't know what that means. Also, I noticed on the TL074, the minimum Voltage Supply Span is 10v according to the spec on the Digikey page. I'm only providing 5v power in the Funbox, so possibly I was using it out of spec? Assuming that means what I think it means.

I've tried the MCP6024 in the Funbox with a variety of outputs, going into a tube amp, into an audio interface, and directly into headphones, and all are very quiet in terms of noise.

Some of the other op amps I tried and their perceived results:

MCP6004: Same noise issue/level as TL074
MCP6274: Same noise issue/level as TL074
LM324AN: Much worse noise than TL074

Note that I'm not saying these are "bad" op amps, I'm only saying that in this particular circuit, in the Funbox, this is the result I got. I'm sure there's a logical reason for each of these results, but my electronics/op amp knowledge it too limited to understand why. Any expertise from anyone on the topic of op amps would be greatly appreciated!
 
Back
Top