Hello,
a few years ago I wasn’t happy with the sound of my old synthesizer (SY-22) and I thought it would be cool to have a small device with “better” sounds that I could plug in and use the synthesizer mainly as a midi keyboard. With a bit of googling I found the Zynthian project and was pretty impressed. Of course, it can do a lot more than what I originally wanted, but I wanted to try it out. To cut this part of the story short, it kind of worked, but I had trouble putting everything into a case and it wasn’t in a very usable state (I mean my attempt).
But now, a couple weeks ago, I wanted to try again. In the meantime, the V5 had been released, and after reading a bit on the forums, I decided to build my own version inspired by the Mini V2, but without the PCB.
I saw my second attempt as a good opportunity to learn some new things:
- CAD to design my own 3D models (previously I had only printed things that someone else had designed)
- Basic electronics
- Soldering
And now it’s almost finished. Only the hardware MIDI connections are missing. But I wanted to show it anyway.
I used a case from an old IPC, flipped it over and replaced the bottom with the newly designed cover. I use:
- Raspberry Pi 4b
- Hifiberry DAC+ADC
- 2xMCP23017 with 4 encoders and 20 switches
- Waveshare 5" DSI display with capacitive touchscreen
The switches are connected to the MCPs like it is done in the V5. In stable everything is working fine. In oram I have trouble with the touchscreen. It is rotated by 180°. I tried the instructions from the waveshare page and added the CalibrationMatrix to the /etc/X11/xorg.conf.d/40-libinput.conf:
Section "InputClass"
Identifier "libinput touchscreen catchall"
MatchIsTouchscreen "on"
MatchDevicePath "/dev/input/event*"
Option "CalibrationMatrix" "-1 0 1 0 -1 1 0 0 1"
Driver "libinput"
EndSection
and I can see in the /var/log/Xorg.0.log that the section is read but it doesn’t change anything. When I change the Wiring from “V5” to “Mini V2” the touchscreen is working correctly. Unfortunately then the encoders are inverted and I have to change the actual wiring (switch a/b on the encoders).
Here are some pictures:
Best,
Nils