Zynthian 5.1 Buttons Not Working [Solved]

Hello.

Just got my Zynthian v5.1 and have assembled it. It seems like everything is working except the buttons. They do not light up, nor does pressing them do anything. Providing videos and pictures.





Any suggestions to get this working?

Thank you!

Hi @wmnelis !!

It looks (second picture) like you connected the control-1 flat cable upside-down. The contacts side should be facing up and you inserted the cable with the contacts side facing down. Please check all your wiring to be sure is OK. For all FPC connectors, cable contacts side should be facing-up when inserting.

The cable color has changed recently (from grey to black) ) and it doesn’t match the tutorial pictures. I’m adding some comments and notes to the tutorial to avoid further problems. I will try to update the pictures ASAP.

All the best!

1 Like

Sadly this is not the solution. I took it apart again and reinserted the control cable. The contacts are facing up on both the main board and the control board. It may be hard to tell from the pictures, but this is how it was inserted initially. Same issue.

Thanks.

Have you tried with a fresh-burned SD?
Autodetection only runs on first boot.
You can reset the card by runner ng this command from terminal:

set_first_boot.sh

if this doesn’t work, please send the output from this command:

cat /root/first_boot.log

Also, please check that flat cable contacts are not damaged.

regards

1 Like

Ok. So I reflashed the Zynthian OS onto the card. Now I am getting even more issues (strange as I didn’t do anything with the hardware this time). I have attached an image of what shows on the screen now.

I also attached the original output from first_boot.log (the text file ending in ā€œOriginalā€), and the output from today (the text file ending with today’s date).

Any thoughts?

(attachments)

ZynthianFirstBootLog-2025-05-19.txt (3.61 KB)
ZynthianFirstBootLog-Original.txt (2.51 KB)

Hello. I seem to be having the exact same issue but in reverse… Let me explain. On my very first boot I got the same upside down splash screen with the same Audio/MIDI error showing. I connected an ethernet cable and rebooted. I was able to log in to the web interface. I noticed that my configuration stated Wiring: TOUCH_ONLY. Under Hardware/Kit it showed as custom. I switched this to V5. After rebooting the screen fixed itself (right side up) and the audio midi error vanished. The keys also ALL lit up in the various colors they should as far as I can tell, BUT… none of the buttons or encoders do anything. I noted the config screen now says I2C not detected. The touch screen is working. I get audio output and midi input so I have a usable audio system but no physical controls other than the touchscreen. My first thought also was if I had hooked up the ribbon cable to the control board the wrong way (and as stated the instructions pictures did not match the color of ribbon cables in the 5.1 kit). Based on what was stated previously in this thread I also checked my connection and it was correct as far as what was stated in this thread. Also, when disconnecting the one end of the cable to check, I left it disconnected and booted up that way because in my case the buttons were lit up after I changed the kit config to V5. I suspected they would not be lit without this cable connected and they did not light up after disconnecting it. I reconnected the cable again as it was and I’m back to where I was with the buttons lit but not working. I used a new 128gig sandisk ultra micro sd card and wrote my Zynthian image to it using Rufus version 4.7. I am now in the process of opening another brand new sandisk extreme 128gig micro sd card to try that. If needed I can provide all the same log files etc. I guess my question is if the cables were all correctly connected and my buttons light up. Is this still an issue with the sd card image or a config file somewhere or is this a hardware issue? I would tell you to try changing your webconfig kit setting to v5 like I did and see if your buttons light up and it fixes the screen, but I honestly don’t know if that might hurt something. I assumed it could not but I would rather someone that knows more than myself weigh in with an opinion on that. Also, it did not change the fact that my buttons and encoders don’t work. Any assistance would be greatly appreciated.
zynthian_logs_05-19-25.pdf (1.1 MB)

I think the most likely route to happiness would be a 32 or 64GB Sandisk or Samsung SD card, and a fresh write of the Zynthian image to the smaller card. Many people have had problems with larger cards. The inverted screen seems to indicate that Zynthian did not finish setting itself up correctly. If things are working right it should recognize the V5 or V5.1 hardware by itself, and you should not have to change the setup manually. We don’t know what else didn’t get set up properly.

Thanks for the advice. I oddly can only seem to find only 128 or 16 gig cards laying around at the moment. I have ordered a few 32 and 64 gig sandisk cards. I’ll end up using them for something either way. I have tried again with a brand new 128gig sandisk card but this time I tried the Raspberry Pi imager software instead of Rufus but it yielded the exact same results. I will try a 64/32 gig card as soon as they arrive. I really hope it’s something that simple. Is there a ā€œbestā€ recommended imager software to use for Zynthian? I’ll continue to follow this thread and update with any changes or try any suggestions that might help. Thanks.

Yes, Raspberry Pi Imager. https://www.raspberrypi.com/software/

There is a ā€˜lite’ version of Zynthian that will fit on a 16GB card by leaving off some sample files if you want to try it:
https://os.zynthian.org/2025-04-10-zynthianos-oram-2504-stable-nosfz.img.xz

Sadly the lite version using raspberry pi imager with 16gig card (pulled from working pi) had the exact same results. Upside down splash screen, with error in red. I did not test further. I’m out of ideas for tonight. I will check back next free time I have and also try the 32 or 64gig cards if they arrive today just to rule that out. If any other suggestions in the mean time I’m all ears. Thanks again.

I thought of one other thing to try, removing the extender cable from the RPi and putting a freshly written SD card directly in the RPi instead. Of course you wouldn’t have to leave it that way, but if it works that way we’d have a better idea what the problem is (something SD card related), and if it doesn’t we’d have to consider other possibilities, more control board related.

Hi @Caswartz !

From the first boot log it’s clear that control board is not being detected. It could be bad wiring, not well inserted, connector damaged or not totally closed, damaged cable (contact terminations?), etc. It also could be faulty control board, but every board pass a functional quality check before packaging, so i would double-check wiring before thinking of faulty control board.

I’m working to improve first boot autodetection process, but currently you must reflash or reset SD-card after a failed first boot. Reset the SD-card is easy. From webconf terminal:

set_first_boot.sh

(@Caswartz, i see you already did this)

Regards,

1 Like

Hi @wmnelis !

If you look into the first log boot you can read this:

ERROR: Undetected Hardware [ā€˜MCP23017@0x20’]

This means that control board is not being detected, same than @Caswartz . You should follow same guidelines:

Of course, you don’t be worried because if control board is faulty we would send you a replacement with no cost for you. Having a faulty control board is not frequent unless you connected things reversed or something like that.

Regards,

1 Like

I have checked the control wire twice now. It was inserted the correct way booth times. I completely reflashed the SD card on my second attempt. I will try a smaller card next.

Is there a way to continue this conversation elsewhere? This thread is becoming hard to follow.

Hi @wmnelis and @Caswartz !

Could you send me the output from this command:

i2cdetect -y 1

Thanks

1 Like

My output is attached as a text file to preserve formatting.

(attachments)

zynthian_i2cdetect_out.txt (493 Bytes)

As supposed, control board is not connected or not working. Both MCP23017 are missed, what suggest a connection problem. I2C is working because the rest of chips are detected, so it doesn’t seem a short cut in the I2C lines that could be produced for bad soldering in the PCB connectors. Please, verify carefully the flat cable, both sides. Please, send detailed pictures of terminals. If possible, take a look to the soldering of CONTROL-1 connectors, both, main board (specially!!) and control board. Look for solder bridges. If possible, send pictures.

Thanks!

1 Like

Ok. Will do. The only other thing I can think might be an issue is related to the connection to the control board. In my initial pictures the flat cable curves up on the sides. Almost like it’s too wide for the connector. Could this be an issue?

Can you provide the specs for the control cable? I have never ordered this type of cable before. It might be good to try one that fits better.

I2C_detect_first_boot_32gig_05-20-25.txt (4.4 KB)

I have flashed a new image to a brand new 32gig Sandisk card using Raspberry pi imager with the same result. I have attached the output of my first boot log along with the I2C output which looks to me the same as wmnelis log. I have also re-seated every connection at this point with the exception of the screen as the screen is working fine. I will check the control board again as best I can.