Building a Zynthian Box using an official Kit v3
This tutorial is mainly intended for those who are building a Zynthian Box using one of the official kits, that i offer here:
Specifically, the instructions are for the assembly of kits v3 (version 3), those using the All-In-One circuit and the ZynScreen v1.4 display.
Anyway, the instructions are quite detailed and can be used as inspiration for building a custom Zynthian Box from scratch. Of course, you will have to be creative if you want to do it in such a way ;-)
Bill of Materials
- Zynthian Basic Kit (custom PCBs, electronic parts, wiring and knobs) Visit the Zynthian Shop
- Case kit, including nuts, bolts and connectors. Visit the Zynthian Shop
- Raspberry Pi 3
- HifiBerry DAC+ADC souncard
- OzzMaker PiScreen 3.5" touch-display
- Power adapter for Raspberry Pi (5.1v 2.4A with microUSB connector)
- 16GB SD Card (a good one, please!)
It's an open project with the goal of creating an Open Synth Platform based in Free Software and Open Hardware Specifications & Designs (when available). It's a community-driven project. If you are here, probably you already know all this ;-)
The Zynthian Software stack consist of:
+ GNU Linux Operating System: Raspbian Jessie (Minibian is used in the most recent SD images) + Jack Audio Daemon + MOD-HOST + MOD-UI software, from ModDevices (github repositories) + A collection of standalone Synth Engines & LV2 Plugins (see Supported Synth Engines & Plugins) + Zynthian User Interface (github repository)
All the software used by Zynthian is Free Software (free as in freedom, not as in free beer) and it's covered by the GPL license or similar. If you don't know what i'm talking about, please, take a look to this:
The easiest way of getting the software is downloading the last official SD image from here:
It's a 8GB compressed image file (plenty of soundfonts) compiled for Raspberry Pi 3. (Please, keep feeding the torrent after downloading!)
These SD card images include all the Zynthian software, properly configured for working with the official kits. Completely ready to use. Plug and play!
After downloading the SD-image, you have to write it to a SDcard. You need a SD card with a minimum size of 16GB, although you can use a bigger one if you want.
If you don't know how to do it, you can use Etcher (free software works on Mac, Windows or Linux) to flash the image onto the SDcard. Or do it manually! There is a really good manual for this at this link.
Finally, if you like, you can build your own SD image following these instructions:
A Zynthian Box is a hardware device, a small digital computer designed to run the Zynthian Software. Currently it's based in the Raspberry Pi platform, but it could be easily adapted to other computer platforms.
This is a sketch with the main blocks of the official Zynthian Box:
In the project's repositories you will find all the electric schemes, PCB specifications, Herber files, etc. to build your own Zynthian Box from scratch:
The official version is the canonical reference. Of course, you don't have to build the official version. You can build your customized Zynthian Box modifying and improving what you want. If you do so, some feedback would be very appreciated ;-)
A Zynthian Kit is a set of specific and generic electronic modules designed or picked for building a Zynthian Box. This tutorial refers to the official Zynthian Kit v2, that is composed of these specific parts:
+ 4 x Controller Modules (rotary encoder + switch) + 1 x All-In-One Module (GPIO expander + MIDI IN/OUT/THRU) + 1 x Main ribbon bus cable + Wiring Kit with JST connectors
and these generic parts:
+ 1 x Raspberry Pi 2/3 + 1 x Hifiberry DAC+ (also pro & lite) + 1 x PiScreen 3.5' Touch-Display
You can take a look to some of the alternate builds made by some community members:
It's the enclosure used to put on all the parts. Again, this tutorial refers to the official Zynthian Aluminum Case v2, that is designed to be used in conjunction with the official Kit v2.
This case is available as a kit, including all the needed connectors, knobs, bolts & nuts:
If you intend to use a different soundcard or display, probably it won't fit the case and you will have to modify it. Of course, you can build your own customized case. Here you can find some examples from the community:
Building the Zynthian Kit parts
Building your own Zynthian Box is not very difficult, but you will need all your attention, some basic tools and a few skills. Read the instructions and observe the detailed photos carefully. If you get in trouble you can ask the community:
For building the hardware you should have the following basic competences:
+ Soldering + Basic understanding of reading basic electronic circuit diagrams + Enjoyment of work with electronic hardware and parts
And this is the list of required and recommended tools:
+ Soldering iron + Tin-solder + Wire-cutter + Small Plier + Screw-drivers Philips + Wrench, for potentiometer nuts (recommended) + PCB holder for soldering (very recommended!) + Small iron brush (very recommended!) + Magnifiying glass (recommended) + A vice (recommended) + A hand saw for metal (recommended) + Multimeter (recommended!)
Some general recommendations
1. Be careful to protect the components from electrostatic discharge. This is most critical for the ICs and the diodes. Be careful with your fingers. Your body can hold a good amount of static electric charge. Under some circumstances that charge can be drained through some of the components that you are handling and this could break the component. Try to hold the PCBs by the borders and discharge your body frequently touching some "ground" with your fingers.
2. Before soldering, please, check that you are soldering in the right side of PCB, also that components orientation is correct (ICs, diode)
3. When soldering, always avoid overheating. Electronic components doesn't like overheat! This is specially important when soldering the big connector in the HifiBerry soundcard. If you overheat the circuit, probably you will break some electronic component and you will end with a dead board. I recommend to use a fan while soldering. If not, you can use your mouth ;-) Also, don't solder the contacts in order. It's better to jump from one to another in the oposite corner. If you are not sure of your soldering skills, please, take your time and do some practice with inexpensive components and prototyping board.
4. After finishig the soldering, brush smoothly all the contacts. You may use a small iron brush. After that, blow over the circuit to remove any remaining tin.
5. Inspect visually all the soldered contacts. You could use a magnifying glass for verifying that every soldered pin looks good. If you are not sure, perhaps you could add more tin or re-solder the pin. Also, you could use a multimeter for testing the dubious contacts.
6. And of course, double-check everything! Assembling and wiring process are prone to errors. Don't be too confident ;-) Re-check component's orientation (ICs and diode), wiring, etc.
Assembling the Controller Modules
The controller module kit is composed of:
+ 4 x controller PCBs + 4 x rotary encoders with switch (PEC11R-4215K-S0024) + 4 x ceramic capacitor 100nF (C1) + 8 x ceramic capacitor 10nF (c2, c3) + 4 x 4-pin JST male-angle connector
This components are used to build the 4 controller modules that form the input side of the physical Zynthian User Interface. Each controller embed an incremental rotary encoder and a switch, so 4 wires (A,B,SW,GND) are needed for connecting it.
These are the steps for building one module:
0. Be sure that you have read and understdood these recommendations. 1. Bend the encoder's securing tabs to 75º, so you can insert it in the upside of the PCB (the labeled side!). Please, be very careful when bending the tabs as the encoder case is quite fragil and could be deformed. I recommend to use a small plier and not reaching to 90º. 2. Place the 100nF capacitor in C1 position (the most right!). This is for debouncing the push switch (SW). 3. Place the 2 x 10nF capacitors in C2 & C3 positions. These are for debouncing the rotary encoder contacts (A,B). 3. Solder the encoder and capacitors carefully. 4. Place the JST connector in the downside of the PCB, with the angle pins facing inwards (look the photo!) 5. Solder the JST connector carefully. 7. Use the plier to close the encoder's tabs again, trying to "catch" the PCB.
You have to build 4 controller modules, so you to have to repeat the steps 4 times.
Assembling the All-In-One Module
The All-In-One module kit is composed of:
+ 1 x All-In-One PCB + 1 x GPIO-expander MCP23017 => 28-pin IC + 3 x opto-coupler H11L1 (OC1,OC2,OC3) => 6-pin IC + 3 x diode 1N4148 (D1,D3,D4) + 1 x diode 1N5819 (D2) + 3 x resistor 1K (R3,R4,R9) => brown-black-red (*) + 1 x resistor 10K (R10) => brown-black-orange (*) + 1 x resistor 100 (R1) => brown-black-brown (*) + 2 x resistor 4K7 (R5,R7) => yellow-purple-red (*) + 3 x resistor 470 (R2,R6,R8) => yellow-purple-brown (*) + 4 x ceramic capacitor 100nF (C1,C2,C3,C4) + 7 x 4-pin JST male connector + 1 x 40-pin-double-row male connector
(*) Read from left to right with the tolerance ring (gold or silver) on the right.
These are the steps for building the All-In-One module:
0. Be sure that you have read and understood these recommendations. 1. Place the passive components (resistors & capacitors) in the upside of the PCB (the labeled side!). 2. Solder the components carefully. Always avoid overheating! 3. Place the ICs and diodes in the upside of the PCB (the labeled side!). Put attention to the orientation of these components!! 4. Solder the components carefully. Always avoid overheating! (*) 5. Place the connectors in the upside of the PCB (the labeled side!). 6. Solder the components carefully. Always avoid overheating! (*)
(*) You could use some tape for fixing the components while soldering, specially for ICs and connectors.
Tweaking the HifiBerry DAC+ soundcard
If you are using the HifiBerry DAC+ soundcard (also lite & pro versions), you should add 2 extra connectors to the board:
+ 40 row-pin GPIO male connector, for connecting the main ribbon bus cable + 3 pin header connector, for connecting the extra audio line-out Jack connectors
Both connectors must be placed on the top side of the board, so you should solder the contacts on the bottom side.
WARNING! Soldering the big 40-pin connector can be difficult if you don't have enough practice. Please, before starting be sure that you have read and understood these recommendations.
Tweaking the OzzMaker PiScreen 3.5' touch-display
The standard OzzMaker PiScreen 3.5 'touch-display have 2 connectors: a female connector ready for connecting the display as a hat and a male connector placed in the side. The official aluminum case and the ribbon cable are designed for the side male connector. The female connector can be annoying and should be removed for better closing the case.
If you got your PiScreen from a "Bundle-All" kit, you probably don't have this annoying female connector, so you are lucky and don't need to do anything here. If you have it, then take the saw and remove the connector carefully.
Other Soundcards and Displays
If you are using a different soundcard or display, you'll have to see the best way to integrate it. If you do so, please, don't forget to give good feedbak in the forum or here, in the wiki.
In the forum you can see what other users have done, and of course, don't doubt to ask whatever you want!
Building the MIDI-IN/OUT/THRU connectors
Before mounting the MIDI-IN/OUT/THRU connectors into the case we will solder the needed wires that allow connecting it to the All-In-One circuit using a JST connector. Doing it in that way is rather more comfortable than trying to solder inside the case with all the wiring mess.
JST Connector wires
* JST White (1) => LED's Anode (LED's red wire/long lead) * JST Yellow (2) => LED's Cathode (LED's black wire/short lead) * JST Black (3) => pin 5 of MIDI connector * JST Red (4) => pin 4 of MIDI connector
If you want (i strongly recommend you do it!), you can protect the contacts using heat-shrink sleeve (the red sleeve pieces in the photo). In that case, remember to insert the sleeve pieces before soldering ;-)
Depending of your case version, you will need to build 2 or 3 MIDI connectors.
Building the JACK Audio-Out connectors
In the same way, before mounting the Jack connectors into the case we will solder the needed wires. You can use heat-shrink sleeve too.
Assemble the Main Computing Block
The main computing block is composed by the RBPi and the HifiBerry soundcard, and shouold be assembled using the next set of separator & bolts:
For easier assembling, you should follow the next steps:
1. fix the 2x4 separators to the RBPi. The bigger one must be on top and the smaller one on bottom. 2. insert the Hifiberry soundcard in the RBPi. 3. screw the 4 bolts on top of the HifiBerry.
Secure the Main Computing Block
After assembling the main computing block, you should secure it to the case. Use 4 black M2.5 bolts (see photo above).
Secure the All-In-One module
Secure the All-In-One module to the case using 4 x separators and 8 x M2.5 bolts.
Secure the Jack connectors
Put the rings on the outer side of the case to avoid damaging the case surface when you tighten the nuts.
Secure the MIDI-IN/OUT/THRU connectors
Just insert the connector with the JST-wire from the out-side of the case and the nut from the innerside. A pair of pliers can be useful for tighten.
Mount the MIDI activity LEDS
Insert the 3 LEDS in the case holes. You may want to push the LEDs with something more rigid than your finger. The screwdriver's handle could be fine.
When it's done, you have to solder the 2 LED wires (red/black) with the 2 spare wires on the MIDI JST harness (white/yellow). Polarity is important, so don't cross the wires:
* JST White wire (1) => LED's Anode (LED's red wire/long lead) * JST Yellow wire (2) => LED's Cathode (LED's black wire/short lead)
After soldering all the 3 LEDs, you may want to protect the connection with heat shrink sleeve, adhesive tape or hot melt glue.
Secure the Display
For fixing the display to the case cover, you have to use this set:
It's composed of 4 bolts, 4 nuts and 4 nylon separators. Before fixing the screen, don't forget to remove the protective plastic sheet.
Secure the Controllers
Fix the 4 controller modules to the case cover using the 4 bolts and washers attached to every rotary encoder.
IMPORTANT: For avoiding problems while closing the case, i recommend to mount the controller modules with the connectors facing one another. See the photo below.
Insert the knobs
You should insert the knobs into the encoders before closing the case. This will avoid forcing the encoders too much as otherwise, you could break them. Follow these simple steps and you wouldn't have any problem:
* moisten with water or saliva the encoder stem and the knob hole * press the encoder PCB with the finger from the rear side while pushing the knob from the front side until is completely inserted
Stick the rubber feet
The new Zynthian Kit 2 is designed to use JST connectors, so connecting everything is really straight-forward:
- Connect the Main Ribbon Bus cable to the RBPi's 40-pin header and also to the All-In-One module
- Connect the 4 double JST cables to the 4 controller connectors on the All-In-One module (CTRL1, CTRL2, CTRL3, CTRL4)
- Connect the 2 JST cables from the MIDI connectors to the MIDI-IN and the MIDI-OUT/THRU connectors on the All-In-One module. Note that currently only 2 connectors are available in the official aluminum case, so you have to choose what do you prefer: MIDI-OUT or MIDI-THRU ;-)
At this point, your Zynthian Box should look something like this:
- Connect the 4 x Controller Modules following the right numbering: from top to bottom and from left to right.
- Connect the Jack connector to the auxiliar audio-out connector on the HifiBerry soundcard. It's the 3-pin JST connector that you soldered before:
Connect the Display
And finally, connect the ribbon's 26-pin connector to the Display's male side connector. Put attention to the orientation. The red wire should be the pin 1 that as marked in the display's PCB surface.
Testing your Zynthian Box
And that's all. Your Zynthian Box is almost ready to boot. I recommend that you double-check everything before trying to boot.
Double-check part's assembling and wiring
It's easy to make a mistake while assembling the parts or connecting the wires. Some errors can be dangerous for the electronic components (short-circuits, some specific bad-wiring combinations) so it's better to be sure that everything is correctly assembled and connected.
When you are pretty sure that everything is in its place, it's time to boot by first time, so:
1. Insert the SD-card with the zynthian image ready to run. If you don't have one yet, read this. 2. Plug the mini-usb power conector. A good 5V micro-usb charger is recommended (> 2 Amp).
If you are using a SD image pre-configured for the Zynthian Kits v2, these are the stages that you should see while booting:
1. Initially, the display must go white 2. After 5-10 seconds, it will show the Zynthian splash screen 3. After 1-2 seconds, it will go black 4. If you are using a fresh zynthian image and it's the first boot, the stages 2 and 3 will be repeated 5. After 5-10 seconds, the zynthian UI will be shown
If you get the Zynthian UI, congratulations!!! You are really close to get it!!
If not, bad luck! Probably you made some mistake during the mounting process. You have to locate and solve the problem(s).
If you are using an older SD image that is not pre-configure for the Kit v2, then you should configure your Zynthian Box's hardware using the webconf tool. These are the adjustments you have to do:
- Display: PiScreen 3.5 (v2)
- Audio: HifiBerry DAC+
- Wiring: MCP23017_ENCODERS
- Style: FontSize = 14
Test the Controllers
If you get into the Zynthian UI, then you should be in the 'Layer Selection' screen. Let's start testing that your controllers are working OK.
1. Push 'select' to create a new layer. You should get into the 'Engine Selection' screen.
If it doesn't works, try pushing the 'snapshot' controller. Perhaps you have cross-wired the 3 & 4 controllers and in that case, you have to fix the wiring. If it doesn't work, try pushing the other two controllers and rotating the controllers. If something happens, most probably you have reversed the wiring order when connecting the controllers. Double-check the wiring again.
2. Rotate the 'SELECT' controller to select the engine you want to start for the new layer.
The selector must go down when rotating clockwise and go up when rotating counterclockwise. If the rotation sense is reversed, you should check the wiring.
3. Select the ZynAddSubFX engine, select channel #1, bank and preset. You should get into the 'Instrument Control' screen.
4. Rotate every control to test that it works and that the rotation sense is correct.
If some controller doesn't work correctly, check the wiring again. You could try to figure what is happening by analizing the observed behaviour.
5. Push 'BACK'. You should go back to the 'Preset Selection' screen.
6. Push 'Layer' again to return to the 'Layer Selection' screen. Try to create another layer following the same procedure.
7. From the "Instrument Control" screen, push 'Snapshot' to get into the 'Load Snapshot' screen. Push 'Snapshot' again to 'Save Snapshot'. Push 'BACK' to return to the 'Instrument Control' screen.
If everything is working OK, then you should read the User's Guide and start enjoying your Zynthian Box, but before that ...
Test the Audio Output
1. Connect the audio output (RCA or Jack connectors) to your amplifier or auto-amplified speakers. 2. Boot your Zynthian. You should be in the initial 'Layer Selection' screen. 3. Push BACK and you will get into the 'Admin' screen. 4. Select 'Audio Test' option and push 'SELECT'. You should hear the test audio-track: a nice afrocuban stuff ;-) 5. Push 'BACK' to stop the playing, and 'BACK' again to return to the "Layer Selection' screen.
If you hear nothing, please, check the amplifier, speakers, cabling, gain, volume, etc. If nothing works, you have to locate and solve the problem(s).
Test the MIDI subsystem
1. Connect the audio output (RCA or Jack connector) to your amplifier or auto-amplified speakers. 2. Boot your Zynthian, select FluidSynth engine, channel #1 and 'FluidR3 GM' bank. Select some instrument. 3. You could add more layers for completing the band ;-) 3. Push BACK, holding the switch pushed more than 2 seconds. You should get into the 'Admin' screen. 4. Select 'MIDI Test' option and push 'SELECT'. You should hear the test midi-track ('Take Five') interpreted by your Zynthian's band ;-) 5. Push 'BACK' to stop the playing
If you hear nothing, please, check the amplifier, speakers, cabling, gain, volume, etc. If nothing works, you have to locate and solve the problem(s).
Test the MIDI-USB inputs
1. Connect the audio output (RCA or Jack connector) to your amplifier or auto-amplified speakers. 2. Boot your Zynthian, select ZynAddSubFX, channel #1, bank and instrument 3. Connect a MIDI-USB keyboard to any USB port. The keyboard should be configured to use channel #1. 3. After 2-3 seconds , play something with your keyboard. A simple Chopin's Nocturni would be enough. You should hear your music. If you don't like it, probably you should take some piano lessons, same as me ;-)
If this doesn't work, you have to locate and solve the problem(s).
Test the MIDI-IN connector
1. Connect the audio output (RCA or Jack connector) to your amplifier or auto-amplified speakers. 2. Boot your Zynthian, select ZynAddSubFX, channel #1, bank and instrument 3. Connect your keyboard's MIDI-OUT to the Zynthian's MIDI-IN using a MIDI cable. The keyboard should be configured to use channel #1. 3. After 2-3 seconds, play something with your keyboard. OK! A single melody can do the task. You should hear your song ;-)
If this doesn't work, you have to locate and solve the problem(s).
Once everything is in its place and you have tested that it works, it's time to close the case ...
Close the case
Take your time to see how to bend and drive the cables to get a good fitting when closing the case.
Finally, screw-drive the 8 sheet-threader bolts for securing the case, 4 each side.
Update your Zynthian Box
If you are using the official Zynthian SD Image, the first thing you should do after booting up your Zynthian Box and having the controllers working OK is update the software:
- connect the Zynthian Box to your router using a RJ45 cable - update zynthian software from the admin menu - update zynthian library from the admin menu - restart GUI (or reboot) from the admin menu
The update process can take some time. Be patient. If you get some ERROR message while updating, please, ask in the forum. You can send a photo or description of the error message.
Locating and Solving problems
In this section i will try to give you some tips for locating and solving the problems you may have.
For finding and solving problems, i really recommend to connect a HDMI display to the RBPi. It will give you accurate information during the booting sequence. Also, if you connect a USB keyboard, you can login into the system and get extra information, inspect the logs, etc.
The display don't go white in the boot stage 1
I recommend you disconnect the controller and 2in1 modules and try to boot again. If the problem persist it's very probable you haven't solder correctly the side 26-pin connector. You should double check the connector and be sure that it's correctly soldered.
The display don't show the zynthian splash screen in the boot stage 2
In that case, probably the system is not booting correctly. You could try to connect a HDMI display and see if the system is booting. If you can't see the booting sequence, then you should re-burn your SD-card with the Zynthian image. Also, check that your image file is correct by using the SHA1 signature.
More coming soon ...
You can't solve the problem
If you can't find a solution for your problem, ask the community:
Also, if you found a solution for a problem not described here, please send feedback to the community, or better, edit this wiki! ;-)
Finally, i have included here some detailed schemes. People hacking the standard Zynthian design would find it very useful. Also, if you have some problem and need to "debug", you would find it useful too.
You can find all this info and much more in the project's Hardware Repository.
This is the electrical scheme of the All-In-One circuit: