by SplitKB

Image of Board

The Liatris is a new controller designed by that’s a designed specifically for (split) keyboards. It’s a drop-in replacement for the Pro Micro, and a perfect alternative for other RP2040-based controllers.

Core features

  • Designed for maximum compatibility with kits that work with Pro Micro controllers, including the Kyria and our Aurora Series.
  • Supports QMK (all capabilities) and ZMK firmware (wired, single controller) out of the box. Also compatible with KMK and CircuitPython.
  • Has 128Mbit (16MB) of flash memory, ensuring you’ll never run out of space even when making heavy use of OLED animations or text expansion macros. We added as much flash as the RP2040 can handle!
  • Access to 23 GPIO pins to use on your keyboard, meaning that on any Aurora Series keyboard, you’ll have 5 pins left over for any modifications you may want to do.
  • Rear-facing bootloader button allowing you to easily recover from a bricked firmware, even when mounted in the usual upside-down position.
  • An ultra-low profile with a mid-mounted USB-C port and a mere 1mm thick PCB. The rear-mounted reset button checks in at only 0.35mm, too, like it’s almost not there.
  • Supports at least 1A of power output, so you can maximize the output of your LEDs when your computer outputs enough power.

Advanced features

The default settings are right for most people out of the gate. For those who demand more of their controller, we have some advanced features:

  • 5V tolerant I2C pins so you won’t have to worry when hooking up an I2C device like an OLED or trackball board;
  • Runs at 3.6V for better 5V signal compatibility so your LEDs will listen better to those smooth colour change commands (according to data sheets, 3.5V is the minimum to reliably talk with LEDs);
  • Selectable voltage on the VCC (defaults to 5V to support RGB LEDs) and RAW pins (which we named VA, and isn’t connected by default to be compatible with common Corne-style kits that bridge VCC with RAW on the keyboard by default) for when you need to get specific with your kit;
  • USB data pads for hand wired builds where you want to have a separate USB port somewhere else on the board;
  • Debug pads to be able to better look into microcontroller behaviour when you really need to.



Have some info to add for this board? Edit the source for this page here.

CircuitPython 8.2.6

This is the latest stable release of CircuitPython that will work with the Liatris.

Use this release if you are new to CircuitPython.

Release Notes for 8.2.6

Built-in modules available: _asyncio, _bleio, _pixelmap, adafruit_bus_device, adafruit_pixelbuf, aesio, alarm, analogbufio, analogio, array, atexit, audiobusio, audiocore, audiomixer, audiomp3, audiopwmio, binascii, bitbangio, bitmaptools, bitops, board, builtins, builtins.pow3, busio, busio.SPI, busio.UART, collections, countio, digitalio, displayio, errno, floppyio, fontio, framebufferio, getpass, gifio, i2ctarget, imagecapture, io, json, keypad, keypad.KeyMatrix, keypad.Keys, keypad.ShiftRegisterKeys, math, microcontroller, msgpack, neopixel_write, nvm, onewireio, os, os.getenv, paralleldisplay, pulseio, pwmio, qrio, rainbowio, random, re, rgbmatrix, rotaryio, rp2pio, rtc, sdcardio, select, sharpdisplay, storage, struct, supervisor, synthio, sys, terminalio, time, touchio, traceback, ulab, usb_cdc, usb_hid, usb_midi, vectorio, watchdog, zlib

Absolute Newest

Every time we commit new code to CircuitPython we automatically build binaries for each board and language. The binaries are stored on Amazon S3, organized by board, and then by language. These releases are even newer than the development release listed above. Try them if you want the absolute latest and are feeling daring or want to see if a problem has been fixed.

Previous Versions of CircuitPython

All previous releases of CircuitPython are available for download from Amazon S3 through the button below. For very old releases, look in the OLD/ folder for each board. Release notes for each release are available at GitHub button below.

Older releases are useful for testing if you something appears to be broken in a newer release but used to work, or if you have older code that depends on features only available in an older release. Otherwise we recommend using the latest stable release.