OK…
Took a while to find some time for this…
PCB is here and working. Some minor issues in the pins I selected for the ESP32 that cannot be used as GPIOs so I managed to re-route some lines and just give up a few options I had in mind.
Other that that, it looks like things are working OK: analog in/out buffers, aux path, encoder (assembled just one for now), bluetooth from ESP32 to PCM5102 DAC, 2" LCD, headphones amp, and for now I just have the Daisy programmed with bypass to check the signal path.
I will need to reroute the leds, other encoders, and setup the I2C connection between ESP and Daisy, check SD card and expression pedal interface.
But I would say it’s pretty good for first pass.
I used enclosure upside down because I plan to use a plastic cover with some spacers maybe cause things are really tight in there…
A while back you were asking for suggestions, so here are a few. Some seem to have been expanded upon in later comments, but I’ll stick to the basics.
- Analog dry/wet mix pot: because you should always have a zero-delay dry output to mitigate latency.
- Some “tc electronics” pedals have configurable TrueBypass/Buffered modes (enabled buffered by holding the switch while pluggin it in): because at certain points in your signal chain you just NEED a buffer.
- Analog “tilt eq”, see JHS Pulp & Peel at https://youtu.be/LZ5fn7hzi04?si=bxac5v1trZkhUZKp&t=337 (queued up). “Tilt EQs work in a way that musically shift the frequency balance” (from the documentation on the Diamond Compressor, an absolute classic analog pedal)
Those are the major things, another thing would be some solder points to insert an analog circuit into the mix, which when added (requires a toggle) is added to the (wet) mix. See https://www.youtube.com/watch?v=LZ5fn7hzi04&t=715s (pulp’n’peel again, with it’s inbuilt rat).
(Because sometimes you actually want to built an analog pedal, or a hybrid, and if you just got 5 daisy pedals fabbed, why not re-use the platform?)
Anyway, those are my ideas as a player. My ideas as a software developer and armchair EE (like yourself) are may more opinionated and less defined. I see some posts about using an ESP32, that’s great. Definately want to be able to make a pedal that is accessable and updatable via a bluetooth & phone type interface.
Regarding the interconnectivity without delay, I will merely note that IIRC a Mac Pro’s 3.5mm audio in & out jacks double as SPDIF digital interfaces… don’t know how it’s done, but it sure is cool.
Oh, back in player mode… running a WET-DRY setup (using one amp for the dry signal, and another for the effects signal) is how people who can afford two amps do things. Since all your pedals are stereo, there is the potential to run selected effects on either channel and then simply split the final pedal off into two mono plugs for two amps. That saves you having to buy either a really expensive pedal board (like a gigrig) or having some really confusing wiring. BUT it’s only going to work if the dry (or dry-ish) signal on whatever channel can make it through the entire chain with minimal delays. I’ll leave that thought with you, as implementation of that concept hurts my head a lot.
I wonder if you’re underestimating how low the latency is in a typical Daisy pedal setup?
I have no idea what the latency on a typical Diasy pedal setup is, though I’d love to be told. I work with ASIO drivers and Roland direct interfaces which claim about 6ms (12ish if you include the outgoing portion).
Honestly it’s not that I personally care about latency. It’s just something I know some players care about (just as they care about tonewood, NOS Formvar wire, and carbon resistors).
And whether or not you believe in all those things yourself, there’s no downside to having your dry signal following a purely analog path. It will cost you a pot and another op-amp, but it could reduce the complexity of your code.
There is also a similar use-case in which you may want to run that dry dignal via an actual analog effect (like the Rat in my example) before it hits the mix pot, or perhaps you want to mix an out-of-phase digital signal with the dry signal to make a flanger, and whatever latency there is in your ADC/DAC conversion is just right (or faster than you need) to emulate an Electric Mistress.
But really, why would you ever want to unnecessarily introduce latency other than to save costs?
Sorry, I thought you had a technical reason to consider the dry path essential, since you mentioned ‘to mitigate latency’. Using 48k, and a block size of 4, end-to-end latency is about 1ms. In other words, like sitting about a foot from your amp.
I don’t disagree that a dry path can be a useful feature. Nice to have, but not quite essential.
A dry path would start to become really important if you were talking about selling a specific pedal, but I agree that this (or the FunBox, I was a bit behind the curb regarding latest developments).
When it becomes a comercial thing, … well, I’ve actually heard them say on “That Pedal Show” something like: “This is a digital delay, but that’s okay because the dry signal is completely analog.”
How many samples are in a block size of 4 BTW?
There’s a strong hint in the question itself.
Touche. Though I am going to guess that this is the theoretical minimum block size, and not necessarily practical or commonly used.
Not theoretical, not so uncommon on Daisy.
I’m sure that would be fine for many applications, but not so well for others. Surely once you start delving into FFTs or multiple effect chains you’d be wasting too many clock cycles doing small memory moves rather than doing less frequent but more efficient bulk memory operations and doing them at intervals that give you a reasonable amount of samples to work with.
At least, that would be the convention wisdom if we were talking about a regular computing platform with an external sampling mechanism.
There are tradeoffs, of course.
I’d suggest you actually try using a Daisy.
That is a fair call.
I’m currently calculating the most cost effective way to get the PCB & parts for a FunBox to Australia. As electro-smith don’t resell through the usual outlets I’ll have to get the Seed stateside, so it comes down to whether getting all the other components (and PCB) from the states is easier than getting it all shipped from different places.
I might also want to grab a bunch of analog pcbs and common parts usued in pedalpcb designs at the same time.
Thanks for the project @kshep
I just ordered 5 pcbs but only 2 PCBA because I only really want 1 pedal (the 125b variant because I needed a screen). I have made a board in kicad with jlpcb before but I was interested in the PCBA process so this is perfect (without any of the hard work).
Planning on primarily using it as my tuner and looper, with other effects as secondary probably. This will complete my entirely DIY board (arbitrary goal…)
You saved me a lot of time and iterations with your project so I wanted to say thanks (even before the hw has arrived)!
Hi all,
I made 3 125b extra pedals. Im selling them at reverb if anyone wants one.
https://reverb.com/item/84901545-electro-smith-daisy-seed-pedal-multieffects
Send me a message if you want one without the daisy or for exchanges.
Hardware came in, all went together smoothly!
I used an encoder and momentary footswitches from tayda which reduced the need to source from other places.
The looper and tuner I wrote are working great. The pitch shifter is wack and needs serious work, and the IR stuff I have running on it crashes, I may pick up a v3mini debugger to help with debugging
Looper is great, tuner is great, pitch shifter (Drop tuner) is great, and the rtneural amp/ir stuff is a pretty solid start! Thanks a bunch for the project @kshep and thanks for some other reference material on the modeling for amps and IRs @keyth72
Not much of it can be cleanly merged in. The tuner adds an additional dependency on GitHub - cycfi/q: C++ Library for Audio Digital Signal Processing the pitch shifter requires a PR to be merged (I copied files out of libraries into my project to make the changes), the looper requires changes to the guitar pedal base file to allow the 2nd footswitch to be used nicely, and the amp/IR also adds dependencies and is mostly not my work. I also needed to set -std=gnu++20 for the project. So I can certainly share some reference material to my fork, but I probably won’t be able to open any PRs unfortunately.
Here is the digitech/drop pedal demo https://www.youtube.com/watch?v=0gRlvxareh4
Hmmm… that worked out to $269.41 USD including shipping. For the record, the amount your charged for shipping is only $15 less than I’ve seen guitars shipped for.
I really liked your ESP32 idea. How did it work out? Personally, I am lazy. I have done the measurerments, and a Raspberry Pi 0 W (kinda outdated now, but I have one handy) would just fit if you laid it north-south (though you’d probably be using double-side tape to attach it).
I figure the Pi could handle full webserving for phone-controlled pedal parameters, as well operating as a USB MIDI device (or host). You could also add stuff to it’s SD card. Bluetooth obviously, though it might actually be easier to do what I want (interfacing with those cheap Mooer 4 button BT pedals that don’t require pairing) with an ESP32. I believe there are BT expression pedals, but they’re kinda expensive.
You could also drive a nice big touch-screen from the Pi, though not sure how you would mount it.
Hi, the pedal works great. It is still in “open case” stage… Everything can fit in the 1590b but only if I solder the ESP and Daisy without headers on the PCB and maybe de-solder the debug connector on the daisy. I am currently fixing the PCB and porting to a 125B style (@kshep is always right…) but working with the ESP for the knob control, bluetooth and screen really lets the Daisy do only the audio processing. Hope to get some sample videos soon… I can’t really find the time.