Framework Fingerprint Scanner for a desktop PC?

It would be very nice to have ability to login to my Linux desktop PC using a fingerprint. However, it seems there are no reasonably reliable and generally available fingerprint readers compatible with libfprint… I bought a couple on Amazon and while they work, they’re so unreliable to the point of being useless.

However, I found the fingerprint module used in the Framework Laptop 13 to be reasonably reliable (although it still fails to scan the fingerprint sometimes, and due to the generally bad fingerprint UX in Linux/KDE Plasma I then have to use my password…). And since the module is available in the Marketplace for €30, I thought it would be cool to make an external fingerprint device with it, in a 3D printed case. The reader module attaches to USB, so the main issue would be to figure out how to connect the existing connector (on a flex cable I assume) to a cable (or even better, a USB-C socket). I’m too lazy to take my Framework apart right now, but I’m going to soon and will try to figure out what connector is used and if the other part could be obtained. I have some experience with designing and ordering PCBs, so the cleanest way would be to make a small adapter PCB with a USB-C socket.

Anyway, if you have any input, please do chime in. If you have any tips on reliable external fingerprint readers for Linux, please also let me know - while this would be a cool project, I have quite a few in a pipeline already… :slight_smile:

3 Likes

There should be some information about the connector and interface on the Framework Github. I know the webcam uses standard D+/D- USB2 lanes, but the fingerprint sensor is more likely I2C or something.

There is usb on the fingerprint header at least, if it uses that is another question. There is no i2c on the connector as far as I can see.

1 Like

https://github.com/FrameworkComputer/Framework-Laptop-13/blob/main/Electrical/Pinouts.md#fingerprint-reader

The Fingerprint Reader resides on the Input Cover and connects though the Touchpad. All of its signals are directly passed to the Input Cover Interface described above. The connector used is Kyocera 046809610110846+.

Pin Signal Notes
1 VBUS 5V
2 USB_P USB data
3 USB_N USB data
4 GND
5 FPR_CTRL Output (mask switch events)
6 SWITCH Open collector output
7 FPR_LED_W
8 FPR_LED_G
9 FPR_LED_R
10 FPR_LED_COM 5V

https://www.mouser.com/c/?q=Kyocera+046809610110846
It’s a FFC Connector 0.5mm Pitch 10pos. Common enough that connectors and cables are available from aliexpress, in addition to major suppliers of course.

1 Like

Thanks a lot for that, @MJ1 ! And apologies for not doing my own research first.

This means that it should be straightforward to connect the fingerprint reader itself to USB. The connectors should be relatively easy to hand-solder, too. (The RGB LED would need something to drive it, probably a MCU - but as it happens I have a few cheap a USB2 hub modules at hand that could be built into the device to connect the FPR and the MCU using a single USB cable.)

Now just to find a way to spread the shipping cost among multiple items somehow - paying €30 shipping on a €30 part wouldn’t be very economical… If anybody in the EU is looking to get anything from the Marketplace, please let me know - we could do a small “group buy” :slight_smile:

1 Like

Checked the datasheet. It actually uses a notched FPC/FFC cable. But I think regular non-notched cable may fit. In case that’s easier or cheaper to source in your country for prototyping.
The narrowest part at the notch of the specified cable is 5.45mm ±0.05. A non-notched Molex cable has an overall width of 5.5mm ±0.06 https://www.molex.com/pdm_docs/sd/982660098_sd.pdf

That usually works though in most cases I tried it it is possible to misalign and short stuff so spot check with a multi-meter before plugging in.