How thirtythreedown/pico_macropad works
This repository is a Pi Pico macro pad: its firmware polls physical switches and a rotary encoder, then sends keyboard or consumer-control HID events. The tree also contains four 3D-printable hardware parts. The firmware excerpt supports the input and HID relationships; the README gives no further product detail, and the STL assembly relationships are not documented.
Main entry points: Pico macro keyboard code (switches, rotary click, volume control).py Input polling
Components 12
Pico firmware
- Input polling
Pico macro keyboard code (switches, rotary click, volume control).py - Key switches
Pico macro keyboard code (switches, rotary click, volume control).py - Rotary encoder
Pico macro keyboard code (switches, rotary click, volume control).py - Keyboard shortcuts
Pico macro keyboard code (switches, rotary click, volume control).py - Volume and mute
Pico macro keyboard code (switches, rotary click, volume control).py - USB HID output
Pico macro keyboard code (switches, rotary click, volume control).py
Printed hardware
- Band model
pico_macropad_band.stl - Case bottom
pico_macropad_case_bottom.stl - Case top
pico_macropad_case_top.stl - Switch plate
pico_macropad_switch_plate.stl
Other components
- Operator
- Connected computer
Connections 9
- Operator → Key switches: presses
Pico macro keyboard code (switches, rotary click, volume control).py - Operator → Rotary encoder: turns or clicks
Pico macro keyboard code (switches, rotary click, volume control).py - Input polling → Key switches: reads pins
Pico macro keyboard code (switches, rotary click, volume control).py - Input polling → Rotary encoder: reads pins
Pico macro keyboard code (switches, rotary click, volume control).py - Input polling → Keyboard shortcuts: dispatches
Pico macro keyboard code (switches, rotary click, volume control).py - Input polling → Volume and mute: dispatches
Pico macro keyboard code (switches, rotary click, volume control).py - Keyboard shortcuts → USB HID output: sends keys
Pico macro keyboard code (switches, rotary click, volume control).py - Volume and mute → USB HID output: sends controls
Pico macro keyboard code (switches, rotary click, volume control).py - USB HID output → Connected computer: sends HID events
Pico macro keyboard code (switches, rotary click, volume control).py