Approximately half my lifetime (20 years) ago I used to have literally drillions & drillions of ideas that I still feel aren’t a complete waste of time. One of these brilliant ideas was to be able to control a guitar wah pedal from my computer. At the time I had scant musical equipment to match my scant muscial abilities. I had scavenged what I could afford in my extremely limited means from pawnshops, flea markets, thrift stores, & the Penny Power. Among this discarded mess were an Atari 1040st computer which has built in MIDI, a Korg Poly800MkI synth, & a Boss DR550 drum machine. I had been successfully using the Atari to sequence the synth & drum machine, but wanted to also control effects for my guitar at the same time and in the same way. But this was the early 1990′s. I didn’t have the skill nor the funds to do anything of the sort.

For those interested here are some YouTube links to a blurry picture of my son playing with the Korg over very randomly spliced together and poorly preserved material salvaged from a cassette made at the time: SLSC-B01 & SLSC-B02

I recently realized that some of these old ideas, due to a better financial situation and the current space age state of technology, are now easily within reach. The first of these ancient plans to be made finally real is a variation on the original MIDI wah pedal idea. Instead of using an analog sweeping wah I went with a 10 band equalizer. This can serve as a choppy wah effect, but I preferred the 10 band EQ as the foundation for the project because I felt that it would have a wider range of applications and, as will be explained later, the board can also simultaneously control an external real wah as well as a whole bunch of other effects through an expansion board capability.

The first 17 second demo recording I made of the Zeta Reticuli on SoundCloud: “This is me doing nothing but playing a single chord over & over to a drum machine. My fret hand does not move at all. I used my sweet-ass lucite guitar through a Proco Rat distortion pedal plugged into my MIDI EQ which is plugged into my micro-Marshall. This is mic’d into a mixer with flat EQ & recorded directly by my desktop computer. No other effects or trickery. All the EQing was programmed into a sequencer on a different computer 5 minutes before I recorded this.”

Step 1: Overview & Operation

I couldn’t decide on exactly how the EQ should work so I included every option that I had in mind. Hopefully this means flexibile rather than convoluted and allows a user to choose their preferred method.

I believe that a user will need to be somewhat familiar with using MIDI to get any real benefit of this device. It could be used as a very basic tone control, but those ends would likely not justify these means. The next simplest case I can envision is using a small MIDI keyboard controller to control the Reticuli in real time. My personal plan, for which I made it, is to create complicated tonal patterns and subliminal currents using a software sequencer where I can control precise values for each individual controller at precise times. This scenario has a lot of prerequisites in time and equipment. Although, truth be told, I’m still using mostly cheap items gathered over the years from flea markets, thrift stores, and pawn shops; and I much suck at music. The real measure of this project is that it cost under $100 and has exponentially paid that back in education and entertainment value. I spend that much just taking my family to a bad movie.

Another way to use the Zeta Reticuli is with a purpose-built or virtual controller. Hopefully I have done this already and included video(s) below to demonstrate and clarify the different modes and MIDI cc usages.

So anyway: The first selection that needs to be made to use the Zeta Reticuli is mode which is explained in more depth below and is chosen by issuing a MIDI patch change to patch 0 or 1. The firmware currently gives 2 options for mode, plus 10 user programs that can be either mode.

  • patch 0: DIRECT: Each frequency band is controlled directly. This can be either by using MIDI continuous controllers 22 through 31 or by the velocity value in Note On messages for Middle C (Note #60) through A (Note #69)
  • patch 1: PSUEDO-PARAMETRIC: An imitation of parametric behavior which uses the same Controller and Note On velocity options as above, but processes them differently:
    • cc22: center band: The center frequency of the peak/notch.
    • cc23: center level: The level of the center frequency. If it is a higher value than off-center level there will be a band-pass effect, if lower there will be a band-block or “notch” effect.
    • cc24: off-center level: The level of the furthest off-center frequencies outside of the width parameter.
    • cc25: width: The width of the parametric curve effect, or number of bands above & below the center frequency.
  • patch 10-19: USER PATCH 0-9: Storing user patches is discussed below. Once a patch is in memory it can be recalled by sending the Zeta Reticuli a MIDI patch change message for patches 10 through 19 (user patch # plus 10). Only the mode and associated EQ parameters are stored. None of the parameters for controllers associated with an expansion board are stored.

Other Controls:
  • cc6: gain level: Controls input level to preamp. See Input and Preamp below
  • cc7: volume level: Controls output level. See Output below

Storing User Patches:

As with everything else in the Zeta Reticuli there is more than one way to do this to accommodate different equipment and usage possibilities.

  • The first way of storing a user program to memory is by using MIDI continuous controllers 70 through 79, sending a value of greater than 64. The controller to use for a specific user memory location is just 70 plus the number of the memory slot. Slot 0 is MIDI cc 70, slot 1 is 71, and so on. When the Zeta Reticuli receives one of these controller messages it stores all of the EQ parameters to the appropriate EEPROM addresses. As noted above, only the mode and associated EQ parameters are stored. None of the parameters for controllers associated with an expansion board are stored.
  • The second way to store user patch data is through MIDI SysEx messages. This may be more complicated, but more convenient – at least in my case. A 7 byte SysEx message that will cause the Zeta Reticuli to store the current EQ settings to a specified user patch is as in the image titled "SysEx Store User Message"
  • The Zeta Reticuli’s SysEx implementation allows it to also get patch data both to and from external software such as a MIDI librarian. This will only work over the USB port since there is no standard MIDI out port on the device. The format to retrieve a user patch over USB is exactly the same as above with the exception of byte 4 Command. This byte will need to be 0×11 (dec 17) in this instance, to signify a user patch request command. As soon as the Zeta Reticuli receives a properly formatted SysEx request it will respond over USB with an 18 byte reply as in the image titled "SysEx User Patch Data Message"

Controlling Additional Effects:

No point having idle pins, so I’m putting them to use extending the control capabilities through an 8 pin header. The header pipes the 5 volts, the 2 signals necessary for SPI (SCLK & MOSI), and enough chip select lines to control 4 more 5206 chips installed on expansion boards. The expansion board could be an individual stand-alone effect, which is the way I’m planning to implement an analog wah. It could also be just some pots accessed through a header to control an existing external effect that has been modded to be controlled by the Zeta Reticuli, which I’ve breadboarded using a cheap chorus pedal with great success.

Other SPI-controlled chips could be used in an expansion board, such as digital outputs to control relays for an MIDI controlled automatic signal router (Another plan in the works!), but the firmware would likely need changed to handle this. Another option that I’m considering is an SPI multiplexer to drastically increase the number of available CS lines. At this point the number of MIDI continuous controllers may then be the bottleneck and mapping multiple MIDI channels may be required. I’ve mentally bookmarked these and other options but to be real I haven’t even finished the updated version of this controller yet, let alone sketched out the first expansion board.

EXCELLENT PROJECT with Professional work....How many custom setting can save? Some EQ have also a push button for several FX during playing the sound, like trembling, vibrate, fade in-out and go on....Your product support this? <br> <br>thanx for sharing
Thanks! It currently will save/recall 10 custom settings, but there is room in the EEPROM for more &amp; would be pretty easy to add them in the code.<br><br>As far as the effects with the EQ, the Zeta Reticuli doesn't itself do them. They have to be done using the MIDI control. That is one of the things I'm working on right now though: trying to decide how best to structure the program for that. It will need at least 1 timer and time value, but probably 2. It would also need to be given 2 of the user memory numbers. Then it would just alternate from user patch &quot;A&quot; to user patch &quot;B&quot;.<br><br>The part that I have earmarked, but haven't really started to think about is how to 'transform' from patch 'A' to patch 'B'. Just switching would allow for faster and choppy effects, but if there were a menu selection - like the Android &quot;transition effects&quot; - it could allow for different ways to morph and melt between the 2.
Congratulations on being a finalist in the DIY Audio Contest!! Good luck to you!
Oh wow! Thanks!
love the retro case, your project, i have a idea with an Realistic 16band EQ i use it for my front speakers and another for my rear, your project made me think i wounder if its possible to use your eq idea, to mod my EQ's with motor driven slide pot and have a small program via the audrino to control the EQ's pots to more them up and down via the computer and have a EQ display on the computer and controll. that would be epic, i am sure the houses near me will like this hahahaha. <br> <br>do you know good place to get motor driven slide bars? <br>Ps i also buy alot of old amps and things from hock shops, flee markets ect, i dont know but i find the older amps have way more power and with some digital pre-amp upgrades make it even better. <br>Keep up the good work. <br>Oh just a thought for an upgrade to your sexy E.Q box what about a Balanced output. ;)
Thanks! You touch on 2 ideas I had also considered: <br> <br>1. Using this same hardware set up to control an old Coustic 20 band EQ. It doesn't have to use motorized pots, though. The digital pots could do the job, but the original pots would no longer do anything. <br> <br>2. Using motorized pots. I thought about it, but haven't looked into it much so I don't know of a good source yet. If you find one be sure to let me know! I also haven't looked into how they're controlled. If there isn't a good SPI or I2C bridge solution between the Arduino and the pots, it could get complicated. <br> <br>Currently our TV viewing in our living room is: computer/internet -&gt; SAE PA10 preamp -&gt; SAE XXXIB amp -&gt; Polk monitor 5's <br> <br>All the stereo gear took about 3 months to acquire and cost about US$150 total! <br> <br>Thanks again for the kind words!
yes but watching those motorised pots moving up and down to music while your adjusting it would just be too sexy not to use, classic geek porn. <br> <br>oh motor control is not a problem i will look around my server for the info i have it somewhere but then again sometimes i even loose movies ( data base too big LOL ) <br>my setup is 100% geek, every room in this house has a computer of some discription &quot;The electricity company loves me&quot; what i did was build a basic computer with creative soundcard and basic nvidia gpu and tv tunner/capture card. on a small board at the time sits next to the tv's connected in a mass of spag to the amps&quot; yes you heard right i have a amp for each channel&quot; thats for the cinema room, thus controlling the eq with motorised slide pots is just too hard to not do. <br> <br>I have a saying over kill is better then under kill. i shall upload if you like some balanced pre amp circuits if you like there cheap but good quality, and thanks again for this instructable, i shall replicated when i get the time.
Oh - I had forgotten about your suggestion for balanced output. That would be a nice improvement, you're right! There are a few other audio-quality improvements I need to make in the next version, too. It's pretty noisy overall right now. This is why I consider it only an &quot;effect&quot; right now.
I've got an Inventor Colleague that will appreciate this, thanks, and went to the Blog, along with the votes :) <br>http://faz-voce-mesmo.blogspot.pt/2012/11/um-natal-para-as-criancas-com-cancro.html
wow... really cool. i don't have the skills to make this but I am mad impressed with what you've done here.
Thank you for the kind words! They mean a lot! <br> <br>I'll also say that I'm not sure I could have built this myself until relatively recently. I'm a firm believer that each project I've attempted, whether it's big or small, successful or not, is valuable experience and has laid a foundation for each one that comes after. I'm ambitiously hoping to build this Zeta Reticuli out to have a couple of expansion boards, as well!

About This Instructable


114 favorites


Bio: The pre-neopostmodern electro-Amish man using sense and caution when voiding any warranty.
More by RedBinary: Zeta Reticuli: MIDI controlled 10-band EQ and multiple external effect interface PACMOD MIDI DJ Controller Cheap and simple USB car fast-charger mod
Add instructable to: