Noob building custom Zynthian


I’m totaly new to this, both electronics and synthesis, and very keen to learn and explore electronic music. And i decided to build my own Zynthian box as i’m a student and on a budget.

So, i’ve finally recieved all my parts from china and just now started to put it all together, and of course already run in to some problems!

The screen is working as it should, haven’t tested the touch yet. But I cant seen to boot correctly.

I’m booting in to the Zynthian Error screen, with my local IP showing. And it seems to be in an infinite loop.

It showed the terminal, then the error screen for a few second, and repeat.

What could be the problem?

I’ve hooked up the 4 encoders with breadboard so far, cross referencing the allinoneboard schematics, MCP23017 datasheet and the picture that is attached in the guide, according to this hackaday guide:

Except for the reset pin, everything is connected.

Thanks in advance!

Here’s my partlist:

Raspberry Pi 3B+
geeekpi 5" screen from ebay
4x EC11 rotary encoders connected with MCP23017 (
Generic PCM5122 DAC+ (
USB Midi keyboard

1 Like

Hi @Neomorph

Welcome to the community. You will need to access the web based configuration via a browser on a computer connected to the same network as your Zynthian then select Soundcard: HifiBerry DAC+ light from the hardware menu. Check out the wiki for information.

Beware, you will soon be receiving a cryptic message from @wyleu which basically means, when you have some audio coming out of your Zynthian, upload a sample to the forum.

You can search the forum for similar noob questions. It happens just about every time!!!

Hi, thank you!

Alright, the encoders connect to the GPIOs, so I cant connect the soundcard and encoder at the some time right now. So i tried to configure it with a generic usb soundcard i got. But it doesn’t seem to work anyways. Can I attach debug logs or something?

haha, I suspected that! And will gladly upload some samples when it all works!

I got the soundcard working and have booted successfully into Zynthian :slight_smile:
But I cant seem to get the encoders working…

As I said, Ive wired them up according to the allinone-schematics, and Ive tried all 3 options for MCP23017 in webUI, and nothing works…

Under advanced options, the pinout for INTA and INTB is pin 36 resp. pin 37, which checks out. But I dont understand the pinout for the encoders:

Encoders A-pins:

Encoders B-pins:

Switches Pins:

Are these pinouts in the allinone-board, or the MCP23017 IC?

Well you say you are using a MCP23017 so rather than using the I/o pins directly it uses the i2c bus connected to the MCP23017.

There is handy tool

i2cdetect -y 1

which will tell you if the synth sees anything of relevance on the 12C bus . . .

Even with the encoders completely miswired this should help.

1 Like

Thank you, @wyleu

But I dont quite understand…

Are you supposed to wire up the encoders to the pi’s GPIO individually?
Doesn’t that make the MCP23017 unnecessary?

This is how its wired for me right now:

Encoders 1-4 to the MCP23017.

MCP23017 is then wired to the pi through pins:

INTA - pin 36
INTB - pin 37
SDA - pin 3
SCL - pin 5
VCC - pin 2
GND - pin 39

Apologies I just re-read a little more carefully.Refresh the thread Try now :smiley:

12cdetect -y 1 is your friend…

It showes up like this:

root@zynthian:~# i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: – -- – -- – -- – -- – -- – -- –
10: – -- – -- – -- – -- – -- – -- – -- – --
20: 20 – -- – -- – -- – -- – -- – -- – -- –
30: – -- – -- – -- – -- – -- – -- – -- – --
40: – -- – -- – -- – -- – -- – -- – -- – --
50: – -- – -- – -- – -- – -- – -- – -- – --
60: – -- – -- – -- – -- – -- – -- – -- – --
70: – -- – -- – -- – --

Aah that’s good . . .


Ignore the UU.

So the 23017 seems to be properly configured.

Yes, so now when I started the pi so test the command this happened:

The encoders were working, though in reverse but the buttons were not working. I guess I could either switch the pins, or change the configuration i the webui?

The i loaded up a synth, and again the encoders all worked, but in reverse but not the buttons.

Then a window opened on my mac (through XQuartz?) displaying a lot of settings for the specific synth, but then the encoders stopped working…

Any idea what just happened haha?

The next best thing is get a camera out and start photographing things. . .

IF your ssh terminal ( I dont know XQuartz) is allowed to pipe the XWindow output from a particular layer then it will do what you describe. IT’s nothing to worry about cos it’s a side effect of firing up the layer the zynth doesnt really realise it’s going on. IT does no harm and it wont happen if you turn off the X window forwarding in the terminal , There’s probably a switch for it somewhere in XQuartz setup. The terminal session will set the display to something like :12.0 which will be the Xwindow on your host machine; you go to run an engine the engine looks for the display to start it’s gui up on, find the :12.0 and runs it there so it pops up on your desktop. Some people run it like that to get at it, but we are pure zynthians aint we … ? :slight_smile:

As to the encoders, Personally I would rewire the pins to match the ‘normal’ settinghs as when you refresh the zynth from a fresh image you will have to remember what you had them set to, and you probably wont do it on the first occasion ( guess who didnt) and you have to work it all out again several months later, with virtually no notes !!

Alright, I understand it now. And yes, i agree, thats nothing im looking for as I want a standalone zynth!

Ill look into fixing so it doesn’t open up XQuartz everytime later on.

But I still dont understand why the encoders is acting up, since they started working a little bit…
Though, the breadboard looks quite messy atm, so I might just rewire it and hope that its just some bad connection somewhere!

And does my pinout of the encoders look fine? 1 and (1) are going to ground. And the rest is wired according to the allinone-schematics.

Sadly can’t open the open the images I don’t know the format…

Sorry, updated them now! Is the schematic to wotk to…

Breadboard are great but they can be a bit rickety… I’d mount the encoders on bits of strip board (veroboard) and solder on to the veroboard . You will have to cut some tracks but it does make it easy to check things are working.

Alright, thank you!

Just measured that some wires were faulty, thats chinese stuff for ya :slight_smile:

Will update after some tinkering!


It turned out to just be some faulty wires, bad connections on the breadboard and also connected 5v to RESET and now it works great!

Will put up a post in the build thread when all the remaining part, such as the case, arives!

Thank you @wyleu and @riban for the support and quick replies!!


Excellent this means that I can swing the full of weight of :face_with_monocle: in your direction. . . .

Delight in the attention and the social pressure !! :slight_smile: