====== Lily58 Pro - DIY Build Guide / Log ====== **Tags:** #lily58pro #lily58 #custom #keyboard #soldering #project **Last Reviewed:** 16/03/2025 **Status:** Completed - v1.0 ---- ===== Important Notices, Information, Tips, Tricks and Recommendations ===== ==== What I Wanted ==== * Split Keyboard * Custom Firmware * DIY but not Extremely complex for a First Time Keyboard * RGB !!! ==== Tips, Tricks and Recommendations ==== * Use 280 Celsius on your Soldering Iron - or convert that to Freedom Units - * The solder should turn liquid in 2-4 seconds * Mainly used 0.6mm diameter solder, with 2.0% flux * The first solder would need 350 degrees 4-5 seconds. That wasn't a great experience * If you unsure if the Diode is oriented correctly, you can use a Multimeter to test it * Search for the Diode Symbol ( |> | ) or set your Multimeter to Resistance Mode * Assuming the Multimeter Cables are Red > Positive and Black > Negative * Put the Probe Ends on the Diode * Value of 1 means that's the wrong side eg: your Red is on the " | " side of the Diode * Sub 1 (eg: 0.78) means that you Black Probe is on the " | " side of the Diode * If you are not an experienced Solderer, it sucks at first, but once it "clicks", it goes fast * eg: once you learn the "wiggle and let it sit", it's easy work for the Diodes * Bring time and patience - this will not be done in 30 - 60 minutes * if it is, you probably don't need to read this guide ==== Troubleshooting and Diagnosing ==== * Multimeter ===== Parts / BOM ===== ==== Essential ==== ^Part Name^Qty.^Model / Details^Bought At^What Is It For?^Remarks| |Lily 58 PCB|2| |[[https://kriscables.com/product/lily58-pro-hotswap-pcb-kit/|Kriscables - Lily58 Pro DIY Hotswap Kit]]|Where everything gets soldered onto| | |ProMicro Controller|2| |Part of the Kit from Kriscables|The brains of the keyboard|* For Wireless, nice!nano is better due to ZMK Firmware| |Diodes|58|1N4148W|Part of the Kit from Kriscables|Manages the flow of electrical current (can only flow in one direction)|* They also known as "SOD-123" \\ * SMD are needed if you want Choc Switches \\ * If the PCB you find has Through-hole, then you would need Though-Hole Diodes| |Microcontroller (Hotswap) Sockets|4x 12| |Part of the Kit from Kriscables|Allows to easily change (so, no need to solder) the micro controller|* You need 12 pins per side, per micro controller \\ * So 2 Sides x 12 Sockets x 2 Micro Controller| |Mill Max Socket Pins|4x 12| |Part of the Kit from Kriscables|The "legs" of the microcontroller, which attach to the HotSwap Sockets|* Same as the Microcontroller Sockets \\ * So 2 x 12 x 2| |TRRS Connector|2| |Part of the Kit from Kriscables|Connecting the boards together|* Never disconnect the TRRS cable when the board is connected to the PC. \\ * Always disconnect the USB first \\ * Not necessary if you going for a wireless build| ==== Extras ==== ^Part Name^Qty.^Model / Details^Bought At^What Is It For?^Remarks| |Reset Switch Buttons|2| | | | | |OLED Displays|2|OLED 128x32mm SSD1306 I2C| |Seeing Layers, WPM, Battery Status, NumLock / CapsLock State, whatever you want|Use nice!view v2 if you building wireless, else Battery life will suck| |Switches|58|MX or Choc Low Profile| |What registers the "key press"|If choosing Choc Low Profile, remember to consider if the "legs" will be able to touch the PCB if you plan on adding Layers in between \\ If you already have a mechanical keyboard, you can always use those switches instead| |Keycaps|58|MX or Choc Low Profile| |What your finger presses / what you see when you look at the key|MX and Choc Low Profile are not compatible with each other. This also applies to the switches \\ If you already have a mechanical keyboard, you can always use those switches instead| |USB-C (data + power) cable|1| | |Connect keyboard to the PC|If you building wireless, you just need it to flash| |On / Off Keys|2| | |Turn the Board On / Off|This is only needed if you are building Wireless| |Case| | | |Makes everything prettier|A bottom case is **HIGHLY** recommended. Rest (top, silencing, middle) are optional| |Batteries|2|110mah (3.7v Li-Po 301230)| |Makes Wireless Keyboard Wireless|This is only needed if your are building Wireless \\ Important is that they are 3.7V| ==== Tools ==== You might already have this laying around if it's not your first electronic projects. Else you will need: ^Part Name^Qty.^Model / Details^Bought At^What Is It For?^Remarks| |Soldering Iron|1| | |To solder| | |Tweezers|1| | |Holding Components in Place \\ Briding components for testing| | |Solder|Some| | |Like hot glue, but for electronics|Ideally, Lead Free| |Solder Wick|Some| | |Fix soldering mistakes|A Solder Pump is also a nice to have. It's not an "or" it's an "and" with Solder Wick| ===== Build & Customization Guide ===== ==== Building Steps Overview ==== * Solder SMD Diodes to the PCB * make sure they are aligned correctly * this is now your BOTTOM * Solder Hotswap Sockets of the Microcontroller to the PCB * on the TOP side * Solder the Pins / Legs on the Microcontroller * Face down controller on the Hotswap Sockets * Legs fully in, solder in an X Pattern * Flash Basic Firmware * Manually bridge each key to make sure they are working * much easier to find and fix now then later * Solder the Key Switches * Solder the Hotswap Sockets for the Display * optional if not using a screen * Solder / Bridge the Screen Pins * if if not using a screen, good idea since no downside from doing it * Solder the TRRS / Reset Button * Solder underglow RGB * optional if RGB-less / wireless * Mount Bottom Plate * Mount Middle / Keyswitches Board * Add each individual Key Switch * Add Top Plate * Add Key Caps * Repeat for other Keyboard Half * Enjoy! ==== Customizing Steps Overview ==== * Make / Adapt Keys, eg using QMK Online Configurator * Convert your JSON to .c file * Make a new Keymap with QMK * Paste / Edit your Keymaps .c file * Flash your microcontroller ==== Step-by-Step ==== ^Step^Step Overview^Step Details^Notes^Screenshot| |01|Solder the Diodes to to the bottom side of the PCB|* I recommend using Painter's Tape or similar and mark the TOP side of the PCB (ask me why) \\ * Solder a bit of Solder to one side of the Diode Receiver \\ * Using Tweezers, hold the Diode in place, heat the previous solder joint until it falls / push into place \\ * Solder the other leg of the Diode| |{{ :engineering:computer_science:projects:lily58_build_001.jpg?direct&200 |lily58_build_001.jpg}}{{ :engineering:computer_science:projects:lily58_build_002.jpg?direct&200 |lily58_build_002.jpg}}{{ :engineering:computer_science:projects:lily58_build_003.jpg?direct&200 |lily58_build_003.jpg}}{{ :engineering:computer_science:projects:lily58_build_004.jpg?direct&200 |lily58_build_004.jpg}}{{ :engineering:computer_science:projects:lily58_build_005.jpg?direct&200 |lily58_build_005.jpg}}| |02|Solder the Controller's Hotswap Sockets|Basically it's the one surronded by a Squared Line\ \ * Put the Sockets on the TOP side of the PCB \\ * Flip the PCB over \\ * Solder the legs on each corner \\ * Check the Socket is leveled \\ * Solder the other legs|You can //***technically*** //solder the Controller directly to the board, but I ***HIGHLY*** recommend against it \\ \\ Swapping the controller later, in case it breaks or you want a different one will be a massive PITA.|{{ :engineering:computer_science:projects:lily58_build_006.jpg?direct&200 |lily58_build_006.jpg}}{{ :engineering:computer_science:projects:lily58_build_007.jpg?direct&200 |lily58_build_007.jpg}}| |03|Solder the Legs of the Microcontroller|* With the Controller FACING DOWN \\ * Put the Mill Max Pins into the sockets. Make sure they are inserted all the way down \\ * Solder the Pins| |{{ :engineering:computer_science:projects:lily58_build_008.jpg?direct&200 |lily58_build_008.jpg}}| |04|Flash the Microcontroller|* I recommend flashing with the default / a simple firmware / config, so yousure it's a good / working one \\ * To enter flash mode on the ProMicro, just brige GND with RST 2x times \\ * If you flashing via CLI, the command is something like: \\ ''qmk flash -kb lily58/rev1 -km default'' | | | |05|Test Each Key|* It's much easier to test - and fix - any issue now then later \\ * Using Tweezers or your Multimeter, bridge each of the connections \\ * Make sure you get one and exactly one key input / signal \\ * If a key outputs multiple values: \\ * you probably have a solder bridge \\ * or a diode is broken \\ * If a key doesn't output anything: \\ * check your diode, even more they solder joints and orientation \\ * maybe the pin on the controller \\ * Make sure the key actually have a function you can test - eg: “a” -| | | |06|Solder the Howswap Switch Sockets|* On the BOTTOM side of the PCB \\ * Remeber that the Socket will go in both ways, but only one way will leave the Hole Available for the Switch \\ * Put the Hotswap Socket In \\ * Heat up one leg / solder point and apply Solder \\ * With your finger on top of it to keep it in place, let it cool down \\ * Solder the other “leg”|While you can *technically* solder the Switch directly to the PCB, I highly recommend against it \\ It's very little cost, and unless you are 100% sure you won't want other switches, ever, it's worth to add them \\ Repairs are also much easier, since you can just swap the switch instead of having to solder it out|{{ :engineering:computer_science:projects:lily58_build_009.jpg?direct&200 |lily58_build_009.jpg}}| |07|Solder / Bridge the Screen Pins|* On the TOP side of the PCB \\ * Bridge the 4 Jumpers, by soldering them 2 by 2 Vertically \\ * Even if you don't plan on using the OLED Screens, still recommended, since there is no harm in having them bridged| | | |08|Solder the TRRS / Reset Button / OLED Hotswap Socket|* Solder the TRRS \\ * Solder the Reset Button \\ * If using a Screen, Solder in the Hotswap Socket| | | |09|Final Test Pre-Assembly|* Now it's a good point to put the Screen on and Check it everything works \\ * Bridging / Activating the Switches should also be working as expected| | | |10|Solder the Underglow RGB|* By far the most challenging solder, mainly on the dables \\ * Remember the Cable will go on the BOTTOM side \\ * Solder the 5V, Signal and GND with Cables \\ * Solder the cables to the holes in the PCB \\ * Remember that you can both solder the cables in the same direction or both pointing from in> outwards| |{{ :engineering:computer_science:projects:lily58_build_010.jpg?direct&200 |lily58_build_010.jpg}}| |11|Assemble the Case|* Add Screws and Raisers to the Bottom Layer \\ * Add OLED Cover Screws and Raisers to PCB Layer \\ * PCB Layer on Top of Bottom Layer \\ * Dampening Layer \\ * Top Layer \\ * Everything Still Working? \\ * Switches \\ * OLED Covers \\ * Keycaps|If you have less layers, just skip the ones you don't have|{{ :engineering:computer_science:projects:lily58_build_011.jpg?direct&200 |lily58_build_011.jpg}}| |12|If building Wireless, Battery time|* Solder the On / Off Switch to the board \\ * Solder the JST Plug to the Board \\ * Connect the Battery \\ \\ |A JST Plug - or similar - is ***HIGHLY*** recommended. \\ If you want a bigger battery (like the one on the photo), you need to get a "custom" bottom, so it can house the battery. \\ If you want something that fits between Board and PCB the biggest you can probably fit is a 301230 LiPo \\ ProTip: those numbers are the size of the battery. Just make sure you using a 3.7v one.|{{ :engineering:computer_science:projects:lily58_build_012.jpg?direct&200 |lily58_build_012.jpg}}| ===== References / Sources ===== [[https://kriscables.com/lily58-build-guide/|Kriscables Lily58 Written Build Guide]] [[https://www.youtube.com/watch?v=YZxqHo3DTFg|Kriscables Lily58 YouTube Video]] [[https://docs.splitkb.com/product-guides/aurora-series/build-guide|Splitkb Aurora Series Written Build Guide]] [[https://docs.qmk.fm/|QMK Firmware Docs]] ===== Resources ===== [[https://qmk.fm/|QMK Firmware]] [[https://config.qmk.fm|QMK Configurator]] [[https://github.com/zebrajr/lily58_keyboard|Custom Firmware Source + Compiled @ Github Repo]]