As I was pondering porting the C-based FluidSynth code to the bare metal Circle-TeensyAudioLibrary environment for the vGuitar project, I decided that it would be wise to first at least build a Zynthian to provide a baseline and a test platform for my own project.
The result is a simple instance of a Zynthian that can be made with a minimum of hassle and basically works, more or less, direclty out of the box with the current Zynthian released binaries.
I need to do more testing to see if this actually fits into the project ... perhaps the actual stage rig will be a conjunction of a linux rPi running Zynthian and and a separate bare metal rPi running the looper, we'll see. In any case I am eager to hook this build up to the PA and my Fishman FTP pickup and see how well it works, but first I thought I would write a hackaday project page for it. So here it is!
One nice thing about this particular build is that it works without the somewhat complicated Zynthian cables. It could be built in an hour, though it actually took me a full day to work the kinks out, particularly for the resistive touch screen. The shield stack, from the bottom up, consists of
- the rpi 3b+
- my rpi breakout board
- a pi-fi clone? sound card
- a cheap ili9486/xpt2046 touch screen I had sitting there
At some point I realized I had all the parts on hand to try the build. It needs an mpc23017 and four rotary controllers, the rpi, a sound card, and a display device (you could do without the display device and use HDMI, but that is beyond the scope of this simple project).
The only thing that my breakout board provides is (a) the input 5V and ground to the rPi and controller board, and (b) access to the rpi SDA and SDC i2c pins, and access to two gpio pins used for interrupts from the controller board. The controller board is connected to the stack by six wires. There are many other ways to achieve the same connections, so your build would likely be a little different.
This is not intended to be a box-able, final hardware solution, though I might make it into one, just for fun, when I get my (woo-hoo) first 3D printer next week. This project is intended more for just building a Zynthian and getting it working as quickly as possible, so for example, the controller board does not include any debouncing capacitors that would be present on a "real" persistent Zynthian build, nor have I implemented any serial MIDI ports. The rotary controllers and pushbuttons seem to work well enough for me without the caps, and I am just going to test it with USB midi devices so I don't need to build those in at this point ....
The controller board is, more or less, an exact realization of the Zynthian schematic for the all-in-one board. It is based on the mpc23017 io multiplexer IC and four standard rotary controllers with push buttons. I was surprised how well the rotary controllers attach to the breadboard. If I press them firmly the metal tabs on the sides fit right into the gap on the breadboard and provide a fairly good mechanical connection. I can pick the circuit board up by any of the control knobs!
I'm still learning, and, on the other hand, plugging the mpc23017 IC directly into the breadboard is, uhm, not as secure. With a little bit of tweaking of the pins it works reasonably well, but probably I should invest in some breadboard-able IC sockets.
Here's a couple of pics of the device running:
In order to get it to stack I had to remove the 40 pin header from the Pi-Fi sound card that came with it, which for some reason was just a male connector, and hence...Read more »