BootPad is a simple, customizable 4-button keyboard built using a Raspberry Pi Pico and CircuitPython. It is designed to manage boot menus or other applications that require basic navigation and selection input.
- F8 Key: Button 1 (GP16)
- Up Arrow Key: Button 2 (GP17)
- Down Arrow Key: Button 3 (GP18)
- Enter Key: Button 4 (GP19)
- Raspberry Pi Pico
- 4 momentary push buttons or keyboard switches (used them)
- Breadboard and jumper wires (optional)
Each button should be connected to the corresponding GPIO pin on the Raspberry Pi Pico and ground.
GP16 → Button 1
GP17 → Button 2
GP18 → Button 3
GP19 → Button 4
-
Install CircuitPython on Raspberry Pi Pico:
- Download the latest CircuitPython .uf2 file for the Raspberry Pi Pico from the CircuitPython downloads page.
- Connect the Raspberry Pi Pico to your computer while holding down the BOOTSEL button to put it in bootloader mode.
- Drag and drop the downloaded .uf2 file onto the Raspberry Pi Pico's drive.
-
Install the CircuitPython Libraries:
- Download the
adafruit-circuitpython-bundle
library bundle from the CircuitPython Libraries page. - Unzip the file and copy the required libraries (usually
adafruit_hid
andadafruit_debouncer
) to thelib
folder on the Raspberry Pi Pico.
- Download the
-
Upload the Code: Save the code as code.py on the Raspberry Pi Pico using Thonny. The Pico will automatically run the script on startup.
Connect the Raspberry Pi Pico to your computer. When you press a button, the corresponding key press (F8, Up, Down, Enter) will be sent to your computer, allowing you to navigate and select options in a boot menu (similar other applications).
The script includes logging to the serial console, which can be viewed in Thonny:
Go to View -> Files to see the file browser.
Click the Stop/Restart Backend button (a red square or green triangle).
Go to View -> Run to open the serial console.
Connect to your Raspberry Pi Pico (it should show up as a serial device).
You will see logs indicating when a button is pressed and which key is sent.
This project is licensed under the MIT License.
CircuitPython
Adafruit CircuitPython HID Library
Adafruit CircuitPython Debouncer Library