Tool // Firmware Generator

Keymap
Editor.

Customize your own keyboard firmware and layout right here. Click a key in the grid, pick what you want it to type, and the Arduino sketch rewrites itself as you go. When the layout is how you like it, download the .ino or copy the code straight into Arduino and flash your handwired board. One thing before you start: double check which MCU pins you actually soldered your rows and columns to, because the sketch is built around them. Have fun.

Runs

In Your Browser

Output

Arduino .ino

Saved

On This Device

Everything we make lives on GitHub and it is all free to download

Our GitHub

Choose a Board

Pick one of ours, or go with the custom board if you want firmware for something you wired yourself.

Matrix

Start here

Each row gets switched on one at a time while the columns are read back, so the key at R2C3 is the switch sitting where the row 2 wire crosses the column 3 wire. Worth checking against your own board before you flash anything.

Assign

Then this

Macros

If you want

A macro holds down its modifiers, taps the key, then lets go of everything at once. That is really all a shortcut like Copy or Undo is. Once you make one here it turns up in the Assign panel so you can drop it onto any key you like.

Wiring & Timing

Worth a look
Output

Your Firmware

Updates as you edit //

Arduino Sketch C++

1 · Open it

Save the file and open it in the Arduino IDE. The comment at the top of the sketch tells you which board to pick under Tools then Board.

2 · Check the pins

The pin numbers come straight from the build guide. If you wired yours a little differently, change them in the Wiring panel above and the sketch updates as you type.

3 · Upload

Hit upload, then press every key. If a whole row or column goes quiet, that is nearly always a wiring problem rather than a keymap one, so go back over that line with a multimeter.

Everything is on GitHub

Every board we have built has its reference sketch sitting in the repository, right next to the plate and case files, the wiring diagrams and the PCB designs. If you would rather write the firmware yourself, that is a good place to start.

View on GitHub

Build Together.

Join the community sharing blueprints, troubleshooting circuits, and showcasing their builds.