# BlueMicro PyKey60

> Open-source 60% mechanical keyboard PCB with RP2040 MCU, per-key RGB NeoPixel LEDs, Kailh hot-swap sockets, onboard buzzer, and USB-C. Runs KMK and CircuitPython firmware.

## Quick Facts

- **Brand:** BlueMicro
- **Board Type:** keyboard-pcb
- **Price:** ~$50
- **Product Readiness:** diy-kit
- **CPU:** ARM Cortex-M0+ dual-core @ 133MHz (RP2040)
- **CPU Architecture:** ARM Cortex-M0+
- **CPU Cores:** 2
- **RAM:** 264KB SRAM
- **Flash:** 16MB
- **USB:** USB-C
- **Power:** 5V
- **Operating Voltage:** 3.3V
- **Antenna:** N/A

## Connectivity

- **Wifi:** No
- **Bluetooth:** No
- **Zigbee:** No
- **Ethernet:** No

## Open Source

- **Status:** fully-open
- **Firmware:** Yes
- **Schematics:** Yes
- **PCB Layout:** Yes
- **License:** CERN-OHL-W-2.0

## Compatible Firmware

KMK, circuitpython

## Use Cases

- mechanical-keyboard
- custom-input-device
- circuitpython-learning

## Components

- **RP2040** (mcu): Raspberry Pi dual-core ARM Cortex-M0+ microcontroller running at 133MHz with 264KB SRAM, 30 multifunction GPIO pins, programmable I/O (PIO), and native USB 1.1 support. — [Datasheet](https://openhardware.directory/r?to=https%3A%2F%2Fdatasheets.raspberrypi.com%2Frp2040%2Frp2040-datasheet.pdf&ref=openhardware.directory&product=pykey60&source=md-export)
- **W25Q128JV** (flash): Winbond 128Mbit (16MB) serial NOR flash memory with SPI/Dual-SPI/Quad-SPI interface, operating at up to 133MHz for firmware and CircuitPython library storage. — [Datasheet](https://openhardware.directory/r?to=https%3A%2F%2Fwww.winbond.com%2Fresource-files%2Fw25q128jv%2520revf%252003272018%2520plus.pdf&ref=openhardware.directory&product=pykey60&source=md-export)
- **WS2812B** (led): Addressable RGB LED with integrated WS2812B driver IC, supporting daisy-chained single-wire serial control at 800Kbps for per-key underglow lighting effects. — [Datasheet](https://openhardware.directory/r?to=https%3A%2F%2Fcdn-shop.adafruit.com%2Fdatasheets%2FWS2812B.pdf&ref=openhardware.directory&product=pykey60&source=md-export)
- **kailh-hot-swap-socket** (connector): PCB-mount hot-swap sockets allowing tool-free insertion and removal of Cherry MX-compatible mechanical keyboard switches without soldering. — [Datasheet](https://openhardware.directory/r?to=https%3A%2F%2Fwww.kailhswitch.com%2Fmechanical-keyboard-switches%2Fbox-switches%2Fhot-swap-pcb-socket.html&ref=openhardware.directory&product=pykey60&source=md-export)
- **piezo-buzzer** (audio): Onboard piezoelectric transducer providing audio feedback for keystrokes, layer changes, and configurable tone alerts. — [Datasheet](https://openhardware.directory/r?to=https%3A%2F%2Fwww.murata.com%2Fen-us%2Fproducts%2Fsound%2Fsounder%2Foverview&ref=openhardware.directory&product=pykey60&source=md-export)

## Protocols

- **USB**
- **SPI**
- **GPIO**

## Description

The PyKey60 is an open-source 60% ANSI mechanical keyboard PCB built around the Raspberry Pi RP2040 microcontroller. Designed by Pierre Constantineau under the BlueMicro brand, it targets CircuitPython beginners and custom keyboard enthusiasts who want a fully programmable keyboard without soldering switches. The board fits standard GH60-compatible cases, making it a drop-in upgrade for anyone building or modifying a compact mechanical keyboard.

Every key position features a Kailh hot-swap socket for tool-free Cherry MX-compatible switch installation, paired with an individual WS2812B NeoPixel RGB LED for per-key underglow lighting. The 14-column by 5-row switch matrix covers the full 60% ANSI layout with PCB-mount stabilizer support for the larger keys. An onboard piezo buzzer provides audio feedback for keystrokes and layer changes, adding a tactile-plus-audible dimension to the typing experience.

The RP2040 at the heart of the PyKey60 brings dual ARM Cortex-M0+ cores running at 133MHz, 264KB of SRAM, and native USB 1.1 support over a USB-C connector. External flash storage is provided by a Winbond W25Q128JVS 16MB NOR flash chip, giving ample room for firmware, keymaps, and CircuitPython libraries. The board runs KMK firmware — an open-source keyboard firmware written entirely in CircuitPython — enabling users to customize layouts, macros, layers, and RGB effects by simply editing Python files on a virtual USB drive.

All hardware design files including schematics, PCB layouts, and gerber files are published on GitHub under the CERN Open Hardware Licence Version 2 - Weakly Reciprocal (CERN-OHL-W-2.0), making the PyKey60 a fully open-source project from silicon to keycap.

## Where to Buy

- [Tindie](https://openhardware.directory/r?to=https%3A%2F%2Fwww.tindie.com%2Fproducts%2Fjpconstantineau%2Fpykey60-rgb-keyboard-pcb-with-a-rp2040%2F&ref=openhardware.directory&product=pykey60&source=md-export) — $50.00

## Resources

- [product](https://openhardware.directory/r?to=https%3A%2F%2Fwww.tindie.com%2Fproducts%2Fjpconstantineau%2Fpykey60-rgb-keyboard-pcb-with-a-rp2040%2F&ref=openhardware.directory&product=pykey60&source=md-export)
- [github](https://openhardware.directory/r?to=https%3A%2F%2Fgithub.com%2Fjpconstantineau%2FPyKey60&ref=openhardware.directory&product=pykey60&source=md-export)
- [wiki](https://openhardware.directory/r?to=https%3A%2F%2Fpykey.jpconstantineau.com&ref=openhardware.directory&product=pykey60&source=md-export)
- [schematics](https://openhardware.directory/r?to=https%3A%2F%2Fgithub.com%2Fjpconstantineau%2FPyKey60&ref=openhardware.directory&product=pykey60&source=md-export)

## Tags

`mechanical-keyboard`, `rp2040`, `circuitpython`, `kmk`, `rgb`, `hot-swap`, `60-percent`, `open-hardware`, `neopixel`, `gh60`

## Images

![BlueMicro PyKey60](https://nbg1.your-objectstorage.com/openhardware-directory/entities/pykey60/badb0c84be66.jpg)

---
[View full device page](https://openhardware.directory/devices/pykey60)