
Type f
google/mozc-devices
Circuit diagrams and firmware source code for Gboard DIY keyboards

This project is centered around making a digital synth using a custom designed keyboard cape. The inspiration for this project came from the Stylophone, an analog synth which used a stylus keyboard.
DigitalSynthCape is an open-source printed circuit board by manthelt, from the manthelt/ECE434FinalProject repository on GitHub. It is a 2-layer board of 86.4 × 54.6 mm with 25 parts on 21 nets, routed with 84 tracks and 11 vias.
Its parts include 18 resistors and 1 connector. It belongs with the audio and music boards of this library.
Larissa Krakora, Ash Collins, Logan Manthey
Table of Contents
![]() |
|---|
| Project Overview |
This project is centered around making a digital synth using a custom designed keyboard cape. The inspiration for this project came from the Stylophone, an analog synth which used a stylus keyboard. Our project currently has capability to play songs, navigate songs, take and play user input, record and play back user input, and has two octaves for that "manual mode". We also have a simple UI via Flask for the controls, and the display of the title of the current song. We wanted to add audio visualisation on an LCD, but we were barely even able to get anything to display on the LCD. We gave that up as we sunk too many hours into it and would rather add new features. Our project has many different capabilities related to sound.
Hackster IO Link: https://www.hackster.io/larissa3/sound-project-77327a
ELinux Page Link: https://elinux.org/ECE434_Project_-_Sound_Project
Here is a video that shows our project in operation.
This section decribes the hardware portion of the project and which parts and designs were used.
- 17 1206 Resistor of Varying Sizes
- [Resistor List for Note Values](#resistor-list-for-note-values)
- 1 Potenimeter
- 2 2 Pin Male Connectors
- 1 1 Pin Male Connector Note for the connectors I used large ones that I cut down to size
This section decribes the keyboard section of the hardware and it's theory of operation
![]() |
|---|
| Beagle Bone Keyboard Cape Render |
In short this keyboard acts as a form of potentiometer where connecting the 1.8 volt line to the different nets allows a different value to be read by the analog input as there is a different resistor connected to each one of the note nets.
The keyboard cape was designed using KiCAD EDA software. KiCAD is an open source easy to use EDA software that allowed us to quickly design and then print out a PCB prototype on campus using the CNC mill. If we were going to redesign this for real manufacture we would add more headers to make it more stable. We would also add a spot for a pull down resistor to the board itself.
![]() |
|---|
| Beagle Bone Keyboard Cape Schematic View |
![]() |
|---|
| Beagle Bone Keyboard Cape PCB View |
![]() |
|---|
| Beagle Bone Keyboard Cape Inital CNC Print |
These values were chosen to allow for a somewhat even distrubtion of values which will translate to a even distrubtion of values. We then added a pull down resistor to allow for a even larger distributing of notes.
Note Ohm
0 47000
1 33000
2 22000
3 15000
4 10000
5 6800
6 4700
7 3300
8 2200
9 1500
10 1000
11 680
12 470
13 330
14 220
15 150
16 100
17 0In addition to the keyboard acting as a potentiometer there is also a normal potentiometer that can act as a volume control or however you would like to program it. That potentiometer is located here.
![]() |
|---|
| Beagle Bone Keyboard Cape Inital Print |
PCB Design and Solder Logan
Sound Generation and USB Audio Logan, Ash, Larissa
LCD Visualization (not working - dropped) Ash, Larissa
Flask Ash, Larissa
Documentation Logan, Ash, Larissa
Future Additions - More features on the Flask App - More Synth Options and possbile Digital Signal Processing - Possible Second Pot Features - Pitch Bend - Wave Adjustment (Example: Sin Wave to Sawtooth to Square) - Being able to play over background songs and beats - This would let you solo with the keyboard over tunes like free bird - Adding a loop for recording playback would be able to allow for more intense soloing - LCD Screen - We attempted to get the LCD screen to work with the bone but this proved to be very difficult especially with a UI if we had LCD working with it we could make it into a smaller self contained package - Hardware - Adding buttons to the cape - Making the cape more stable on the bone - Printing the PCB at a PCB House
Overall our group thinks our project was a success. Our approach of making something simple and adding features to it proved to be very useful and allowed us to pivot as needed. This also allowed us to always have something to demo at every stage of our project. We also thought the interactive nature of the project made this a really fun project to demo.
Above in future work shows a few different features that we would like to add to the project.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 17 | R | Resistor_SMD:R_1206_3216Metric | R1, R2, R3, R4, R5, R6, R7, R8, R10, R11, R12, R13, R14, R15, R16, R17 +1 |
| 4 | MountingHole_3.2mm_M3_DIN965 | MountingHole:MountingHole_3.2mm_M3_DIN965 | MH1, MH2, MH3, MH4 |
| 1 | |||
| 1 | BeagleBone_Black_Header | Connector_PinHeader_2.54mm:PinHeader_2x23_P2.54mm_Vertical | P9 |
| 1 | COM-09806 | Project:TRIM_COM-09806 | R18 |
| 1 | LOGO | LOGO | G*** |
It measures 86.4 × 54.6 mm and has 2 copper layers, 1.6 mm thick.
25 parts. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the manthelt/ECE434FinalProject repository on GitHub, at the commit this page was made from: the board is Hardware/DigitalSynthCape/DigitalSynthCape.kicad_pcb and its schematic Hardware/DigitalSynthCape/DigitalSynthCape.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask manthelt before reusing the design.

google/mozc-devices
Circuit diagrams and firmware source code for Gboard DIY keyboards

davidphilipbarr/Sweep
Sweep - a small promicro based keyboard inspired by the Ferris.


hackclub/OnBoard
💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

xyphro/UsbGpib
Versatile, cheap and portable USB to GPIB converter (USBTMC class based)


jes/scamp-cpu
A homebrew 16-bit CPU with a homebrew Unix-like-ish operating system.
