[Solved] - Connect a USB-C Keyboard directly to the mainboard ribbon connector?

Greetings,

I am wondering if it would be possible to connect a usb-c keyboard directly to a Framework 13 mainboard input cover ribbon connector?

I know there is a board to expose the input cover to USB-C:

But I am using a CJ64 keyboard pc ( Project CJ64 is Done! Machined Aluminum Enclosure ) which currently uses one USB-C port for the keyboard.

If there was a way to directly connect the keyboard to the ribbon connector on the mainboard that would free up the fourth USB-C port.

I assume one would need an arduino or something to sit between the two?

Can it be done? Yes. But I don’t think there is any pre-made board to do it. So it would be some work.

You’d need to learn to use PCB design software like kicad. There are lots of youtube tutorials available. This would be a nice PCB design beginner project. You don’t need an arduino. But there aren’t any un-used internal usb ports, so your board would need a simple usb hub chip if you don’t want to lose something like the webcam. FW’s github has the pinouts and connectors used for everything. Have your board sit between the webcam, and it’s cable on the mainboard, split off as many usb 2.0 ports as you want, and you’re good. You might need to source 5v from someplace else though. Fingerprint reader is another source of usb.

Oh cool, thanks for the tips!
So wait, the fingerprint reader understands USB?

–Just directly? Without any translation? Could you,l if you had a USB to “Fingerprint reader-port” “Adapter” directly connect them?–

Oh wait, the fingerprint reader connects to the touchpad, so that is still the same connection port on the mainboard, I see thanks!

I will search for some tutorials and download kicad, thank you!

Yep, the fingerprint reader is just regular usb. No translation, no nothing. Plug-and-play. The LEDs and power switch are separate though. I think I recall one person looking to use the FW fingerprint reader with a non-Framework computer, I think because they had trouble finding another they liked with good linux support.

USB is commonly used internally for things. Laptop webcams are really frequently usb. Smartcard reader on business laptops which need them, nfc / rfid readers. Touchscreen! Half the time it’s usb.

On my Thinkpad
lsusb shows my IR camera, regular webcam, touchscreen and fingerprint as usb.

Chicony Electronics Co., Ltd Integrated IR Camera
Chicony Electronics Co., Ltd Integrated Camera
Raydium Corporation Raydium Touch System
Validity Sensors, Inc

The touchpad just serves as a way to merge signals into a single cable. Fingerprint and keyboard signals are just passed though as-is.

Ok, then would a physical adapter going from a regular USB-C port to the ribbon connector work? Since the webcam is also USB and I do not use one, I could connect the keyboard to the webcam connector? (The placement of that is closer)

That would make it much easier, the would only be a wiring problem.

Well, the webcam will be mildly annoying because for power it only uses 3.3v instead of the standard usb 5v. So you’ll need to source the 5v elsewhere.

The fan has 5v, if you want to splice in there. Not sure where else 5v is even easily accessible, besides there.

Great, I’ll look at the mainboard documentation!
Thanks a lot!

p.s.

I think I will try soldering a USB-C to DIP Adapter to a snipped off webcam connector plug and see if the keyboard runs at 3.3v. I don’t really need the LED lighting so wouldn’t care if that doesn’t work.

Some usb devices are perfectly happy with 3.3v. Many things don’t even use the 5v and just regulate it down to 3.3v. The issue can be that 3.3v going through their 3.3v regulator introduces losses, and gives less than 3.3v out. How much less depends on the specific chip they use. A small drop and a device doesn’t have any critical need to be very close to 3.3v & it can be totally fine.

Could you share details about the CJ64 keyboard? I checked the links under the youtube video but I didn’t see any text build log. And couldn’t find details on the keyboard.

I’m guessing it’s a QMK keyboard, maybe RP2040. If so, wondering if it a drop-in board or intergrated, if the regulator is known, or if there is just a 3.3v input like most boards have & none of this matters! :upside_down_face: