DIY Projects

Tiwaz: An STM32 Split Keyboard That Is Also Two Macro Pads

Tiwaz: An STM32 Split Keyboard That Is Also Two Macro Pads

Picture the last hour of a robotics build night: your left hand pinned to WASD, your right hand stretched across the desk to a mouse, shoulders rolled forward, both wrists crammed into the same 30 cm of table the laptop already owns. Maker Timo Strube’s answer was to cut the keyboard in half and let each side sit wherever your arm actually wants to be.

Two keyboards that agree to become one

Tiwaz is an ortholinear split keyboard where each half mirrors the other. Join them with a cable and you get one compact split board, each side free to sit at its own angle and distance. Leave them apart and each half still works on its own as a programmable macro pad or gaming keypad, with a small joystick tucked into the corner that switches between analog and digital modes and can also drive the mouse cursor. Strube designed the whole thing around repairability: hardware files under GPL-3, firmware under GPL-2, both already posted for anyone to fork.

How it is wired

Earlier prototypes ran on a Raspberry Pi RP2040. The shipping design moves to an STMicroelectronics STM32F401, a Cortex-M4F part that clocks to 84 MHz and carries a 12-bit ADC on die, which is what keeps the analog joystick reads steady instead of jittery at the edges of travel. Firmware is QMK with VIA/VIAL support, so every keycode and every per-key RGB LED can be remapped from a GUI without recompiling and reflashing. The two halves talk over a 3.5 mm TRS jack, the host link is USB Type-C, and the switches drop into hot-swap sockets on a gasket-mounted plate with internal damping so the case does not ring on every keypress.

What you can steal from the design

The clever part is not the split layout, which QMK builds have done for years. It is the choice to make each half a finished device rather than a dumb slave half that only reports switch states back to a master. That pattern travels well: a capstone team building a two-handed controller for a rehab device, or a robotics club that wants a detachable arm-control pad, gets a spare working unit instead of half a brick when one side fails. Strube is funding an initial production run through Crowd Supply, but the design files are the real payload here.

Read the full write-up on Hackster, then open QMK’s pointing device docs if you want to try the joystick-as-mouse trick on a keypad you already own.

Frequently Asked Questions

What microcontroller runs the Tiwaz keyboard?

An STMicroelectronics STM32F401, a Cortex-M4F running at up to 84 MHz. It replaced the Raspberry Pi RP2040 used in earlier prototypes, and its 12-bit ADC handles the analog joystick reads. Firmware is QMK with VIA/VIAL support.

Do I need both halves for it to work?

No. Each half is a complete device on its own and runs as a macro pad or gaming keypad with its own corner joystick. Linking them with a 3.5 mm TRS cable turns the pair into a full split keyboard, and the host connection is USB Type-C either way.

What will I learn if I build a project like this?

Matrix key scanning, ADC sampling for analog sticks, USB HID descriptors, and how QMK layers and keymaps are structured. On the hardware side you get practice with hot-swap switch footprints, TRS inter-board wiring, and gasket mounting to kill case resonance. All of it transfers to any custom HID controller you build for a thesis or competition project.

This article was inspired by reporting from Hackster. Find the parts and modules to build it at Circuitrocks.

// written by Ann Arandia

Ann Arandia covers community projects and maker events for the Circuitrocks blog. She writes about local workshops, kid-friendly electronics, and the Philippine maker scene — the people, the meet-ups, the projects that come out of them.