Skip to the content
PCBKitNew board
2 layers100 × 83 mmLaTeXPAD, the printed circuit board in 3D

This is a custom 15-key macropad with a rotary encoder. I built it mainly to speed up writing math formulas in LaTeX. It runs on a Seeeduino XIAO RP2040 using custom QMK firmware.

Size
100 × 83 mm
Copper layers
2
Thickness
1.6 mm
Parts
33
Nets
30
Pads
128
Tracks, vias
137, 0
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
19 Mar 2026
Updated
9 Oct 2026

Overview

LaTeXPAD is an open-source printed circuit board by tymofiiBrovenko, from the tymofiiBrovenko/Macropad repository on GitHub. It is a 2-layer board of 100 × 83 mm with 33 parts on 30 nets, routed with 137 tracks and 0 vias.

Its parts include 16 diodes, 16 switches and 1 IC. It belongs with the keyboards and input boards of this library.

README

README.md

LaTeX-PAD: Custom Macropad for Math & Science (RP2040)

IMG_20261009_065745431 image

This is a custom 15-key macropad with a rotary encoder. I built it mainly to speed up writing math formulas in LaTeX. It runs on a Seeeduino XIAO RP2040 using custom QMK firmware.

I designed this project to make my life easier when typing complex equations. It combines a regular numpad with some really handy LaTeX macros.

Key Features

  • 15 Cherry MX-style keys wired in a 4x4 ortholinear matrix.
  • 1 Rotary Encoder (EC11) with a push-button switch.
  • Smart Cursor Navigation: The macros do the boring work for you. If you paste a command like \frac{}{}, the cursor automatically jumps back inside the first set of brackets so you can start typing right away.
  • Seeeduino XIAO RP2040: Has more than enough memory and pins for complex QMK setups.

Hardware & Enclosure

Case Design

I designed the enclosure from scratch in Fusion 360 to securely hold the PCB, switches, and the microcontroller together.

  • Optional: The case is 3D printed in [PLA/PETG] and held together with [M3 screws].
CAD render 1 CAD render 2 " />

PCB

PCB Front PCB Back

Note: The footprint library in the schematic might show SAMD21 pinouts (D0, D1, etc.). Just ignore that — the actual hardware uses the XIAO RP2040, and the QMK firmware is mapped to the correct RP2040 pins (GP26, GP6, etc.).

Logik

image

Firmware Details

The macropad runs on QMK Firmware to handle matrix scanning, the encoder, and all the custom macros.

Keymap Layers

  • Base Layer (_NUMPAD): Works just like a standard numpad. It also has a dedicated layer-modifier key.
  • LaTeX Layer (_LATEX): Hold the modifier key to access 14 of the most common LaTeX commands (\frac{}{}, \sqrt{}, \sum_{}^{}, \int_{}^{}, etc.).

Rotary Encoder

  • Rotate Left/Right: Moves the text cursor left or right. It's really useful for tweaking long equations without touching your mouse.
  • Press: Acts as a standard Left Mouse Button click.

Bill of Materials (BOM)

If you want to build one yourself, here's what you need:

  • 1x Seeeduino XIAO RP2040
  • 15x Cherry MX-compatible switches (e.g., Gateron Red)
  • 1x EC11 Rotary Encoder
  • 15x 1N4148 Diodes
  • Custom PCB (Gerber files are in the hardware/ folder)
  • 3D Printed case parts

How to Build & Flash

  1. Hardware: Get the PCB fabricated using the Gerber files from the hardware/ folder. Solder the diodes, switches, encoder, and the XIAO RP2040.
  2. Firmware: * Set up your local QMK environment.
    • Drop the firmware folder from this repo into your qmk_firmware/keyboards/ directory.
    • Compile and flash the board (e.g., run qmk flash -kb latex_pad -km default).

Parts

33
QtyValueFootprintReferences
161N4148Diode_THT:D_DO-35_SOD27_P7.62mm_HorizontalD1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16
15SW_Push_45degButton_Switch_Keyboard:SW_Cherry_MX_1.00u_PCBSW1, SW2, SW3, SW4, SW5, SW6, SW7, SW8, SW9, SW10, SW11, SW12, SW13, SW14, SW16
1MOUDLE-SEEEDUINO-XIAOfootprints:XIAO-Generic-Hybrid-14P-2.54-21X17.8MMU1
1RotaryEncoder_SwitchRotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mmSW15

Questions

How big is the LaTeXPAD PCB?

It measures 100 × 83 mm and has 2 copper layers, 1.6 mm thick.

What parts does the LaTeXPAD use?

33 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 LaTeXPAD KiCad files?

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

Can I use the LaTeXPAD design in my own project?

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

Similar boards

  • 2 layers65 × 30 mmRgb to hdmi, the printed circuit board in 3D

    Rgb to hdmi

    hoglet67/RGBtoHDMI

    Bare-metal Raspberry Pi project that provides pixel-perfect sampling of Retro Computer RGB/YUV video and conversion to HDMI

    33 parts1kGPL-3.0
  • 2 layers127 × 96 mmAmiga gfxcard, the printed circuit board in 3D

    Amiga gfxcard

    mntmn/amiga2000-gfxcard

    MNT VA2000, an Open Source Amiga 2/3/4000 Graphics Card (Zorro II/III), written in Verilog

    33 parts1k
  • 2 layers92.7 × 58.4 mmHacky holidays, the printed circuit board in 3D

    Hacky holidays

    hackclub/OnBoard

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

    33 parts915
  • 2 layers240 × 120 mmQuiver PDB 01, the printed circuit board in 3D

    Quiver PDB 01

    Arrow-air/project-quiver

    Project Quiver documentation, designs, and project artifacts.

    33 parts617CERN-OHL-S-2.0
  • 2 layers75 × 26 mmDIY detector, the printed circuit board in 3D

    DIY detector

    ozel/DIY_particle_detector

    A mobile low-cost spectrometer for measuring radioactivity and the energy of ionising radiation like alpha particles and electrons

    33 parts558BSD-2-Clause
  • 2 layers100 × 50 mmPixelix, the printed circuit board in 3D

    Pixelix

    BlueAndi/Pixelix

    Full RGB LED matrix, based on an ESP32 and WS2812B LEDs or emulated LEDs on TFT.

    33 parts447MIT
  • 2 layers65 × 30 mmCanHat, the printed circuit board in 3D

    CanHat

    bondus/KlipperToolboard

    A 3D printer tool head controller board

    33 parts373GPL-3.0