Note: This is a resumed Lily58 Pro Build Guide and a WIP (work in progress). For a better and more complete guide check this one.
Start with the one half of the Lily58 Pro PCB and only after completing all the steps then proceed to the another half PCB. On this guide i started with the left half.
1) Solder the 29x diodes on the bottom side of the PCB, making sure the direction is matching the image below.
Tip: tin one pad from one diode side on the PCB only. Solder the leg of the diode on that pad, holding gently the diode down with the tweezers. Solder now another leg and pad on the PCB. Thanks for this tip to RubenAK and Doctorboy.
2) Solder the 29x Kailh Hotswap Sockets on the bottom side of the PCB, matching the contour of your respective MX or Choc socket.
3) Bridge the four jumpers on the top side of the PCB by soldering them 2 by 2 vertically on both PCB, if you plan to use OLED Screens. Even if you don’t plan to use OLED Screen, i always recommend to bridge them anyway, since there is no harm having them in any case bridged.
In order to have the OLEDs working, before compiling/flashing the controllers, change the code line in the rules.mk file in your Lily’s keymap folder from no to yes:
4) Flash the controller (Pro Micro, Elite-C etc) using QMK Toolbox or QMK MSYS. Make sure there are no errors. To reset the controller using tweezers by bridging the GND and RST pins 2x times on the Pro Micro, before flashing.
I normally flash the default Lily58 Pro layout. It can be found on QMK repo. And down the way make my own changes to it for my use case.
There are a many ways to flash the controller. Here are 3 ways you can go with:
4A) QMK Toolbox: if you already have the compiled .hex file (download it here) then connect the controller to the PC via a reliable cable. Select the Local file your .hex file. Select Auto-Flash. Now bridge the GND and RST pins 2x times on the Pro Micro and you’ll see the process executing on the Toolbox. Wait until it finishes making sure there were no errors. Repeat the same with the 2nd controller. You can use either of them on left and/or right half.
- 4B) QMK MSYS + QMK Toolbox: if you don’t have the already compiled .hex file or you want to edit your own keymap then install QMK MSYS and prepare the QMK environment described here. By executing the following command you are compiling the default keymap located in C:\Users\YourUsername\qmk_firmware\keyboards\lily58\keymaps\default\keymap.c
qmk compile -kb lily58/rev1 -km default
After successful compiling you’ll find your .hex file in C:\Users\YourUsername\qmk_firmware folder. Now you can flash your keymap to each controller as described in 4A step using the QMK Toolbox.
- 4C) QMK MSYS: You can compile and flash your keymap in one step without using QMK Toolbox at all. Select the correct bootloader for your controller. In this process after created .hex file it will ask you to bridge the GND and RST pins 1x time on the Pro Micro for it to be flashed.
Pro Micro(Catarina): qmk flash -kb lily58 -km default -bl avrdude Elite-C: qmk flash -kb lily58 -km default -bl dfu Proton-C: qmk flash -kb lily58 -km default -bl dfu
5) (If you don’t plan to hotswap the microcontroller skip to 6th step.)
Solder the controller’s hotswap sockets on the top side of the PCB, in the marked rectangle section.
- 5A) Insert the 24 Mill Max Pins into the sockets. Make sure they are inserted all the way down.
- 5B) Insert the controller into the pins with it’s components faced down.
- 5C) Solder the 24 pins to the controller. Jump to 7th step.
6) Solder the 2x 12 Pin Headers provided with your controller on the top side of the PCB in the marked rectangle section. Insert the controller into the Pins and solder it with it’s components faced down.
7) Test the PCB by checking if it registers keypresses. Use some tweezers and bridge any 2 switch pins. If it registers you did a great job and may proceed with the build.
8) Solder the TRRS (matching the contour on PCB) and Reset tactile switch on the top side of the PCB.
9) Solder the OLED screen hotswap sockets on the top side of the PCB.
10) Insert the controller into the PCB (if it is hotswap) and the OLED screen into their respective sockets. Test if OLED screen is on and keypresses are registering.
11) Repeat all the steps above for the right PCB half.
12) Screw the 2x 12mm standoffs on the top side of the PCB for the OLED Cover. Screw the 5x 6mm standoffs into the bottom side of the switch plate.
13) Mount the plates: Insert a few switches into the switch plate, then insert the PCB into the switch legs.
⚠️ Please be careful when inserting the switches into the PCB. Make sure Switch Legs are not bended and are aligned with socket holes. Don’t force it to enter, otherwise you risk to end up with a broken socket like on the photo below. It should get in smoothly with almost no resistance.
- 13A) Insert all the remaining switches, making sure there are no bended legs.
- 13B) Screw in the bottom plate. Insert the controller into sockets.
- 13C) Put some tape under the OLED so it won’t short with the controller and insert it into the socket.
- 13D) Install the OLED cover.
- 13E) Insert the keycaps and connect the TRRS and USB cable to the left half. By default your left half is the master and the right is the slave, but you can change that in QMK later if you desire to have the USB cable connected to the right half.