Skip to the content
2 layers50.8 × 50.8 mmMobilemashbuddy, the printed circuit board in 3D

MobileMash Buddy is a custom companion PCB designed for the MobileMash physical button-mashing harness. It provides a compact, dedicated controller platform based on the Seeed Studio XIAO ESP32-S3 microcontroller.

Size
50.8 × 50.8 mm
Copper layers
2
Thickness
1.6 mm
Parts
15
Nets
16
Pads
59
Tracks, vias
125, 3
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
9 Jul 2026
Updated
18 Jul 2026

Overview

Mobilemashbuddy is an open-source printed circuit board by gregsimon, from the gregsimon/mobilemashbuddy repository on GitHub, published under the Apache-2.0 licence. It is a 2-layer board of 50.8 × 50.8 mm with 15 parts on 16 nets, routed with 125 tracks and 3 vias.

Its parts include 4 connectors, 3 capacitors, 2 ICs and 2 switches. It belongs with the ESP32 and RISC-V boards of this library.

README

README.md

MobileMash Buddy

MobileMash Buddy is a custom companion PCB designed for the MobileMash physical button-mashing harness. It provides a compact, dedicated controller platform based on the Seeed Studio XIAO ESP32-S3 microcontroller.

The board interfaces directly with the servo motors of the MobileMash harness while adding local physical control inputs for activation of functions and tuning without an attached computer (rotary encoder and push buttons).


Features

  • Microcontroller: Support for the ultra-compact Seeed Studio XIAO ESP32-S3.
  • Servo Control: 3x servo PWM channels (compatible with SG90 micro servos):
    • PWR (Power button servo)
    • VOL+ (Volume-up button servo)
    • VOL- (Volume-down button servo)
  • Interactive Controls:
    • 1x Rotary Encoder (with integrated click switch) for menu navigation.
    • 1x General-purpose tactile push button (BTN1) for triggers / actions.
  • Display Support: Header for a standard 4-pin I2C OLED display (SSD1306 128x64 or 128x32).
  • Power System: Power via USB-C (for the XIAO and display) and external center-positive DC jack to supply dedicated power to the servo channels.

Hardware Reference & Pinout

Below is the actual pin assignment table for the Seeed Studio XIAO ESP32-S3 as routed in the KiCad schematic:

XIAO Pin LabelESP32-S3 GPIOComponent / LabelFunction / Role
D0GPIO 1—Unused / No Connect (NC)
D1GPIO 2—Unused / No Connect (NC)
D2GPIO 3OLED Display - SDAI2C Data
D3GPIO 4OLED Display - SCLI2C Clock
D4GPIO 5Rotary Encoder - DT (B)Input (ENC_B)
D5GPIO 6Rotary Encoder - SW (Click)Digital Input (ENC_SW)
D6GPIO 43Push Button 1Digital Input (BTN1)
D7GPIO 44Rotary Encoder - CLK (A)Input (ENC_A)
D8GPIO 21Servo 3 (VOL-)PWM Control Signal (SERVO3)
D9GPIO 7Servo 2 (VOL+)PWM Control Signal (SERVO2)
D10GPIO 8Servo 1 (PWR)PWM Control Signal (SERVO1)
3V3—OLED Display - VCC3.3V Power Output for the Display
GND—Common GroundConnected to OLED GND, button, encoder, and servo power GND

Repository Structure

  • mobilemashbuddy.kicad_pro / mobilemashbuddy.kicad_sch / mobilemashbuddy.kicad_pcb: The core KiCad project, schematic, and board layout files.
  • lib/: KiCad footprint and symbol libraries, including:
    • Custom symbols/footprints for the Seeed Studio XIAO ESP32-S3.
    • Footprints for the SSD1306 OLED module and vertical Alps EC11E rotary encoder.
  • Polarity_marking_center_positive.svg: Graphic file for the power jack polarity indicator.

Getting Started

  1. Open in KiCad: Open the mobilemashbuddy.kicad_pro project using KiCad (compatible with KiCad 8.0 / 9.0).
  2. Manufacture the Board: Export the Gerber and drill files from KiCad to manufacture the PCB at any standard fabrication house.
  3. Assemble: Solder the components using the schematic reference. Be sure to check polarities on the power input connector and capacitors.
  4. Firmware: Upload appropriate control firmware to the Seeed Studio XIAO ESP32-S3 to control the servos and interface with the MobileMash system.

License

This project is licensed under the Apache License 2.0. See the LICENSE file for details.

Parts

15
QtyValueFootprintReferences
4MountingHole_PadMountingHole:MountingHole_2.5mm_Pad_TopBottomH5, H6, H7, H8
2100nFCapacitor_SMD:C_1206_3216MetricC2, C3
1470uFCapacitor_SMD:CP_Elec_8x10.5C1
1Barrel_Jack_SwitchConnector_BarrelJack:BarrelJack_HorizontalJ1
1EC11Rotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mmSW3
1KEY1Button_Switch_THT:SW_PUSH_6mm_H5mmSW1
1PWRConnector_PinSocket_2.54mm:PinSocket_1x03_P2.54mm_VerticalJ2
1SSD1306 OLEDSSD1306:128x64OLEDU2
1VOL+Connector_PinSocket_2.54mm:PinSocket_1x03_P2.54mm_VerticalJ3
1VOL-Connector_PinSocket_2.54mm:PinSocket_1x03_P2.54mm_VerticalJ5
1XIAO ESP32-C6XIAO_ESP32S3:XIAO_ESP32S3U1

Similar boards

  • 2 layers19 × 76 mmSub, the printed circuit board in 3D

    Sub

    google/mozc-devices

    Circuit diagrams and firmware source code for Gboard DIY keyboards

    15 parts3kApache-2.0
  • 2 layers26.7 × 62.2 mmDeniseadapter, the printed circuit board in 3D

    Deniseadapter

    hoglet67/RGBtoHDMI

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

    15 parts1kGPL-3.0
  • 2 layers100 × 44 mmVideoslot, the printed circuit board in 3D

    Videoslot

    mntmn/amiga2000-gfxcard

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

    15 parts1k
  • 2 layers91 × 51 mmBusinessCard, the printed circuit board in 3D

    BusinessCard

    hackclub/OnBoard

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

    15 parts915
  • 2 layers24.3 × 57.9 mmFlosspods pro flex, the printed circuit board in 3D

    Flosspods pro flex

    kenp-io/not-for-airpods-repairs

    The content of this repository is licensed under the WTFPL License. Please have a close look at the terms before using this material.

    15 parts609WTFPL
  • 2 layers20.3 × 15.2 mmL0 Load, the printed circuit board in 3D

    L0 Load

    Luos-io/luos_engine

    Open-source and real-time orchestrator for cyber-physical-systems, to easily design, test and deploy embedded applications and digital twins.

    15 parts546MIT
  • 2 layers68 × 50 mmEleLab v2 PowerFeed, the printed circuit board in 3D

    EleLab v2 PowerFeed

    Chrismettal/EleLab_v2

    Cheap DIY lab system for hobbyists and the tinkering folk

    15 parts531GPL-3.0
  • 2 layers50.8 × 35.6 mmInterface, the printed circuit board in 3D

    Interface

    harbaum/I2C-Tiny-USB

    Cheap and simple I²C to USB interface

    15 parts454

Questions

How big is the Mobilemashbuddy PCB?

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

What parts does the Mobilemashbuddy use?

15 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 Mobilemashbuddy KiCad files?

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

Can I use the Mobilemashbuddy design in my own project?

Its repository publishes it under the Apache-2.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).