Skip to the content
PCBKitNew board
2 layers96 × 64 mmRedbearpad, the printed circuit board in 3D

RedBearPad: macropad/gamepad de 8 botones + OLED para RedBearLab Blend Micro (KiCad + firmware keypad y gamepad)

Size
96 × 64 mm
Copper layers
2
Thickness
1.6 mm
Parts
19
Nets
13
Pads
70
Tracks, vias
42, 1
Pours
16
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
23 Jun 2026
Updated
10 Aug 2026

Overview

Redbearpad is an open-source printed circuit board by sebasdv, from the sebasdv/redbearpad-pcb repository on GitHub. It is a 2-layer board of 96 × 64 mm with 19 parts on 13 nets, routed with 42 tracks and 1 via.

Its parts include 12 switches and 2 connectors. It belongs with the keyboards and input and lEDs and displays boards of this library.

README

README.md

RedBearPad v2 — Mando XInput de 12 botones para RedBearLab Blend Micro

PCB de 96 × 64 mm. Mando estilo SNES orientado a juegos de plataforma que se enumera como control de Xbox 360 (XInput) y Steam reconoce de forma nativa. 12 entradas a GND con pull-up interno (activo en bajo): 10 switches Redragon SMD RGB MX Low Profile + 2 tact CAX C39832249 (Start/Select). La Blend Micro V1.0 va enchufada en la cara inferior (headers hembra 2×14, USB hacia el borde superior). Sin OLED (eliminada respecto de la v1).

Layout (vista desde arriba, grilla de 16 mm)

text
 L  Sel  ·  Sta  R       (fila y=16)   Sel/Sta = tact CAX
 ·  Up   ·   X   Y       (fila y=32)
 Iz Dn  Der  A   B       (fila y=48)   cruceta: Up arriba de Dn; Izq/Der en y=48

Archivos

  • redbearpad.kicad_pro/.kicad_sch/.kicad_pcb — proyecto KiCad 9 (ruteado, DRC limpio en cobre).
  • firmware/redbearpad_xinput/ — firmware XInput de 12 botones (el de producción).
  • scripts/gen_sch.py, scripts/gen_pcb.py — regeneran esquemático y placement (ejecutar con el Python de KiCad: ...\KiCad\9.0\bin\python.exe). ⚠️ Regenerar el PCB borra el ruteo; el ruteo actual está en el .kicad_pcb versionado.
  • scripts/verify_netlist.py — valida el netlist contra el contrato de diseño (12 entradas).
  • scripts/attach_3d_models.py — adjunta modelos 3D a los footprints ya colocados en el .kicad_pcb sin regenerar la placa (a diferencia de gen_pcb.py, no toca el ruteo). Solo hace falta si se rutea a mano sobre un board viejo sin modelos; una regeneración completa con gen_pcb.py ya los trae, porque viven en el .kicad_mod de la librería.
  • fabrication/gerbers/ — Gerbers + drill (F.Cu, B.Cu, Edge_Cuts, NPTH/PTH) regenerados.
  • docs/superpowers/specs/ — diseño aprobado de la v2.
  • docs/render_top.png, docs/render_bottom.png — vistas previas 3D (kicad-cli pcb render).

Ruteo

11 de las 12 nets ruteadas con Freerouting (autorouter, vía DSN/SES); la net restante (SW7→A0) se ruteó a mano con una vía para cruzar la pared de pistas de SW6/SW8. DRC de cobre: 0 sin conectar, 0 cortos, 0 clearance. Quedan 8 avisos de serigrafía sobre los pads de los tact (cosméticos: el fabricante recorta la silk sobre pads automáticamente).

Pedido en JLCPCB

  1. jlcpcb.com → "Order now" → subir un ZIP con el contenido de fabrication/gerbers/.
  2. Opciones: 2 capas, 1.6 mm, HASL (todo por defecto sirve). Sin ensamblado.

⚠️ Antes de pagar

Medir con pie de metro un switch real contra el footprint: poste central Ø4.4 mm en el centro; pines a (3.8, 3.8) y (0, 6.5) mm del centro, Ø1.2 mm. Si no coincide, ajustar libs/redbearpad.pretty/SW_Redragon_LowProfile_PCB_1.00u.kicad_mod. Verificar también el tact SW_Tact_CAX_4.5x4.5 (cuerpo 4.5×4.5 mm, 4 patas).

Conexiones (firmware XInput)

FunciónPin ArduinoBotón XInput
Arriba / Abajo / Izquierda / DerechaD3 / D1 / D2 / D0stick izq. + D-pad
X / Y (cara, fila superior)D11 / D12X / Y
A / B (cara, fila inferior)A0 / A1A / B
L / RD8 / D9LB / RB
Select / StartD5 / D10BACK / START

Todas en INPUT_PULLUP, activas en bajo. La cruceta se manda como stick izquierdo y D-pad para máxima compatibilidad.

Los 4 botones de cara forman un cuadrado 2×2, así que se asignan como el diamante Xbox girado 45°, respetando las cuatro relaciones de la convención (Y arriba, A abajo, X izquierda, B derecha):

text
 X  Y
 A  B

Compilar y flashear (XInput)

  • Placa: "Arduino Micro w/ XInput" (FQBN xinput:avr:micro, 16 MHz) del paquete ArduinoXInput_Boards
    • librería XInput (David Madison). El variant 16 MHz calza con el cristal de la Blend Micro.
  • XInput no es CDC: no hay Serial Monitor (LED 13 hace heartbeat). Para reflashear, hacer doble-reset manual para entrar al bootloader.

Modelos 3D

  • Switches Redragon MX Low Profile (los 10): modelo real (libs/redbearpad.3dshapes/SW_Redragon_LowProfile_PCB_1.00u.step), rotado 180°.
  • Blend Micro: modelo real modelado por el usuario en Fusion 360 — PCB roja con los dos headers de 14 pines y un conector micro-USB detallado, que asoma por el borde superior de la placa tal como en la física real. El footprint usa el BlendMicro_Module_V1.step original, con rotate (xyz 0 180 0) en el bloque (model ...): el modulo necesitaba dos correcciones (mirror en X para que el header quedara en el lado correcto, y flip en Z porque los pines apuntaban hacia afuera en vez de hacia J1/J2) y espejar en dos ejes distintos equivale matematicamente a una sola rotacion de 180° sobre Y — mas simple y sin el riesgo de una reflexion pura (ver mas abajo). El header del propio modulo reutiliza dos veces PinHeader_1x14_P2.54mm.step (ver abajo), mas un conector USB de otra fuente. Footprint sin pads (BlendMicro_Module, ref BLENDMICRO1): la conexión eléctrica real la hacen J1/J2 — sus modelos 3D de fábrica (socket hembra) se limpiaron (fp.Models().clear(), también en gen_pcb.py para que una regeneración futura no los reponga) porque quedaban duplicados sobre los headers que ya trae el modelo de la Blend Micro. scripts/mirror_blendmicro_step.py (CadQuery/OCC, reflexión geométrica real vía Shape.mirror) quedó sin usar pero documentado como referencia: es la técnica correcta para espejar un sólido B-rep en un solo eje (lo que la rotación de arriba no puede lograr). Se probó primero el camino obvio para el mirror en X — scale (xyz -1 1 1) en el bloque (model ...) — y falló: esa negación de escala invierte la orientación de las caras del sólido y el renderer las descarta (el cuerpo del PCB desaparecía casi entero, solo quedaba un borde degenerado). libs/redbearpad.3dshapes/BlendMicro_Module.step (placa plana sin detalle, generada con scripts/gen_blendmicro_step.py a partir del DXF oficial) queda como fallback por si se pierde el modelo real.
  • Regleta macho 1x14 (libs/redbearpad.3dshapes/PinHeader_1x14_P2.54mm.step, generada con scripts/gen_pinheader_1x14.py): no está enlazada a ningún footprint propio del proyecto, pero sí se usa — está incrustada dos veces dentro de BlendMicro_Module_V1.step (una por fila de header).
  • Tact Start/Select (SW_Tact_CAX_4.5x4.5, ref SW11/SW12): modelo genérico libs/redbearpad.3dshapes/TactSwitch 6x6.step (6×6×6 mm) — no es el CAX C39832249 real (4.5×4.5 mm, sin STEP disponible), pero es reconocible como tact switch y el usuario lo acepta como placeholder. Cuerpo un poco más grande que el footprint (overhang leve sobre el courtyard); offset/escala/rotación en cero, sin ajuste necesario.

