Skip to the content
PCBKitNew board
2 layers281.4 × 126 mmLearnboard, the printed circuit board in 3D

A custom midi keyboard

Size
281.4 × 126 mm
Copper layers
2
Thickness
1.6 mm
Parts
57
Nets
70
Pads
267
Tracks, vias
981, 81
Pours
1
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
18 Mar 2026
Updated
4 Sep 2026

Overview

Learnboard is an open-source printed circuit board by bobis1, from the bobis1/learnboard repository on GitHub. It is a 2-layer board of 281.4 × 126 mm with 57 parts on 70 nets, routed with 981 tracks and 81 vias.

It is built around the PCM5100PW. Its parts include 26 diodes, 17 switches, 10 resistors and 1 IC. It belongs with the RP2040 boards of this library.

Main components

1

README

README.md

Learnboard

Learnboard is a midi keyboard that I designed to "get my foot through the door" of creating hardware projects. This keyboard has 8 keys(16 physical switches). This keyboard has the feature to load "songs" into it. This keyboard also has LEDs that are under each of the 8 keys. These will light up whenyou hit the key or if the song that is loaded requires it.

Features

  • Freeplay mode
  • Song loading/play-along mode
  • Key Acceleration detection

PCB

The learnboard's PCB has 2 layers. image

Here is the schematic for the PCB image

Here is a 3D model of the pcb image

Usage

To use the learnboard in the most basic context you simply hit the keys and the corresponding LED on that key will light up. To use the non freeplay mode you must use the webui that is inside the respective folder(This is a html document). From there you can adjust many things with the learnboard(Such as volume). The song loading works by loading .json files through the webui. To connect the midi keyboard to the webui you have to connect the midi keyboard to your computer. Then click the connect button on the connect window(These windows are partially based on the webos jam).

Flashing

You can get the firmwware from the firmware folder of the repo. For this you can follow the circuit python tutorial for the board here: https://circuitpython.org/board/raspberry_pi_pico/ .

Assembly

(When I actually have everything I will have images) To assemble the learnboard you must first 3d print the case along with it's connectors. You need to print both parts of Case.step and caseTop.step. You need to print 2 Connector.step parts and 2 ConnectorWedge.step parts(This is if you are using printed connectors to connect the top and bottom of the case). You need 4 prints of teh PrintConnector.step file. When you have these printed slot the PrintConnectors into their respective bowtie slots in the cases. image(Looks like this). If you are using the printed connectors slot the Connector.step results into the two holes on the cases.Then put the wedge up the fork of the connector.

Case

image The case can be printed in several pieces. To hold the case pieces that are printed seperately there are "bowtie" connectors to connect these. The connector for the case top and the case bottom can be printed however a machine screw can also be used for that purpose. The .step files will be in the CAD folder. When printing I split the case into four parts. Two of the parts are in the Case.step file and the other two are in the caseTop.step file Here is the link to the onshape. https://cad.onshape.com/documents/c06ae8a09bf7d6a8ae56adf7/w/ad5690a7cddb318995ea60e9/e/03d033c41fe9f6e94a9a3737

BOM

Here is the BOM. I put n/a in place of anything that I already had.

