Skip to the content
2 layers69.8 × 101.3 mmVaripad, the printed circuit board in 3D

A custom 9-key macro pad with rotary encoder and OLED display, built around the ESP32-S3.

Size
69.8 × 101.3 mm
Copper layers
2
Thickness
1.6 mm
Parts
25
Nets
44
Pads
170
Tracks, vias
419, 61
Pours
3
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
27 Apr 2026
Updated
27 Apr 2026

Overview

Varipad is an open-source printed circuit board by thomaskidd15, from the thomaskidd15/varipad repository on GitHub. It is a 2-layer board of 69.8 × 101.3 mm with 25 parts on 44 nets, routed with 419 tracks and 61 vias.

It is built around the ESP32-S3-WROOM-1-N8 and AMS1117-3.3. Its parts include 12 switches, 5 capacitors, 4 resistors, 2 ICs and 2 connectors. It belongs with the ESP32 boards of this library.

Main components

2

README

README.md

VariPad

A custom 9-key macro pad with rotary encoder and OLED display, built around the ESP32-S3.

Hardware

  • MCU: ESP32-S3 (16MB flash, 2MB OPI PSRAM)
  • Keys: 9 mechanical switches (3x3 grid)
  • Encoder: Rotary encoder with push-button for layer switching
  • Display: 128x64 SSD1306 OLED (I2C)
  • Connection: USB-C (native USB HID)
  • PCB: Designed in KiCad 10

Layers

The encoder button cycles through three layers:

LayerNameKeysEncoder
1DEVClaude Code shortcuts, git commands, VS Code terminal toggleScroll terminal history
2VARIGATEBusiness Central links, Azure portal, script launchersVolume control
3FOCUSTeams meeting controls, Pomodoro timer, screenshot, lock screenBrightness control

Firmware

Built with PlatformIO and the Arduino framework.

Build

bash
cd varipad
pio run

Flash

bash
cd varipad
pio run -t upload

Dependencies

  • Adafruit SSD1306
  • Adafruit GFX Library

Project Structure

text
├── varipad.kicad_pcb    # PCB layout
├── varipad.kicad_sch    # Schematic
├── varipad.kicad_pro    # KiCad project
└── varipad/             # PlatformIO firmware
    └── src/main.cpp

License

All rights reserved.

Parts

25
QtyValueFootprintReferences
9SW_PushButton_Switch_Keyboard:SW_Cherry_MX_1.00u_PCBSW4, SW5, SW6, SW7, SW8, SW9, SW10, SW11, SW12
2100nFCapacitor_SMD:C_0603_1608MetricC4, C5
210kResistor_SMD:R_0603_1608MetricR3, R4
210uFCapacitor_SMD:C_0805_2012MetricC2, C3
25.1kResistor_SMD:R_0603_1608MetricR1, R2
2SW_PushButton_Switch_SMD:SW_SPST_TL3342SW1, SW2
11uFCapacitor_SMD:C_0603_1608MetricC1
1AMS1117-3.3Package_TO_SOT_SMD:SOT-223-3_TabPin2U2
1Conn_01x04Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ2
1ESP32-S3-WROOM-1RF_Module:ESP32-S3-WROOM-1U1
1RotaryEncoder_SwitchRotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mmSW3
1USB_C_Receptacle_USB2.0_16PConnector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12J1

Similar boards

  • 2 layers86 × 54 mmLLM Business Card, the printed circuit board in 3D

    LLM Business Card

    pham-tuan-binh/bouija

    Running LLM on a Business Card LITERALLY

    84 parts60
  • 2 layers55 × 100 mmESP32AY revD2, the printed circuit board in 3D

    ESP32AY revD2

    djspawnbrest/ESP32AY

    ZxPod - ESP32 based AY multiformat player

    138 parts59GPL-3.0
  • 2 layers110 × 100 mmPidginTranslator, the printed circuit board in 3D

    PidginTranslator

    DevMubarak1/PidginTranslator

    Handheld translator for Nigerian languages. No internet needed for common phrases, YarnGPT for everything else.

    14 parts21MIT
  • 4 layers58.5 × 85.5 mmSr jv esp32, the printed circuit board in 3D

    Sr jv esp32

    connorzheng97/srjv

    SR-JV80 Programmable Expansion Card with ESP32 Wi-Fi

    84 parts18
  • 2 layers50.6 × 71.1 mmOpen ESPilot, the printed circuit board in 3D

    Open ESPilot

    Tomas-Kuchta-FPV/Open-ESPilot

    An open-source project to develop a custom ESP32-based flight controller designed primarily for use with ArduPilot. Focused on affordability, flexibility, and ease of integration with various robotic and UAV platforms.

    109 parts18CERN-OHL-W-2.0
  • 4 layers102 × 100 mmZelvicka, the printed circuit board in 3D

    Zelvicka

    RoboticsBrno/Robutek

    Robůtek je robotická platforma založená na čipu ESP32-S3. Je velice rozšitiřelný, ale ze základu umí jezdit, kreslit fixou, jezdit po čáře, pohybovat se bludištěm. Programování je přes Jaculus.

    214 parts12
  • 2 layers156 × 66 mmDash 6.8, the printed circuit board in 3D

    Dash 6.8

    romioRN/Dash6.8-hardware

    wifi name "service", password 12345678, connect to 192.167.4.1

    152 parts11Apache-2.0
  • 4 layers100 × 100 mmPlantomation V2, the printed circuit board in 3D

    Plantomation V2

    Synthron/Plantomation

    DIY plant watering system

    203 parts10

Questions

How big is the Varipad PCB?

It measures 69.8 × 101.3 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Varipad use?

25 parts, built around the ESP32-S3-WROOM-1-N8 and AMS1117-3.3. 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 Varipad KiCad files?

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

Can I use the Varipad design in my own project?

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