Building a Zynthian Box

IMPORTANT: Comments are closed in this post, please, use the forum to comment. If you want a guide for mounting your Zynthian Box, you should use the wiki tutorial.

Now that Zynthian Box specification is, more or less, closed, i would like to share with you the Bill of Materials and some advice about bulding your own Zynthian Box. I would like that other people build his own Zynthian Box and help me with software development 😉

IMG-20151008-WA0008

The list is composed of generic parts and specifically designed parts. All these specifically designed parts are called Zynthian Parts. You can build  these parts by yourself using the specifications, schemes and PCB designs, or you can contact me. I will try to make these parts available at a reasonable price._1020468_fixed

The Hardware

OK! Here is the Bill of Materials:

  • 1 x Raspberry Pi 2

  • 2 x Zynthian Controller Module
    Note:
    From October 2016, zynthian kits use a new type of controller module, with a single rotary encoder each. Please, read this and this.

    The Zynthian User Interface is controlled by 2 controller modules. To build one controller module you need:

    • 1 x Zynthian Controller PCB (or prototype board + wire)
    • 2 x rotary encoder+switch (20/24 steps) => i’m using PEC11R-4215K-S0024
    • 2 x ceramic capacitor 100nF (C1, C2)
    • 1 x 6 pin male connector
    • 1 x 2 pin male connector (jumper)

IMG_20160707_211455

IMG_20160707_212634

You can download the circuit design, print and build the modules by yourself. The circuit is designed using the Fritzing Software. Also, you can build hand-made modules using prototype circuit board and some wire.

  • 1 x Zynthian 2in1 Module (MIDI-IN + GPIO-expander)
    This circuit is 2 in 1. First, it is a MIDI-IN interface that uses the RBPi UART (only RxD). Second, it expand the Raspberry GPIO, using the MCP23008 expansion chip. This CI is a I2C device that add 8 new GPIOs to RBPi. We need it because the standard RBPi  GPIOs are exhausted with so many devices that we have connected. To build one controller module you need:

    • 1 x Zynthian 2in1 PCB (or prototype board + wire)
    • 1 x opto-coupler 6N138
    • 1 x diodode 1N4148 (D1)
    • 1 x resistor 1K (R1)
    • 1 x resistor 10K (R2)
    • 1 x resistor 220 (R3)
    • 1 x MCP23008
    • 2 x ceramic capacitor 100nF (C1, C2)
    • 1 x 8 pin male connector
    • 1 x 6 pin male connector
    • 1 x 2 pin male connector (jumper)

IMG_20160707_210915

Note: If you got your 2in1 PCBs before September 2016, you should fixup the PCB like showed in this photo:

IMG_20160707_213249

You can download the circuit design from here.

  • 1 x Zynthian Main Bus Ribbon Cable
    This cable connects the 3 main parts in Zynthian (Raspberry Pi, HifiBerry Sound Card and PiTFT Screen) and also allows connection of “secundary parts” (controller modules, MIDI-IN, GPIO-expander, etc.).To build one you will need:

    • 40 pins ribbon cable (20 cm)
    • 1 x 40 pins ribbon female connector
    • 1 x 40 pins ribbon male connector
    • 1 x 26 pins female/male connector (*)
    • A vice, to fix the connectors to the ribbon cable (**)

(*) the original Adafruit PiTFT has 2 connectors, female and male, so you can choose. The clonic versions normally have only the female, so you will need a male connector. Any way, you can solder the ‘extra’ male connector on the clonic screens because they usually have the “holes”. Also, these clonic versions usually have the 4 switches soldered on the PCB surface. I’ve tried to request the screens without these switches, but with no luck, so i had to desolder the switches ;-(

(**) having broken a lot of connectors trying to build this cable, the only reliable way of doing it that i’ve found is using a vice/clamp.

  • 3 x mini-ribbon cable (dupont female to 6 female connectors)
    This cables are used to connect the zynthian modules (controllers and 2in1) to the main bus. Currently, i use multi-colored wire-connectors of 10 cm and 20 cm.

    IMPORTANT! The Zynthian in this photo uses a REVERSED wiring scheme. Please, don’t use it as a reference for mounting!
  • 1 x Zynthian Metal Box (Aluminium / Steel)
    The metal case is the “Crown Jewel”. My dear friend and great industrial designer Ramón Besora, from Besmon Designs, has designed and built those nice old-school rock-solid  cases. We have steel and aluminium versions. I really love them, and love Ramón by his designs! 😉
    If you are interested in getting one of this wonderful cases, contact with me.

zynthian_alluminium_box_top

zynthian_alluminium_box_bottom

If the metal cases is too expensive for you or you prefer a pure DIY-way, you can build your own box using wood, foam board, or a generic plastic case.

zynthian-prototypes-black&white

Also, you will find in the repository some STL files for printing a case with a 3D printer:

3DPrintBox-01-20160516

There are other less important parts:

  • 2 x Jack Mono Female Connectors (case mounting)
  • 1 x HB audio cable (HifiBerry => Jack connectors)
  • 1 x MIDI female connector (case mounting)
  • Screws & Spacers Set (needed to fix the parts into the box)

Connecting the parts

Here is the connection tables for the different modules. Wire numbers in connectors are assigned from left to right. Controller RBPi connectors are upside.

Controller 1:

RBPi Connector (Head-6):

wire # function GPIO RBPi pin #
1 Enc1-B 25 37
2 Enc1-A 27 36
3 Enc1-SW 23 33
4 Enc2-B 26 32
5 Enc2-A 21 29
6 GND GND 30

Switch2 Connector (Head-2):

wire # function GPIO-exp
1 GND
2 Enc2-SW X07

Controller 2:

RBPi Connector (Head-6):

wire # function GPIO RBPi pin #
1 Enc1-B 04 16
2 Enc1-A 03 15
3 Enc1-SW 02 13
4 Enc2-B 00 11
5 Enc2-A 07 07
6 GND GND 14

Switch2 Connector (Head-2):

wire # function GPIO-exp
1 GND
2 Enc2-SW X08

MIDI-IN + GPIO-expander

RBPi Connector (Head-6):

wire # function GPIO RBPi pin #
1 Vdc 3.3V 3.3V 1
2 RxD RxD 10
3 I2C SDA1 08 3
4 I2C SCL1 09 5
5 Vdc 5V 5V 2/4
6 GND GND 6/9

MIDI-IN Connector (Head-2):

wire # function MIDI-IN pin #
1 MIDI-IN-5 5 (MIDI connector: 2nd from left)
2 MIDI-IN-4 4 (MIDI connector: 2nd from right)

GPIO-exp Connector (Head-8):

wire # function MCP23008 pin #
1 GPIO-X01 10 (GP1)
2 GPIO-X02 11 (GP2)
3 GPIO-X03 12 (GP3)
4 GPIO-X04 13 (GP4)
5 GPIO-X05 14 (GP5)
6 GPIO-X06 15 (GP6)
7 GPIO-X07 16 (GP7)
8 GPIO-X08 17 (GP8)

The software

In the Zynthian Software Repository, there is a script to setup from scratch a Zynthian Box, starting from raw Raspbian Jessie. It can take some time because it will download and build a lot of software. If you prefer, you can download a SD card image, or you can ask me for a SD card ready to use.

Getting Zynthian Parts / Kits

Currently, earning money is not the primary goal of Zynthian Project, but i would love that people interested could build his own Zynthian Box. So, i’ve printed some extra PCBs and bought some extra components that i make available at a reasonable price. If you are interested, take a look here:

https://discourse.zynthian.org/t/zynthian-kits/150/6

Zynthian Links

Providers Links

Facebooktwittergoogle_plusredditmail
Sort by:   newest | oldest
Eduardo Capocchi
Guest

Great stuff! Thanks a lot for your effort and for sharing!

Uldis
Guest

image download link broken 🙁

Uldis
Guest

481Mb, unzip fails at 99%, file is broken 🙁

Eduardo Capocchi
Guest

Hi Uldis,
same problem on my side while downloading the 481MB file.
Here’s what I got:
tar: Ignoring unknown extended header keyword ‘LIBARCHIVE.xattr.security.selinux’
gzip: stdin: unexpected end of file
tar: Unexpected EOF in archive
tar: Error is not recoverable: exiting now

Eduardo Capocchi
Guest

Has anyone tried on a Raspberry Pi 1 Model B (2USB ports, 512MB RAM)?

Uldis
Guest

You don’t have permission to access /download/zynthian_devel-2015-12-14.jessie.img.tar.gz.torrent on this server.

Im newbie with raspberry zero and 8Gb SD card 🙂

Clinton Morse
Guest

I was thinking of getting one of the new quad core Pi’s and trying to get Setbfree running. That would be sweet. But maybe a bigger gamut of rotary encoders for each drawbar..

Your code will prove insightful. I’ll probably skip the midi in and just use USB midi (it’s what I’ve got). And maybe a grove board for the rotary encoders & various switches…

Do you have any ‘screenshots’ of setbfree running on your device? I’d like to see what the GUI looks like on the touchscreen…

Jean-Michel
Guest

Hi! Nice projet! I want controler kit to ship in Canada.

Clinton Morse
Guest

I took the plunge and ordered the major bits. Can you contact me with an estimate on cost for 2x controller kits & 1x MIDI/GPIO expander kit to CT-USA? Soldering things up is not problem, but I figured I’d get the kit rather than bare PCB instead of chasing all the small bits down locally. Thanks..

Clinton Morse
Guest

Under software you mention the startup script that will install Zynthian onto a new Jessie Raspbian image. From reading some of the info on getting the HiFiBerry & PiTFT boards up and running, it sounds like both of those boards require some kernel updates. Are these kernel updates part of your update script or should they be done prior to running the Zynthian script?

Clinton Morse
Guest

After leaving the comment I found the boot config file and saw both boards listed there. Most likely I’ll run the startup script commands individually and monitor progress step by step. Slower, but I’ll gain a better understanding of how it’s all put together than if I just ran the script or used a predefined image – It’s also about the journey. I’ll certainly provide feedback where appropriate though I’m not a software engineer by trade.

Clinton Morse
Guest

Got the PI up and running afternoon, setup the basics, wifi, swapped browsers, purged some of the bloatwarez. The Pitft I got is a little different than the one you used (has 40 pin HAT header instead of 26 pin) so I’ve got to add an extra GPIO header, and verify no GPIO pin conflicts but then I’ll be able to do a triple stack with the cpu & hifiberry boards.

Anyway, want to start cloning the code.. What is the user/pass for the github repositories? I’m new to using github and it’s asking for username & pass…

Thanks…

Heikki Toivanen
Guest
Hi Clinton, Are you familiar with versioning concepts such forking/tagging/branching? I’ll provide a few links for primers if needed. Anyhow, If you just want to run the code, and you are not going to make changes to it, you can use the ‘download zip’ from the projects at github, eg. https://github.com/zynthian/zynthian-ui … But if you know you will be making some effort in changes, you should register at github (it’s free!) , then you should 1) fork yourself a copy of the Zynthian’s repo 2) make changes 3) submit a pull request for the (zynthian) project owner. Hope this helps?… Read more »
Heikki Toivanen
Guest

Hi!

This Zynthian-project looks really cool! My main job is a software programmer, but I love playing guitar, and have been getting into MIDI-guitar and looking for a sound module. This could be it!

I am not very good in electronics, but would like to help with the programming if possible. How could I get involved in this?

Clinton Morse
Guest
Thanks, I’ll retry the http git clone when I next have the Pi hooked up. I’m familiar with the basic git concepts, but have never used it in practice, so I’ll check the references and give it another go. Can you point me to schematics for the GPIO board and the controllers? I see the PCB images and could probably reverse engineer it from there, but a schematic would be easier. It looks like minimal support components, so I’m just going to give it a go on a prototyping board to start. I saw a bunch of schematics, but they… Read more »
Clinton Morse
Guest

still getting user/pass errors when trying to clone via https:, but I signed up for a github account and everything went smoothly using git: cloning.

Now off to check out fritzing… (another new to me software)

Thanks for the newbie help, sorry for being so noisy.. I’m really looking forward to working with (on?) this project.

Clinton Morse
Guest
Sorry to be such a pain. I installed the fritzing software (on a windows 7 machine at work) and downloaded the three *.fzz files but they all hang upon opening with a “zip.open(): %d” error. Google wasn’t any help. I did notice that all three fzz files I downloaded from github are reported as 32kb in size in file manager, even though github reports their sizes to be from 26kb to 49kb depending upon which one we’re talking about. Not being certain what the gerber.zip files were, I tried downloading those as well (hoping perhaps a legit fzz file was… Read more »
Clinton Morse
Guest
Solved my fritzing issues. Works more reliably on the linux machine at home. I think I wasn’t downloading the raw file from github. Not used to the interface, what i was downloading was the html page, even though it saved as *.fzz And Zynthian image downloaded and flashed. Now to wire the hardware, and run that image instead of the regular jessie image. Managed to setup a nice 4-board stack – RPi>protoboard>hifiberry>PiTFT all aligned with the HAT standoffs. Should be able to pull it off with no ribbon cables. I’ll try to post a photo when I get the loose… Read more »
Member

Hi, is it possible to use raspberry 3??

Member

Have you Zynthian Parts kit?? How much it cost ship to Italy??

Member

I taken a raspberry Pi3 i want try with the new one to test, then i think to take all kit disassembled, i’ve a cnc to build all pcb but really not much time, but ive a complete electronic laboratory.
my mail is paulfalduto@gmail.com on facebook u find me with my complete name 🙂

Member

I want to signal that SDcard image is not working on torrent its some days my pc its open but its always 0%

Member

Hello guys, your project is awesome ! When do you plan to sell the kits please ?

Member

Hi @ll!

I have written a documentation of building my own Zynthian at //wiki.zynthian.org/index.php/Zynthian_Box_Building.

I also set up a “mirror” for the Image.

Regards, Holger

Member

if i buy capacitive display, 2,8″ what ive to do to set it correctly??
I was thinking this adafruit https://www.adafruit.com/products/1983

Member

No, i mean this one with same pinout https://www.adafruit.com/products/1983
it change only that is capacitive

Member

For Italians, this store http://www.melopero.com/ have display, DAC+ and original power supply needed, we talked throug phone, in some days they will have a good assortment at a resonable price, then u can have only one shipping.

Marco Torskyj
Guest

Hi, is it possible to run the Zynthian Box with only a Raspberry 2 or 3, an USB-DAC and an USB-Keyboard to play an control the sounds?

Member

Hi Jose the Zynthian is on!!!!
….but at the moment i dont have a keyboard to try ……i buy one in a few days.
What do you think of this keyboard???
http://www.m-audio.com/products/view/oxygen-iv-61#.VynJ6fmLSUk

Attention for other users….the cable you have sent me have the LCD connector in opposite direction…….check for the others……

Thank you

Member

Hi Jose’ …some questions…..at the moment the touch of the display is operative in some situations or not? If yes in which menu???
For adding external plugin/sound……i may use winscp ??……what kind of plugin are compatible at the moment???….for example .gig or .sf2 ??
…and what is the correct location to put in???

Thank for your great job!!!

Member

Finally all work guys, reverse encoder problem solved, it is possible to add this plugin??? https://obxd.wordpress.com/ it was great have the OB-XA emulation and can update officially the library without broke anything 😛
Now i try to made wifi work in raspberry PI 3 and i can use instead of rj45.

Maciek
Guest

Fantastic project, thumbs up!

Question: Have you considered using the Wolfson/Cirrus Audio Card instead of Hifiberry? I have experimented a little with the first Wolfson card and my old RPi 1 (Model B), and I really liked the sound of it (I used FluidSynth).

Daniel Mesa
Guest

Hi! I’m spanish, sorry. How much complete zynthian? (Not parts). Can you send it to Spain? Thanks!

Member

Hi – do you still have kits left – both the Controller & MIDI In modules? I’m in the UK.

How complicated is the soldering? I’ve done a bit but I’m not very experienced and tend to make quite a mess. Are there any plans to sell pre-assembled kits?

Great project by the way. I’ve been tinckering with the idea of biulding a Python powered MIDI generator using a RPi3 and this seems like the natural extension to that..

Member

Any other links or torrent seeders to the sdcard mage? Look like there is currently only one seed with a download ETA of two days!! I tried the jessie script in github and it has thrown a bunch of errors. Which is the best one to use if you have installed full Raspbian? The jessie_desktop script?

trackback

[…] syntezatora Zynthian jest samodzielne złożenie go na podstawie instrukcji dostępnych na oficjalnej stronie projektu. W przyszłości pojawi się jednak również możliwość zakupienia gotowego produktu. Jak na […]

Member

Hi!
Very interesting project.
Do you have kits to ship in France? 2 x Controller Module and
1 x MIDI-IN + GPIO-expander Module.

Do you use a lowlatency kernel and do you think a sequencer can be added in the future?

Member

Hi ! Congrats for your hard work ! I’m interested in the whole assembled kit if you still have some available ? (that is to say : 2 assembled controller modules, assembled midi-in gpio exp. module, assembled main bus ribbon cable, female 2 female pin wires + aluminium case kit, with shipping to France) Thanks a lot !!

Geoff Meyer
Guest

I know you used a raspberry pi 2, and I have a 3 but I am wondering if I could do the same, or very similar thing with the raspberry pi zero. Mostly to save space and make it slightly more desktop/keyboard friendly. I use a good number of controllers/synths live, and I’m trying to cut down on my exceptionally bad habits of adding more to my space. I won’t be heartbroken if it isn’t reasonable. I know the zero has a single core, whereas the 2 has a quad.

Member
Hi ! I didn’t test the Pi Zero but according to the benchmarks I saw it’s somewhere between a Pi 1 and a Pi 2 — closer to a Pi 1 — speed wise (benchmarks using one core). I’m not sure ZynSubAddFX makes use of multiple cores ? Raspberry Pis being really low end, you should definitely go for a 3, as demanding synths are apparently too much for the 2. Maybe one day we’ll see a 64 bits distro for it which may give an additional boost. The only issue with the 3rd one is it tends to heat… Read more »
Steve
Guest

Can anyone who has the SD image (2016-06-14.img) please seed it!
I’m trying to get it and am at 3.9% with no peers…

Member

I’m trying too but no peers… I have a NAS and will let it seed as long as possible but for now… 0%

wpDiscuz