Skip to the content
2 layers51.2 × 10 mmAtreus trackpoint, the printed circuit board in 3D

Atreus trackpoint

jfl209/atreus

QMK firmware + KiCad daughterboard + 3D-printed holder for my Keyboardio Atreus with a PS/2 TrackPoint mod. Reconstructed from a chip dump after losing the original source.

Size
51.2 × 10 mm
Copper layers
2
Thickness
1.6 mm
Parts
21
Nets
16
Pads
44
Tracks, vias
112, 28
Pours
2
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
20 Jun 2026
Updated
20 Jun 2026

Overview

Atreus trackpoint is an open-source printed circuit board by jfl209, from the jfl209/atreus repository on GitHub. It is a 2-layer board of 51.2 × 10 mm with 21 parts on 16 nets, routed with 112 tracks and 28 vias.

It is built around the WS2811. Its parts include 5 diodes, 3 resistors, 2 ICs and 1 capacitor. It belongs with the keyboards and input boards of this library.

Main components

1

README

README.md

atreus

QMK firmware for my Keyboardio Atreus + PS/2 TrackPoint mod.

Atreus with TrackPoint and Commodore 64 keycaps

The original firmware source was lost. This repo was rebuilt from the running keyboard:

  • dump/atreus-flash.hex was read off the ATmega32U4 over Caterina/avr109.
  • The QMK keymap was decoded from the dump and turned back into source under keyboards/atreus_trackpoint/.
  • The trackpoint daughterboard schematic was copied in from KiCad.

If you're future-me opening this cold: start with docs/DECODING.md (how the keymap was recovered) and docs/HARDWARE.md (what's on the PCBs).

Hardware

  • Keyboardio Atreus, ATmega32U4, Caterina bootloader
  • Custom trackpoint daughterboard (KiCad files in hardware/, gerbers in hardware/gerbers/) with:
    • IBM-style PS/2 TrackPoint module
    • 5× WS2811-driven indicator LEDs
  • 3D-printed trackpoint holder (hardware/3d-printed/atreus trackpoint holder v*.stl). Iterated through 8 versions in Jan 2021 — v8 is the last, presumably the keeper. The originating CAD (likely Fusion 360) was not recovered.

Layout

5 layers, all built on the standard 4×12 Atreus matrix:

#NameActivationWhat's on it
0BASEdefaultQWERTY
1SHIFThold right thumb MO(1)every alpha key sent as LSFT(letter) — thumb-driven shift
2NUMhold left thumb MO(2)digits, brackets, shifted symbols
3FNhold MO(3) from SHIFTF1-F15, arrow cluster
4ADJhold MO(4) from NUMnumbers + arrows combined

Right-thumb keys are mod-tap:

  • RCTL_T(KC_QUOT) — tap for ', hold for Right-Ctrl
  • RALT_T(KC_MINS) — tap for -, hold for Right-Alt

Trackpoint mouse buttons are at matrix positions [2,5] and [2,6] — the center of the third row, wired through the matrix as KC_BTN1 / KC_BTN2.

See keyboards/atreus_trackpoint/keymaps/default/keymap.c for the full keymap.

Building

This repo contains only the custom keyboard folder. Drop it into a QMK checkout to build:

sh
# 1. Get QMK
git clone https://github.com/qmk/qmk_firmware.git
cd qmk_firmware
make git-submodule        # pulls chibios, lufa, etc.

# 2. Link in this keyboard
ln -s ~/git/atreus/keyboards/atreus_trackpoint keyboards/atreus_trackpoint

# 3. Build
qmk compile -kb atreus_trackpoint -km default
# (output: atreus_trackpoint_default.hex in the repo root)

Before flashing a fresh build, confirm the trackpoint pins in keyboards/atreus_trackpoint/config.h are correct. They were guessed, not recovered. See docs/HARDWARE.md § "How to verify the pins".

If a new QMK release renamed something and the build breaks, the original firmware was built around early-2021 QMK — pin to a commit from that window and port forward in small steps.

Flashing

sh
# Restore the captured backup
./flash.sh

# Or flash a fresh build
./flash.sh path/to/atreus_trackpoint_default.hex

To enter bootloader mode: hold Fn+Esc if the binding survived in your build, otherwise press the reset button on the bottom of the keyboard — it's accessible through a small hole in the bottom plate, poke it with a paperclip.

Layout of this repo

text
.
├── README.md
├── flash.sh                          # one-command flash helper
├── dump/
│   ├── atreus-flash.hex              # working firmware backup (re-flashable)
│   └── atreus-flash.bin              # raw binary, same content
├── docs/
│   ├── DECODING.md                   # how the keymap was recovered from the dump
│   └── HARDWARE.md                   # schematic notes, pin assignments, gotchas
├── hardware/
│   ├── atreus_trackpoint.{sch,kicad_pcb,pro,net,lib}
│   ├── 3d-printed/                   # printable STLs (v1-v8) of trackpoint holder
│   └── gerbers/                      # PCB fab files
├── keyboards/
│   └── atreus_trackpoint/            # QMK keyboard (symlink into qmk_firmware/keyboards)
│       ├── atreus_trackpoint.{c,h}
│       ├── config.h                  # matrix + trackpoint pin defs (TODOs!)
│       ├── rules.mk
│       ├── info.json
│       └── keymaps/default/
│           ├── keymap.c              # 5-layer keymap
│           └── rules.mk
└── tools/
    └── decode_keymap.py              # the decoder used on the dump

Parts

21
QtyValueFootprintReferences
10TestPointTestPoint:TestPoint_Pad_1.0x1.0mmTP2, TP3, TP4, TP5, TP6, TP7, TP8, TP9, TP10, TP11
5LEDLED_THT:LED_D3.0mmD1, D2, D3, D4, D5
3RResistor_SMD:R_0805_2012MetricR1, R2, R3
2WS2811Package_SO:SOP-8_3.76x4.96mm_P1.27mmU1, U2
1CPCapacitor_SMD:C_1206_3216MetricC1

Similar boards

  • 2 layers18 × 36 mmAddressable 7seg, the printed circuit board in 3D

    Addressable 7seg

    idlehandsdev/addr_7seg

    Addressable 7-Segment Displays

    16 parts107
  • 2 layers70 × 65 mmGame Controller - Front PCB, the printed circuit board in 3D

    Game Controller - Front PCB

    dmcke5/XWii-Controller

    The Wii U gamepad layout is a fan-favourite for many gamers yet it is rarely used in the current generation of controllers.

    54 parts59CERN-OHL-S-2.0
  • 2 layers159.5 × 53.3 mmBClock, the printed circuit board in 3D

    BClock

    mkarliner/BelshazzarClock

    Belshazzar Night Clock

    77 parts7
  • 2 layers150 × 68 mmController, the printed circuit board in 3D

    Controller

    candykingdom/firefly2

    Small blinkenlight boards that sync up using radios

    194 parts5
  • 2 layers45.8 × 24.9 mmTape tics projectV2, the printed circuit board in 3D

    Tape tics projectV2

    carlos-paniagua/TapeTicsProject

    This repository contains the hardware and software design files for TapeTics

    17 parts2MIT
  • 2 layers69 × 61 mmBooth, the printed circuit board in 3D

    Booth

    JCohner/booth

    Using 1000 NeoPixels with FastLED library we are controlling a custom built DJ booths lighting. The NeoPixels are organzied into rectangles on a DJ of which the light difuses around the rectnagle.

    21 parts2
  • 2 layers160 × 69 mmPanelModular, the printed circuit board in 3D

    PanelModular

    TheBlueManCoding/ModularControlPanel

    Mechanics, PCB and Software for my modular control panel that is used with my cnc machine driven by LinuxCnc

    63 parts2GPL-3.0

Questions

How big is the Atreus trackpoint PCB?

It measures 51.2 × 10 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Atreus trackpoint use?

21 parts, built around the WS2811. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Atreus trackpoint KiCad files?

From the jfl209/atreus repository on GitHub, at the commit this page was made from: the board is hardware/atreus_trackpoint.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Atreus trackpoint design in my own project?

Its repository states no licence, so its author keeps all rights: ask jfl209 before reusing the design.