IdDesignatorFootprintQuantityDesignationSupplier and refUnit priceTotal priceComponentPrice
1D19,D18,D22,D25,D21,D23,D24,D26,D17,D20LED_D1.8mm_W1.8mm_H2.4mm_Horizontal_O1.27mm_Z1.6mm10LEDhttps://www.aliexpress.us/item/3256802958597906.html?spm=a2g0o.productlist.main.17.5cc012b2JUNoxb&algo_pvid=18ade842-9c4d-46f5-9020-a6264ce3a351&algo_exp_id=18ade842-9c4d-46f5-9020-a6264ce3a351-16&pdp_ext_f=%7B%22order%22%3A%221936%22%2C%22eval%22%3A%221%22%2C%22fromPage%22%3A%22search%22%7D&pdp_npi=6%40dis%21USD%211.33%210.99%21%21%211.33%210.99%21%402101f54117771528115178500e926f%2112000024337656011%21sea%21US%217446788148%21ABX%211%210%21n_tag%3A-29910%3Bd%3A67ce4d4a%3Bm03_new_user%3A-29895%3BpisId%3A5000000204886261&curPageLogUid=ohG4jBXOPzrI&utparam-url=scene%3Asearch%7Cquery_from%3A%7Cx_object_id%3A1005003144912658%7C_p_origin_prod%3A$0.99$0.99LED$0.99
2SW9,SW15,SW14,SW4,SW8,SW2,SW16,SW5,SW13,SW10,SW1,SW6,SW3,SW11,SW7,SW12SW_Cherry_MX_1.00u_PCB16SW_Pushhttps://www.adafruit.com/product/4955$0.70$12.65Key Switches$12.65
3R10,R7,R2,R6,R5,R9,R8,R3,R1,R4R_Axial_DIN0204_L3.6mm_D1.6mm_P5.08mm_Horizontal10220Ωhttps://www.aliexpress.us/item/3256811723963477.html?spm=a2g0o.productlist.main.42.75ef3dd14GYYV0&aem_p4p_detail=20260425143410119849486879360001853716&algo_pvid=29fe5a74-6d4a-4f3c-bded-00ed547951e4&algo_exp_id=29fe5a74-6d4a-4f3c-bded-00ed547951e4-39&pdp_ext_f=%7B%22order%22%3A%2281%22%2C%22eval%22%3A%221%22%2C%22fromPage%22%3A%22search%22%7D&pdp_npi=6%40dis%21USD%210.92%210.92%21%21%210.92%210.92%21%402101e83017771528504342800eb79f%2112000056987702174%21sea%21US%217446788148%21ABX%211%210%21n_tag%3A-29910%3Bd%3A67ce4d4a%3Bm03_new_user%3A-29895&curPageLogUid=wIeZ0ZQDNPS2&utparam-url=scene%3Asearch%7Cquery_from%3A%7Cx_object_id%3A1005011910278229%7C_p_origin_prod%3A&search_p4p_id=20260425143410119849486879360001853716_11$0.99$0.99Resistor$0.99
4A1RaspberryPi_Pico_Common_Unspecified1RaspberryPi_Picohttps://www.sparkfun.com/raspberry-pi-pico.html?src=raspberrypii$4.60$4.60Raspberry pi_pico$4.60
5U1TSSOP-20_4.4x6.5mm_P0.65mm1PCM5100https://www.adafruit.com/product/6251$3.95$3.95PCM5100$3.95
6SW17RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mm1RotaryEncoder_Switch_MPhttps://www.aliexpress.us/item/3256805796844720.html?spm=a2g0o.productlist.main.9.4d112f4fSXZeMN&algo_pvid=eb9d02a3-f920-4262-a022-a9b573057c96&algo_exp_id=eb9d02a3-f920-4262-a022-a9b573057c96-8&pdp_ext_f=%7B%22order%22%3A%22532%22%2C%22spu_best_type%22%3A%22price%22%2C%22eval%22%3A%221%22%2C%22fromPage%22%3A%22search%22%7D&pdp_npi=6%40dis%21USD%212.61%210.99%21%21%212.61%210.99%21%402101e07217747380086304188e2dac%2112000035172878115%21sea%21US%210%21ABX%211%210%21n_tag%3A-29910%3Bd%3Ae5ad1807%3Bm03_new_user%3A-29895%3BpisId%3A5000000197847458&curPageLogUid=BsEmvmq8uiF0&utparam-url=scene%3Asearch%7Cquery_from%3A%7Cx_object_id%3A1005005983159472%7C_p_origin_prod%3A$0.99$0.99Rotary Encoder$0.99
7D12,D11,D8,D7,D13,D3,D6,D16,D10,D15,D14,D4,D1,D9,D2,D5D_0201_0603Metric_Pad0.64x0.40mm_HandSolder16Dhttps://www.aliexpress.us/item/3256807405706559.html?spm=a2g0o.productlist.main.27.1b48129cFrGIk1&algo_pvid=87449cb5-14c6-4152-86df-b397606df8f7&algo_exp_id=87449cb5-14c6-4152-86df-b397606df8f7-26&pdp_ext_f=%7B%22order%22%3A%224%22%2C%22eval%22%3A%221%22%2C%22fromPage%22%3A%22search%22%7D&pdp_npi=6%40dis%21USD%211.05%211.05%21%21%211.05%211.05%21%402101df0e17747381828495492e3639%2112000041420706589%21sea%21US%210%21ABX%211%210%21n_tag%3A-29910%3Bd%3Ae5ad1807%3Bm03_new_user%3A-29895&curPageLogUid=XZfqPJw1CEqM&utparam-url=scene%3Asearch%7Cquery_from%3A%7Cx_object_id%3A1005007592021311%7C_p_origin_prod%3A$0.11$2.10Diodes$2.10
PCB$18.20
Shipping$22.19
Total$65.67
The .csv file for the BOM can be found here

Poster

image The .pdf file for the poster can be found here

References

https://blueprint.hackclub.com/starter-projects/midi This is a project I got alot of the idea from. https://jams.hackclub.com/batch/webOS Where I got the ideas for the windows from

Parts

57
QtyValueFootprintReferences
16SW_PushButton_Switch_Keyboard:SW_Cherry_MX_1.00u_PCBSW1, SW2, SW3, SW4, SW5, SW6, SW7, SW8, SW9, SW10, SW11, SW12, SW13, SW14, SW15, SW16
15DDiode_THT:D_T-1_P10.16mm_HorizontalD1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15
10220ΩResistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P5.08mm_HorizontalR1, R2, R3, R4, R5, R6, R7, R8, R9, R10
10LEDLED_THT:LED_D1.8mm_W1.8mm_H2.4mm_Horizontal_O1.27mm_Z1.6mmD17, D18, D19, D20, D21, D22, D23, D24, D25, D26
25.326mmMountingHole:MountingHole_5.5mmH2, H4
1DDiode_SMD:D_0201_0603MetricD16
1PCM5100PCM5100APWR:SOP65P640X120-20NU1
1RaspberryPi_PicoModule:RaspberryPi_Pico_Common_UnspecifiedA1
1RotaryEncoder_Switch_MPRotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mmSW17

Questions

How big is the Learnboard PCB?

It measures 281.4 × 126 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Learnboard use?

57 parts, built around the PCM5100PW. 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.

Where can I download the Learnboard KiCad files?

From the bobis1/learnboard repository on GitHub, at the commit this page was made from: the board is PCB/learnboard.kicad_pcb and its schematic PCB/learnboard.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Learnboard design in my own project?

Its repository states no licence, so its author keeps all rights: ask bobis1 before reusing the design.

Similar boards

  • 4 layers102.9 × 96.7 mmPicoGUS chipdown, the printed circuit board in 3D

    PicoGUS chipdown

    polpo/picogus

    Emulation of ISA sound cards and CD-ROM on Raspberry Pi Pico (GUS, SB/Adlib, MPU-401, Tandy, CMS, Panasonic CD-ROM) with USB mouse/joystick support

    99 parts805
  • 4 layers56 × 87.8 mmPicogus104, the printed circuit board in 3D

    Picogus104

    UzixLS/picogus104

    PicoGUS sound card for PC/104 interface

    114 parts23
  • 4 layers47.1 × 33.5 mmGamePad I2S audio, the printed circuit board in 3D

    GamePad I2S audio

    intergalaktik/Extension_Boards_for_Olimex_GateMate

    Simple extension boards for Olimex GateMate FPGA Board

    85 parts20
  • 2 layers71.8 × 26 mmDac attack, the printed circuit board in 3D

    Dac attack

    saybur/dac-attack

    S/PDIF to line-level audio board for use with retro computer device emulators, such as ZuluSCSI and friends.

    69 parts5CERN-OHL-S-2.0
  • 4 layers49.8 × 106.5 mmWaves, the printed circuit board in 3D

    Waves

    marangisto/Waves

    Cordic Accelerated Voltage Controlled Oscillator

    154 parts4MIT
  • 4 layers125.8 × 48 mmBLUETOOTH SPEAKER, the printed circuit board in 3D

    BLUETOOTH SPEAKER

    mbeayou/esp32-hifi-bluetooth-speaker-pcb-board

    A custom high-fidelity Bluetooth speaker PCB featuring the ESP32 (I2S), PCM5100 DAC, and TPA3116D2 Class D Amplifier. Includes Schematics, Gerber files, and BOM.

    115 parts3MIT
  • 2 layers250 × 116 mmMIDI Board, the printed circuit board in 3D

    MIDI Board

    arghya-v/Mini-MIDI-Magic

    A midi controller I made using KICad

    55 parts