

MP-102
The MP-102 Macropad features 10 MX-compatible keys and 2 rotary encoders with optional buttons. It uses a Raspberry Pi Pico (RP2040) or compatible microcontroller as the brains.
- Size
- 76.2 × 99.8 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 23
- Nets
- 34
- Pads
- 182
- Tracks, vias
- 123, 0
- Pours
- 1
- Routed
- Yes
- KiCad
- KiCad 8.0 (file 20240108)
- Created
- 5 Sep 2024
- Updated
- 5 Sep 2024
Overview
MP-102 is an open-source printed circuit board by QEStudios, from the QEStudios/MP-102 repository on GitHub. It is a 2-layer board of 76.2 × 99.8 mm with 23 parts on 34 nets, routed with 123 tracks and 0 vias.
Its parts include 10 switches and 1 IC. It belongs with the RP2040 boards of this library.
README
readme.mdMP-102 Macropad
The MP-102 Macropad features 10 MX-compatible keys and 2 rotary encoders with optional buttons. It uses a Raspberry Pi Pico (RP2040) or compatible microcontroller as the brains. It can be constructed by anyone as long as you have a 3D printer.
Ordering parts
The MP-102 was designed to be built on a budget of around $35 Australian Dollars. Thus, parts were aquired from less reliable places than where you might normally buy them. I've linked the relevant places here as well as in the Layout and BOM.xlsx file, but all of the parts are generic and can be bought from wherever you find easiest (or cheapest).
I ordered the Hot Melt Inserts from the link provided quite a while before I started this project, so I didn't personally factor this cost into the price of my own build of the MP-102.
[All prices in Australian Dollars]
| Item | Price | Link |
|---|---|---|
| 5pcs Rotary Encoder | $5.27 | https://www.aliexpress.com/item/1005003070250718.html |
| 10pcs Keycaps | $4.17 | https://www.aliexpress.com/item/1005005825113345.html |
| 10pcs Key Switches | $4.61 | https://www.aliexpress.com/item/1005006376024657.html |
| Raspberry Pi Pico | $4.32 | https://www.aliexpress.com/item/1005006293406528.html |
| 10pcs Hotswap Sockets | $2.65 | https://www.aliexpress.com/item/1005006737039916.html |
| M2 OD3.5 Holt Melt Inserts | $5.93 | https://www.aliexpress.com/item/1005006465779940.html |
| USB C Cable | $2.39 | https://www.aliexpress.com/item/1005006065386047.html |
| PCB | $5.20 | https://jlcpcb.com/ |
Build Instructions
3D Prints
All 3D model files can be found in the 3D Models folder in this repository.
You might want to first print out USB C Test Piece.stl and make sure that your USB cable fits through the hole, as this is the size of the opening to the USB C port on the Pico.
There are two different files for the knobs, one with 0.1mm tolerences and one with 0.2mm tolerences. I recommend printing both and choosing the one which fits better for you. You can also use the horizontal expansion setting in your slicer to fine-tune this to your liking.
All files (excluding USC C Test Piece.stl) need to be printed only once, apart from the knob file (either Knob 0.1mm Clearance.stl or Knob 0.2mm Clearance.stl), which you need to print 2 of.
The top part of the case should slide onto the bottom part of the case. You'll need to insert the hot melt inserts into the two holes on the underside of the top part of the case.
PCB
The PCB was designed in KiCad, and the project files for the PCB can be found in the PCB folder in this repository.
The gerber files have been included in the PCB/gerbers folder, but your mileage may vary when using them. I recommend re-generating the gerbers yourself, just to be safe.
I ordered the PCBs from JLCPCB due to their very low price and shipping costs, but you can use whichever fab house you prefer.
Make sure to order the PCB with a thickness of 1.6mm as the case was designed for a PCB of that size.
Flashing the Pico
- Install QMK by following this guide.
- Copy the
QMK Definitionfolder into your QMKkeyboardsdirectory, and rename theQMK Definitionfolder tomp102. - Run
qmk flash -kb mp102 -km defaultin the QMK MSYS terminal. When it says it's waiting for the device, plug the Pico into your computer while holding the BOOT button down. QMK should flash the Pico with the correct firmware.
Assembly
- Solder all the components onto the PCB. Make sure that the Pico is soldered onto the underside of the PCB.
- Click the keyswitches into the plate. The top 2 rows should be oriented facing upwards (with the pins on the bottom), and the lower row of 2 switches should be oriented facing downwards (with the pins on the top). If you're using keycaps that let you customise their legends, now is a good time to do that.
TODO: finish documentation
Parts
23| Qty | Value | Footprint | References |
|---|---|---|---|
| 10 | SW_Push_45deg | PCM_Switch_Keyboard_Hotswap_Kailh:SW_Hotswap_Kailh_MX_1.00u | SW1, SW2, SW3, SW4, SW5, SW6, SW7, SW8, SW9, SW10 |
| 8 | MountingHole | MountingHole:MountingHole_2.2mm_M2 | H1, H2, H3, H4, H5, H6, H7, H8 |
| 2 | LOGO | LOGO | G***, G*** |
| 2 | RotaryEncoder_Switch | Rotary_Encoder:RotaryEncoder_Alps_EC12E-Switch_Vertical_H20mm | E1, E2 |
| 1 | Pico | MCU_RaspberryPi_and_Boards:RPi_Pico_SMD_TH | U1 |
Questions
How big is the MP-102 PCB?
It measures 76.2 × 99.8 mm and has 2 copper layers, 1.6 mm thick.
What parts does the MP-102 use?
23 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.
Where can I download the MP-102 KiCad files?
From the QEStudios/MP-102 repository on GitHub, at the commit this page was made from: the board is PCB/PCB.kicad_pcb and its schematic PCB/PCB.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the MP-102 design in my own project?
Its repository states no licence, so its author keeps all rights: ask QEStudios before reusing the design.
Similar boards
- 2 layers65 × 56 mm

- 2 layers14 × 100 mm

Yunomi
google/mozc-devices
Circuit diagrams and firmware source code for Gboard DIY keyboards
23 parts3kApache-2.0 - 2 layers50.8 × 52.2 mm

- 2 layers138.8 × 89.8 mm

- 2 layers32.9 × 53.3 mm

- 2 layers35.5 × 50 mm

- 2 layers19 × 19 mm

- 2 layers88.5 × 28 mm

ExpBreakout
Duet3D/Duet-2-Hardware
The KiCAD source for the Duet 3d printer controller see www.duet3d.com
23 parts258