Skip to content

AndyHanDev/Time-Machine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Time-Machine

Deceptively small macropad (could fit in your palm)

image

Time Machine is a KMK-powered, 6-key + Rotary Encoder, OLED display, Macropad with underglow lighting.

KMK firmware for the custom Hackpad

Features

* Constants at the top define which matrix key does what—easy to tweak later.
* A sleep toggle (OLED off, inputs ignored until woken).
* EC11 rotary encoder (GP8=A, GP9=B, GP10=SW)
    * Short‑press once → enter **Timer‑Setup** mode
    * Turn knob → cycle through preset durations
      (1, 5, 10, 15, 20, 30, 40 minutes)
    * Short‑press again → start the countdown
* 0.91″ SSD1306 OLED (I²C on GP6=SDA, GP7=SCL)
    * Shows selected duration or live progress bar + remaining time
* 3× SK6812 LEDs daisy‑chained on GP5 (optional flash on timer end)
* Stores a persistent points counter in /points.txt and flashes the LEDs:
    * +1 → yellow flash
    * +2 → purple for 1 minute
    * negative actions → blue flash
 * Two under‑glow LEDs stay dim green whenever no other colour is flashing.

Requires:

  • CircuitPython ≥ 9.0 or RP2040‑UF2 w/ displayio support
  • adafruit_displayio_ssd1306 and adafruit_display_text libraries in /lib
  • KMK (copy kmk/ into CIRCUITPY drive)

Save this file as code.py or main.py on the XIAO‑RP2040.

Design

This was my first time doing a hardware project! Thanks to all the friends that I bugged constantly :P

PCB

I learned how to use a matrix to get all my features onto the XIAO microcontroller perfectly image image The schematic and the PCB were made in KiCad

Case

First time CADing too! It ain't much, but it's honest work. image Case was made using Autodesk Fusion

Firmware

Time Machine was made with custom-coded firmware written with the KMK library in Python

BOM

*6 cans of redbull not included

Electronics

  • 1x XIAO RP2040
  • 1x EC11E Rotary Encoder (with switch)
  • 1x Rotary Encoder Knob
  • 1x 0.91" OLED Display
  • 6x Cherry MX Switches
  • 6x Blank DSA Keycaps
  • 6x Diode (THT)
  • 3x SK6812 Mini LEDs
  • 1x 330 Ohm Resistor

Case

  • 1x case_top.stl
  • 1x case_plt.stl
  • 1x case_btm.stl
  • 3x M3x16 screw
  • 4x 10mm Rubber Feet
  • 3x M3x5x4mm heatset inserts

About

A custom Macropad

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages