octokeyz

Hardware Variant: octokeyz

The basic variant of the octokeyz macropad, featuring eight 12mm SPST push-buttons and a single indicator LED. It shares a single firmware binary with the octokeyz-mega variant.

Overview

octokeyz, assembled

octokeyz, assembled

Field Value
MCU STM32F042K6 / STM32F042K4 (ARM Cortex-M0, 48 MHz)
Buttons 8x 12mm SPST push-buttons
LED PWM-driven, 5 states (on, flash, slow blink, fast blink, off)
Display None
USB Mini-B, Full-speed, HID class, up to 100 mA
USB VID:PID 1d50:6184
PCB revision 20240616
License CERN-OHL-S-2.0 (hardware) / BSD-3-Clause (firmware)

PCB

octokeyz PCB, top side

octokeyz PCB, top side

octokeyz PCB, bottom side

octokeyz PCB, bottom side

Resources:

KiCad 9.0+ source files are available in the repository under pcb/octokeyz/.

Enclosure

3D-printable enclosure designed in OpenSCAD, consisting of three parts:

Part File
Front shell enclosure-front.stl
Back cover enclosure-back.stl
LED holder led-holder.stl

OpenSCAD source files are in the repository under 3d-models/octokeyz/, with shared modules in 3d-models/lib/.

Display

This variant does not include a display. The firmware detects display absence at runtime and operates normally without one. For the display-equipped variant, see octokeyz-mega.

Build Manual

The board uses predominantly through-hole components, with SMD parts limited to the microcontroller and the USB ESD protector. The LED holder is a 3D-printed part that holds the LED, so that it clips into the front enclosure opening.

For the full assembly procedure, see my generic Hardware Build Manual.

  • For firmware flashing instructions, see Firmware.
  • For writing programs to interact with the device, see Client Libraries.