#keyboards #split-keyboard #lily58 #pcb #qmk #zmk #mcu #rp2040
# Overview
The Lily58 is a 58-key column-staggered split keyboard designed by Naoki Katahira (kata0510 / @F_YUUCHI) in Japan, first released in 2018. It is itself a derivative of MakotoKurauchi's Helix, and is published under the **MIT license** — which is why the ecosystem of commercial forks is unusually large.
Two things confuse almost everyone shopping for one:
1. **"Lily58 Pro" is not a newer Lily58.** Pro and Lite are two parallel product lines with different goals — Pro = hotswap + reversible PCB, Lite = simplified beginner build with separate L/R boards.
2. **No official Lily58 has ever had a rotary encoder or per-key RGB** (until the unreleased Pro V2). Every encoder/RGB Lily58 you can buy is a third-party fork. "Glow" is a vendor label, not a kata0510 revision.
This note covers the six official variants, the major forks, and which one to actually buy in 2026.
# Design
## Constant across every official revision
- **58 keys**, 29 per half: 6 cols × 4 rows + 1 inner key + 4 thumb keys. Outermost thumb key is 1.5U vertical.
- **Matrix never changed** — 6 cols × 5 rows per half, `COL2ROW`. The original, Lite Rev1, Lite Rev2, and Pro all share the single QMK target `lily58/rev1`, which independently proves it.
- **Two TRRS jacks**, one per half. Serial split only uses 3 conductors, so a plain TRS cable works on the original/Lite; the Pro guide recommends 4-pole.
- **Optional OLEDs** — 2× SSD1306, 4-pin 2.54mm I²C header, always user-soldered.
- **License: MIT**, Copyright (c) 2018 Naoki Katahira.
## Official variants at a glance
| | Original (2018) | Lite Rev1 (2019) | Lite Rev2 (2020) | Lite Rev3 (2024) | Pro (2018-12) | Pro V2 (unreleased) |
|---|---|---|---|---|---|---|
| MCU | Pro Micro ×2 | Pro Micro ×2 | Pro Micro ×2 | RP2040-Zero, pre-soldered | Pro Micro ×2 | Onboard RP2040 ×2 |
| USB | micro-B | micro-B | micro-B | Type-C | micro-B | Type-C, both halves |
| Diodes | TH 1N4148 (dual TH/SMD pads) | TH 1N4148, user-soldered | Pre-soldered (package unconfirmed) | BAV70 + 1N4148W, pre-soldered | SMD 1N4148W, user-soldered | SOD-123, factory PCBA |
| Hotswap | No | No | No | **No** | **Yes** (Kailh MX + Choc v1) | Yes (MX) |
| Per-key RGB | No | No | No | No | No | **Yes — 58× SK6812MINI-E** |
| Underglow | 3-pad WS2812 strip header | Unconfirmed | Unconfirmed | No | 3-pad WS2812 strip header | (per-key only) |
| Encoder | No | No | No | No | No | No |
| PCB | **Reversible** | Mirrored L/R | Mirrored L/R (inferred) | Mirrored L/R (PCB-L / PCB-R) | **Reversible** | Mirrored L/R |
| Choc support | Yes (v1) | Dropped | No | No | Yes (v1 only) | Choc V2 per README |
| PCB source published | Yes | **No** | **No** | Yes | Yes | Yes |
## What actually changed, revision by revision
**Original → Lite Rev1 (2019-07-03).** The designer's own stated rationale: the reversible PCB confused first-time builders about diode and Pro Micro orientation, so it became separate mirrored L/R boards. Kailh Choc support was dropped (MX only) and the I²C port was deleted. Same ¥10,000 price, same external appearance in acrylic cases.
**Lite Rev1 → Rev2 (2020-05).** One change, and it's purely about build effort: **diodes, TRRS jacks, and reset switches now ship pre-soldered.** Build time dropped from 2–3 hours to 1–2. The text build guide was replaced with a video. Nothing electrically different. The Rev1 kit lists 58 loose diodes + 2 jacks + 2 tact switches; the Rev2 kit omits all three.
**Lite Rev2 → Rev3 (2024-10-28).** The biggest architectural break in the line. AVR/Pro Micro → **RP2040-Zero pre-soldered to the underside**, micro-USB → USB-C, through-hole diodes → pre-mounted BAV70 dual SMD packages. There is **no Pro Micro footprint on Rev3 at all** — it cannot take an Elite-C, nice!nano, Elite-Pi, or Sea-Picro. The only user soldering left is the OLED sockets and the 58 switches. Still no hotswap, still no RGB.
**Original → Pro (2018-12, Comiket C95).** Added Kailh hotswap sockets with a combined MX + Choc v1 footprint; diode footprint changed from dual TH/SMD to **SMD-only**; ICSP header removed; OLEDs moved into the kit as standard. Reversibility, Pro Micro, TRRS, I²C option, matrix and layout all unchanged. Note there is no official changelog for this — it's reconstructed from the two schematics.
**Pro → Pro V2 (published 2024-07, ==never released==).** Official changelog: Type-C connector, RP2040 support, redesigned around surface-mount parts, Pro Micro protective acrylic dimensions changed. Critically: **outer dimensions and switch positions are unchanged, so existing cases (including Lulu) still fit.** The changelog omits it, but the PCB data unambiguously contains **58× SK6812MINI-E per-key LEDs** — this would be the first official Lily58 with backlighting. The controller is soldered down, so no MCU swapping.
## Controllers — "Pro Micro" is a footprint, not a chip
As of 2026 the 24-pin Pro Micro *outline* is the standard; the ATmega32U4 that originally filled it is not. Two reasons it fell out of use:
- **The micro-USB connector.** Surface-mount with almost no mechanical anchoring, on the one part of the keyboard you physically stress daily. Ripped-off USB ports are the classic Pro Micro failure mode.
- **32KB flash.** QMK with RGB matrix + OLED + VIA simply won't fit on a 32U4 anymore. RP2040 boards in the identical footprint cost the same or less with 2–16MB.
Current practice: **RP2040 for wired, nRF52840 for wireless.** All USB-C.
| Board | MCU | Flash | USB | Price | Vendor |
|---|---|---|---|---|---|
| **Elite-Pi** | RP2040 | 2MB | Mid-mount C | $12.99 | Keebio (US) — the default recommendation |
| **Adafruit KB2040** | RP2040 | 8MB | C | ~$9 | Adafruit (US) — cheapest reputable |
| **Liatris** | RP2040 | 16MB | Mid-mount C | €17.99 | splitkb (NL) — 1mm PCB, lowest profile |
| **0xCB Helios** | RP2040 | 16MB | Mid-mount C | ~$25 | Vbus detection, power LED |
| **nice!nano v2** | nRF52840 | — | C | ~$25 | Typeractive (US) — wireless/ZMK |
| **SuperMini nRF52840** | nRF52840 | — | C | ~$10 | AliExpress — nice!nano clone, QC varies |
| **Generic "RP2040 Pro Micro"** | RP2040 | 4–16MB | C | ~$5 | AliExpress/Amazon — works, batch-variable QC |
| Pro Micro USB-C | ATmega32U4 | 32KB | C | ~$10 | Keebio; SparkFun Qwiic Pro Micro at Micro Center / DigiKey / Mouser |
| Pro Micro (original) | ATmega32U4 | 32KB | micro-B | ~$8 | ==Avoid for new builds== |
**USB-C ATmega32U4 does exist** (Keebio's USB-C Pro Micro, SparkFun Qwiic Pro Micro) — but it's similar money for 1/50th the flash. Only worth it if a board genuinely needs 5V logic. The Lily58 does not.
### Build rules for the Lily58
- **Both halves must be the same controller.** Keebio states it outright: you cannot mix an Elite-Pi with a Pro Micro or Elite-C. Elite-Pi mirrors the *Pro Micro* pinout, not the Elite-C's extra pins.
- **Get mid-mount USB-C.** Top-mount adds ~1.6mm and the Lily58's acrylic controller cover has little clearance. Elite-Pi and Liatris are both mid-mount.
- **Socket it with Mill-Max low-profile sockets.** Desoldering a 24-pin controller later is worse than any diode work you were trying to avoid.
- **Lite Rev3 has no socket at all** — RP2040-Zero is soldered down. No swaps, no wireless, ever.
- ==RP2040/nRF boards generally lose the WS2812 underglow pin behaviour and need a different QMK/ZMK target — verify before counting on the Pro's LED strip header.==
# Decisions
## Which one to build (2026)
- **Best all-round buy: splitkb Aurora Lily58 (€37.95).** MCU choice (Pro Micro / Elite-C / Elite-Pi / Liatris / nice!nano), per-key RGB, up to one encoder per half from four positions, top-mounted controllers, tenting-puck compatible, QMK *and* ZMK. Three SKUs: MX hotswap, Choc hotswap, hand-solder. Caveat: **Choc + encoder is impossible** (no vertical room), and it is **not open source** — splitkb explicitly says so.
- **Least soldering: Typeractive Lily58 Wireless ($35/pair, currently sold out).** Hotswap sockets, diodes, reset button, power switch, and JST battery jack all pre-soldered. Native nice!view support. No RGB, no encoder. MX version keeps case compatibility; the Choc version does not.
- **Most open + most features: Lotus58 by TweetyDaBird** (CERN-OHL-S-2.0+). Per-key RGB + underglow, hotswap, encoder with flexible placement (can occupy a thumb position), a **fifth thumb key per hand**, all-through-hole for beginners, and it runs standalone as a one-handed gamepad. The trade-off: it is **case- and plate-incompatible with the Lily58** by design. Wired ~$60–95, plus BLE (nRF52840, ZMK) and 2.4 GHz unWired spin-offs. One-person operation — buy from Lectronz, not Tindie.
- **Cheapest path to a genuine Lily58 Pro: KeyHive (from $5/PCB) or Little Keyboards ($18.99).** Bare PCBs, everything else separate. No RGB, no encoders.
- **If you want RGB on a stock-compatible board: Keycapsss Lily58L (€16).** The "L" almost certainly means "Light" (QMK path is `lily58/light`) — 58× SK6812 Mini-E per-key + 12× WS2812 underglow, optional EC11 per side, Pimoroni trackball footprint. MX only. **CC BY-NC-SA 4.0 — non-commercial**, so you can fab it for yourself but not sell it. Stocked but frozen at Rev1.3.
- **Don't buy a Lite Rev3 expecting to go wireless.** The soldered RP2040-Zero closes off every controller swap.
## Licensing — the inverse of what polish suggests
| Project | License | Design files public |
|---|---|---|
| Lily58 / Pro / Lite Rev3 / Pro V2 (kata0510) | MIT | Yes, full KiCad |
| Lotus58 (TweetyDaBird) | CERN-OHL-S-2.0+ (copyleft) | Yes, gerbers in Releases |
| Lily58L (Keycapsss) | CC BY-NC-SA 4.0 (non-commercial) | Build guide only |
| Aurora Lily58 (splitkb) | **None — explicitly not open source** | No, DXF cases only |
The most commercially polished fork is the least open; the most open has the least reliable stock. splitkb does donate €1/kit to QMK and ZMK.
## Descendants — boards that are Lily58 underneath
The MIT license means the Lily58 is upstream of a lot more than its own forks:
- **[[Sofle PCB Revision Comparison|Sofle]]** (Josef Adamčík, 2019) — started by opening the Lily58 Pro KiCad project; the v1 schematic still imports symbols named `SW_PUSH-Lily58-cache-Lily58_Pro-rescue`. Adds a 5th thumb key per hand and converts the Lily58's inner-key slot into a rotary encoder position. Same 58 switches. Its LICENSE carries the Lily58 attribution notice.
- **Boardsource Lulu** — Lily58-derived, *not* Sofle-derived despite frequent confusion. Boardsource describes it as "100% backwards compatible with the current Lily58 solderable PCB."
- **Lotus58** — began as tweaks to a Lily58, diverged far enough to break case compatibility (see above).
Lily58 itself is downstream of **Helix** (MakotoKurauchi) — the repo's LICENSE carries that attribution in turn.
## Case compatibility — the cleanest way to sort these
- **Keeps Lily58 case compatibility:** Lily58L, Aurora Lily58, Typeractive MX, Pro V2, WorldspawnsKeebs Lyte
- **Breaks it:** Lotus58, Typeractive Choc, holykeebs Choc
# Configuration
QMK targets — note which are official and which are vendor forks:
```bash
# Official (kata0510)
make lily58/rev1:default # original + Lite Rev1 + Lite Rev2 + Pro (all four)
make lily58/lite_rev3:default # RP2040
# Third-party
make lily58/light:default # Keycapsss Lily58L — encoder F4/F5, 70 WS2812
make lily58/glow_enc:default # "ORVISEVANS+" — encoder F5/D4, 72 LEDs
make lily58/r2g:default # Mechboards Lily58 R2G
make tweetydabird/lotus58:default # Lotus58 (also elite_c and nanoBoot variants)
```
ZMK shields, all MIT and listed as tested/pre-configured:
```
lily58_left / lily58_right
splitkb_aurora_lily58_left / _right
lotus58_left / lotus58_right
```
# Troubleshooting
- **Symptom**: OLED won't seat on a Lite Rev2 build.
- **Cause**: built with plain pin header + socket instead of con-through (a 2022 stock shortage workaround).
- **Fix**: raises the Pro Micro's height enough to make the OLED unusable. Use con-through / spring pin headers.
- **Symptom**: Aurora Lily58 Rev 1.0 diode silkscreen looks wrong.
- **Cause**: D27 and D29 are swapped and D27 is rotated 180° on Rev 1.0. JP1/JP2 labels are also reversed.
- **Fix**: cosmetic only — splitkb confirms it does not affect functionality. Fixed in Rev 1.1.
- **Symptom**: Low-profile switches won't clear the plate on the original Lily58.
- **Cause**: through-hole 1N4148 bodies are too tall.
- **Fix**: the build guide's own recommendation — buy SMD 1N4148W separately and use the SMD pads on the dual footprint.
# TODO
- ==Confirm Lite Rev2 diode package (SMD vs TH) — pre-soldering is documented, the package never is. Rev2 tools table still lists tweezers "for soldering diodes," probably stale copy from Rev1.==
- ==Confirm whether Lite Rev1/Rev2 have any WS2812 underglow pads — no PCB source published for either, so there's no way to check short of inspecting a board.==
- ==Pro V2: watch for a release. QMK has no `lily58/pro_v2` target, docs are all "TBA," and the Liliums BOOTH shop is currently private. Last repo commit was 2025-12-26 though, so it isn't dead.==
- ==Resolve the "Lily58 Glow" lineage. TweetyDaBird says Lotus58 began as tweaks to "the Lily58 Glow," and QMK has `lily58/glow_enc` with manufacturer "ORVISEVANS+", but no canonical Glow repo or designer was found.==
- ==Nobody official has ever endorsed Elite-Pi / Sea-Picro / nice!nano on a Lily58 — only Elite-C LP and BLE Micro Pro, both flagged 動作保証いたしかねます ("operation not guaranteed"). Community practice only.==
# References
- [kata0510/Lily58 — upstream repo](https://github.com/kata0510/Lily58) · [MIT LICENSE](https://github.com/kata0510/Lily58/blob/master/LICENSE)
- [Lily58 Pro build guide (EN)](https://github.com/kata0510/Lily58/blob/master/Pro/Doc/buildguide_en.md)
- [Lite Rev3 README](https://github.com/kata0510/Lily58/blob/master/Lite_Rev3/README.md) · [Pro V2 README](https://github.com/kata0510/Lily58/blob/master/Pro_V2/README.md)
- [Pro V2 official changelog (JP)](https://docs.liliums.net/lily58-pro-v2/changelog/) · [docs.liliums.net](https://docs.liliums.net/)
- [Lite Rev1 launch post (2019-07-03)](https://yuchi-kbd.hatenablog.com/entry/2019/07/03/124006) · [Lite Rev2 launch post (2020-05-23)](https://yuchi-kbd.hatenablog.com/entry/2020/05/23/013047) · [Lite Rev3 announcement](https://x.com/F_YUUCHI/status/1850851255335452936)
- [QMK keyboards/lily58](https://github.com/qmk/qmk_firmware/tree/master/keyboards/lily58) · [ZMK supported hardware](https://zmk.dev/docs/hardware)
- [Encoder feature request — issue #26](https://github.com/kata0510/Lily58/issues/26)
- [splitkb Aurora Lily58](https://splitkb.com/products/aurora-lily58) · [changelog](https://docs.splitkb.com/product-guides/aurora-series/changelogs/aurora-lily58) · [attribution / license](https://docs.splitkb.com/product-guides/aurora-series/attribution/aurora-lily58)
- [Keycapsss Lily58L build guide](https://github.com/Keycapsss/Lily58L-Build-Guide) · [store](https://keycapsss.com/keyboard-parts/pcbs/71/lily58l-split-keyboard-pcb)
- [TweetyDaBird/Lotus-58-Classic](https://github.com/TweetyDaBird/Lotus58) · [Lotus 58 BLE on Lectronz](https://lectronz.com/products/lotus-58-ble)
- [Typeractive Lily58 Wireless](https://typeractive.xyz/products/lily58-partially-assembled-pcb) · [Mechboards Lily58 R2G](https://mechboards.co.uk/products/lily58-kit) · [KeyHive](https://keyhive.xyz/shop/lily58) · [Boardsource](https://boardsource.xyz/products/lily58) · [holykeebs Lily58 Choc](https://holykeebs.com/products/lily58-choc)
## Controllers
- [keyboard_mcu_list — comparison of Pro Micro-shaped boards](https://github.com/bgkendall/keyboard_mcu_list) — the most complete survey, worth checking before buying
- [Keebio Elite-Pi](https://keeb.io/products/elite-pi-usb-c-pro-micro-replacement-rp2040) · [Keebio USB-C Pro Micro](https://keeb.io/products/pro-micro-usb-c-version-5v-16mhz-arduino-compatible-atmega32u4)
- [splitkb Liatris](https://splitkb.com/products/liatris) · [SparkFun Qwiic Pro Micro USB-C](https://www.sparkfun.com/sparkfun-qwiic-pro-micro-usb-c-atmega32u4.html)
- [Bastard Keyboards — RP2040 community controller notes](https://docs.bastardkb.com/hw/rp2040-community.html)
---
- [[Sofle PCB Revision Comparison]] · [[JLCPCB Design Notes]] · [[KiCad Design Tips]] · [[QMK Firmware]]