Todos los modelos ya adjuntos y visibles en docs/render_*.png y en el visor 3D de KiCad. Al regenerar con gen_pcb.py se colocan solos (viven en las librerías); si se rutea a mano sobre un board existente, usar scripts/attach_3d_models.py (switches) o scripts/insert_blendmicro_footprint.py (Blend Micro) para no perder el ruteo.

Créditos

Footprint del switch: rgoulter/keyboard-labs. Modelo 3D del switch: librería "Switches/REDragon_MX_LowProfile_ZT04" (autor "saper"). Core/librería XInput: dmadison/ArduinoXInput.

Parts

19
QtyValueFootprintReferences
10SW_Redragon_LowProfile_PCB_1.00uSW_Redragon_LowProfile_PCB_1.00uSW1, SW2, SW3, SW4, SW5, SW6, SW7, SW8, SW9, SW10
4MountingHole_3.1mmMountingHole_3.1mmH1, H2, H3, H4
2PinSocket_1x14_P2.54mm_VerticalPinSocket_1x14_P2.54mm_VerticalJ1, J2
2SW_Tact_CAXSW_Tact_CAX_4.5x4.5SW11, SW12
1BlendMicro_ModuleBlendMicro_ModuleBLENDMICRO1

Questions

How big is the Redbearpad PCB?

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

What parts does the Redbearpad use?

19 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 Redbearpad KiCad files?

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

Can I use the Redbearpad design in my own project?

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

Similar boards

  • 2 layers43.9 × 27.7 mmTcd1304-4v, the printed circuit board in 3D

    Tcd1304-4v

    OpnTec/open-spectrometer-hardware

    Open source VIS spectrometer

    19 parts1.5k
  • 2 layers50 × 60 mmDebate Device, the printed circuit board in 3D

    Debate Device

    hackclub/OnBoard

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

    19 parts915
  • 2 layers102.9 × 96.7 mmISA adapter, the printed circuit board in 3D

    ISA adapter

    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

    19 parts805
  • 2 layers60 × 39 mmPs2usb, the printed circuit board in 3D

    Ps2usb

    rasteri/HIDman

    Adapting USB devices to work on old computers

    19 parts432
  • 2 layers70.1 × 43.2 mmIaq device, the printed circuit board in 3D

    Iaq device

    nkitanov/iaq_board

    IAQ Board is a DIY (Do-It-Yourself) device for measuring internal air quality

    19 parts396
  • 2 layers80 × 80 mmGB BRK CPU G1, the printed circuit board in 3D

    GB BRK CPU G1

    Gekkio/gb-hardware

    Game Boy -related custom hardware by gekkio

    19 parts379CC-BY-4.0
  • 2 layers25.4 × 25.4 mmIna169, the printed circuit board in 3D

    Ina169

    Ardumower/ardumower

    Develop an open source robotic lawn mower (HW+SW reference platform)

    19 parts282
  • 2 layers58.4 × 28.6 mmNew rele, the printed circuit board in 3D

    New rele

    zmaker/arduino_cookbook

    gli sketch del nuovo progetto Arduino Cookbook e dei video di YouTube

    19 parts269