
Controller
micktwomey/alt-controller-jam
Custom controller hardware for ALT.CTRL.GameCraft 2023

Custom controller hardware for ALT.CTRL.GameCraft 2023
Dpad is an open-source printed circuit board by micktwomey, from the micktwomey/alt-controller-jam repository on GitHub, published under the MIT licence. It is a 2-layer board of 31 × 39 mm with 9 parts on 5 nets, routed with 18 tracks and 0 vias.
Its parts include 4 switches and 1 connector.
Repo holding the hardware and code behind the controller components used in https://www.gamecraft.it/events/altctrljam-2023/

A Raspberry Pi Pico running CircuitPython acts as a HID keyboard device.
Two (or more) button pads are connected to the Pico using jumper cables. Each button pad has 4 buttons.
You can position these anywhere you want on an alternative controller. Embed them in cardboard, stick onto things, etc.
KiCad is used to design the boards. You can even see me following the tutorial in kicad-tutorial!
JLCPCB was used to print the boards. Elbow grease and lots of solder was used to assemble the boards.
The schematics can be found in dpad.
The Pico runs CircuitPython and uses Adafruit's HID library to emulate a keyboard. It's also possible to emulate a mouse and a gamepad (there are some experiments for gamepad emulation in experiments).
Code execution order:
When running the library code lives in lib on the pico but lives in src here in GitHub.
just is used to run the build and deployment steps.
poetry is used to manage local tool dependencies. It's also used to install libraries into your development environment, but these won't allow you to run the code on your desktop. They're primarily intended to allow for error checking.
Note that the default paths in the justfile are Apple Mac defaults, you'll need to adjust them for your machine.
poetry installjust buildbootsel button on the Pico while plugging in the USB cable into your machineRPI-RP2 disk is mountedjust install-firmwarejust deployYou can make this process a little more efficient using:
just watch to see which disk is mountedjust install-firmware && just deploy && just eject in another terminal to flash the firmware and install the code in one step.If you're using mise it should activate automatically.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 4 | MountingHole_Pad | MountingHole:MountingHole_2.2mm_M2_Pad | H1, H2, H3, H4 |
| 4 | SW_Push_Dual | Button_Switch_THT:SW_PUSH_6mm | SW1, SW2, SW3, SW4 |
| 1 | Conn_01x05_Socket | Connector_PinHeader_2.54mm:PinHeader_1x05_P2.54mm_Vertical | J1 |

micktwomey/alt-controller-jam
Custom controller hardware for ALT.CTRL.GameCraft 2023



FrameworkComputer/ExpansionCards
Reference designs and documentation to create Expansion Cards for the Framework Laptop

VoronDesign/Voron-Hardware
Cool Hardware designed by the Voron Design group

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



adamws/kicad-kbplacer
KiCad plugin for automatic keyboard's key placement and routing
It measures 31 × 39 mm and has 2 copper layers, 1.6 mm thick.
9 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.
From the micktwomey/alt-controller-jam repository on GitHub, at the commit this page was made from: the board is dpad/dpad.kicad_pcb and its schematic controller/controller.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).