RP2350 Stamp XL USB Laptop Keyboard Controller

I’ve created a USB Laptop Keyboard Controller with the RP2350 Stamp XL. Unlike the Pico, the Stamp XL has enough I/O pins for a typical laptop keyboard. I designed a carrier board in KiCad to mount the Stamp XL, USB Breakout connector, and keyboard FPC breakout connector. There’s no surface mount soldering, just header pins soldered in holes so it’s pretty easy to build. A Circuit Python program is used to determine the key matrix connections. The key matrix is used by KMK to create a USB keyboard controller. I’ve documented the entire process at Hackster.IO

Let me know if you have any questions or corrections.

Cheers

Frank Adams

1 Like

Obviously, hackster.io has changed its policies. You cannot see the content anymore without logging in. Maybe you have Github repo for your stuff and you could provide the link here?!

Sorry the Hackster link isn’t working for you. An alternate way to get the information is from the RP2350B_Keyboard_Controller PDF at my GitHub Repository or go to step 16 of my keyboard Instructable.

Very nice, thanks. I have an old Dell laptop I want to disassemble and I might try something similar.

Some notes: I recently bought a WeAct-Studio RP2350B Core, which is similar to the stamp but already has the USB-C connector, so this might simplify the design. I would probably also put the FPC connector right on the board instead of using an adapter, but this is of course less flexible.

Regarding pads with plated holes in KiCad: in the footprint editor, create a rectangular SMD pad, and then a THT pad right on the SMD pad. Both can share the same pad number. When running checks, make sure to ignore warnings about overlapping pads. But for the stamp you don’t need to do the work yourself, just use an existing footprint from GitHub - solderparty/rp2xxx_stamp_footprints

That’s lots of good information, thanks. I’ll take a look at the WeAct-Studio RP2350B Core, possibly on a circuit board with the surface mount pads for an FPC connector. I put the surface mount FPC connector directly on my Pi Pico keyboard controller board (designed in Eagle) and used your trick of a THT pad on top of an SMD pad (ignoring the warnings). I just need to get better at using KiCad now that Eagle/Fusion 360 has abandoned the hobbyist.

I designed the Stamp XL carrier board to use FPC and USB breakout boards so it’s easy soldering of header pins. More and more laptop keyboards use 0.5mm pitch FPC connectors which are difficult to hand solder (or I’m just getting old and blind).

Cheers

Same here, I don’t solder that small anymore unless I absolutely need to. But since JLCPCB does such a good job, I don’t need to. They have monthly coupons that basically cover the additional cost of SMD PCBs, so you only pay for the components. Sourcing them somewhere else with additional shipping costs (and then soldering) is just not worth it.

Added bonus: there is a JLCPCB plugin available for KiCad, so after you designed your board, you press a button and all the necessary files (BOM, CPL and gerber) are automatically generated in the correct format.

If you have any questions regarding KiCad, feel free to contact me.