A Framework accessory I was thinking a lot about since I saw the laptop is a “Magic Trackpad” like device with a fingerprint sensor. Since the connector for the trackpad is simple I2C and the fingerprint sensor can be used through USB the whole design seems kinda easy. What I was thinking about is getting a breakout board for the input cover connector and connect the pins with an Arduino Nano (I have some laying around no real reason for the choice). Than connecting both the Nano (HID) and fingerprint to an USB hub and then to the computer.
Super cool. It would be great to see this made real.
You can’t use it with a nano as the Nano do not have native USB capability. However, you can use a Arduino Micro.
You might be even able to have the Micro appear as two different USB devices (similar to how it can appear to the computer as a Arduino Micro with, say, a USB mouse/keyboard attached on it).
IF, that is, you can source a I2C/SPI fingerprint sensor and manage to integrate it. Might be too much effort.
If you do end up putting a USB hub in it, why not put a USB port on it as well? this way the user can, well, plug in something else and the touchpad won’t waste a USB port.
Perhaps you should post it on the arduino forum as well. I have some good experience working with Arduino USB device (made a game controller), as well as dealing with I2C on Arduino.
Touchpad is new to me. Sounds fun.
Another thing is to have bluetooth connectivity. Which is hard, as most (cheap) off-the-shelf bluetooth modules have simple firmware that don’t allow you to put it in HID mode (even though the HID firmware can be flashed on to it to make it work), all those shenanigans.
I think we should do a Bluetooth Framework keyboard and a Bluetooth Framework touchpad that use the actual keyboard and touchpad from frameworks, just like how these exist:
@Xavier_Jiang You are totally right about the arduino. I was thinking of the Atmega32U4 microcontroller but since I haven’t worked with an actual Arduino in a while (rather than designing the atmega boards on my own) I misspoke on the Arduino equivalent model. Sorry…
I don’t really want to source an i2c figerprint sensor since the whole idea of this project is to reuse the fingerprint sensor and trackpad of the framework laptop and bring people that have bought a new input cover something to do with their old spare parts.
The extra hub ports, however, seem like a really good idea. I want to make it as compact as possible but I think I can manage to put 2-3 USB-2.0 ports or even sd card reader. I am currently using a cheapo alibaba USB-2.0 hub for my keyboard, mouse and printer and I cannot see any latency (i know technically there is one, but in practice I can’t see it).
I am not really intersted in visiting the arduino forum since I will be programming it in AVR-C rather than the Arduino C and I have university lecturers to ask if something goes sideways . Besides that I already have working boards with atmega chip that manages couple of sensors using i2c which with little code I can make work with the touchpad controller(i hope :).
I must admit bluetooth connectivity is a really cool idea but I don’t think I will include it in the first version of this project since battery management in a board is pain of mine and I still prefer the reliability of wired connection. Maybe in the future.
When it comes to the keyboard feature. I do prefer to use my mechanical keyboard when it is possible. It would be cool project but since I don’t see a particular usage in my personal workflow I would not give it any priority. However another Idea I had initially was making a equivalent of the NexDock from the chasis of the laptop which is basically the same as your idea + a display, however, this idea will be a pain to execute and will require buying a lot of extra things:
oh. the one on framework is USB?
In any case, we can simply not include the fingerprint sensor. Although yes, a touchpad with a built-in-hub (effectively) will be very nice.
Those can even be receptacles for framework cards (but with only USB capacility), although that seems quite overkill. Still. being able to choose between Type C, A and Micro SD will be very handy.
Personally I think a wireless keyboard (or a wired one)is very advantageous because sometimes the desk (where the laptop is placed) isn’t ergonomic enough for long-term use (wrist aches). As such I have been using a cheapo Logitech (unifying) set for quite some time.
Nah. Don’t worry about that. Nobody is going to use a external trackpad for playing first-person-shooters. If you worry about quality for controllers just head to, for example, Ti or Realtek.
I don’t see the reason (of having to need) to go that far. If they want they can just get a Wacom tablet.
I’ve tried something similar with a Arduino Pro Micro and a generic I2C touchpad. The main issue becomes how to parse the data to get anything meaningful.
I suppose once you get the datasheet from the manufacturer (of the touchpad controller) everything will work. Because right now, not knowing the initialization/data it sends/requests its meaningless.
This is a super late reply. I bumped into this thread just now. I have done a similar project with a Synaptics touchpad I harvested from an HP laptop. It’s a PS/2 touchpad with Synaptics’ own PS/2 extension, as opposed to I2C. But if you’re starting everything from scratch, I2C is easier with Arduino since you don’t have to bit bang PS/2 protocol.
I used a Mega32U4 (ProMicro) for its native USB capability. You can also use tinyusb library and any chip supported by it. In case anyone is reading this, my project is documented here: