Hey there everyone, I’m currently building a Lily58Pro, So far things have been going great, I’m at the point now where I need to flash the firmware, This is totally new territory for me and I’m hoping the community here can shed some light on a few concerns of mine.
The kit I ordered came with 2x 0xCB Helios controllers, Which appear to be RP2040 based. The official build guild is using ATmega32U4’s.
The firmware page from the site I got my kit from just links to a single .uf2 file, I’m probably overthinking this whole thing but shouldn’t there be a left and a right side? Or do I just put the controllers into bootloader mode and throw the uf2 file on each one like a regular Raspberry Pi? Or do I need to flash these with QMK? Just a little confused, and probably vastly overthinking this.
Normally, the isn’t a dedicated FW for right&left. There is just one FW for both and you flash that to both halves. The KB determines which side is right and which is left by either the half the USB cable is connected to ( e.g. FW is configured with “USB half is right side”) or by flashing a small marker to the EEPROM of the controllers to mark them as right/left (this marker us not part of the FW, look for EE_HANDS in the QMK docs).
Flashing with the .uf2 file provided by the webpage, you should get the default behavior of the keyboard and it should generally be working.
If you want to change any behavior (like key layout or anything) you would need to flash the halves with your own config of QMK anyways. That is kind of the neat thing about custom KBs - you can configure your device to your liking.
I’m using ATmega micros, on my Lily58. If I remember correctly, the default QMK behaviour was to use the USB to select which half was the master and what side it was on. That would work on RP2040 boards just as well so that may be what the provided firmware does.
I would suggest you just flash them both then see what they do. If they are swapped, try connecting the USB to the other half. If that works then you don’t have a problem. There’s no risk of damaging them and the RP2040 is pretty easy to reflash.
I wasn’t satisfied with that method and set QMK to store the sides in eeprom so I could use the same firmware but connect to either one. I’m not sure if the 2040 has a separate non-volatile memory so you’ll likely need a different method. I think a GPIO can be grounded to set the side but the Lily58 doesn’t do this. You could add a bodge wire if you want this but you have to customise QMK to use that method.