Hi there, I’m trying to repurpose Framework touch pad module into a stand alone touch pad device, something similar to what was discussed in this post
Thanks to the documentation available on Framework GitHub page, I have I2C hooked up to a Pro Micro, but I am a little stuck on how to proceed further to interpret the signal into an actual cursor movements.
Does anyone know if datasheet for PixArt PCT3854QR is available somewhere? I tried searching the web but wasn’t able to find any.
Perhaps PixArt hasn’t made the datasheet public.
But the Framework EC is open source, so you should be able to get what you need there. Looks like touchpad specific code is here.
Any luck with your project? I am curious because I also want to figure out how to use the track pad and key board to work on a controller input hub (keyboard already works).
Hey there. Unfortunately made very little progress since. Have been prodding at the i2c dump data, but couldn’t really materialize anything meaningful out of it. The repo MJ1 linked didn’t seem relevant to the project either. I tried reaching out to PixArt for the datesheet of the chipset, but they declined my request. Not really sure what could be done at this point without knowing how to interface with the module.
Could you elaborate on the issue a little more. Sorry this stuff is pretty new to me. Is there anyway you could post the data dump/code to get that data? Does the PCT just spit out a signal to the void, or does it send a protocol message then wait for a response from the master? The framework laptop motherboard is able to communicate with the touchpad; so would it be possible to listen to the inputs and outputs and map those with valid response and movements to the mouse? If so what data lines are for the touchpad? The second to last question probably doesn’t make sense, mostly because I am viewing the controller a f(x) = y function. Scan the codomain (motherboard) and the domain (PCT) responses. Does the HID I2C command guarantee a valid response from the the PCT?
(I tried reading that HID I2C protocol but I wasn’t really sure what applied to what)
How’d you set up the I2C? I am using this board with a RP2040 to connect to the mousepad/keyboard. It’s probably already communicating with the keyboard but I am not sure if that’s apart of the .uf2 firmware or qmk github.com/CRImier/MyKiCad/tree/master/Laptop mods/framework_input_controller
I found Data sheets for Pixart PCT1339QN and PCT1336QN both are for touch pads. But not for PCT3854QR, I am hoping just maybe just maybe they might operate the same.
Again I am new to this stuff, and I am not really sure how these things work.
I would assume there should be a way to read data coming from the touchpad module itself, but I think it’s hard to tell what is exactly going on without the data sheet. I bought breakout board for the 51 pin connector (Something like this) and connected the I2C pins / 5V / GND to Raspberry Pi. Using I2C dump I saw some data output from the touchpad, but again unsure what any of that means. I also saw CRImier’s input controller board but as far as I know that one also only works for the keyboard, not the touchpad
I stumbled upon a recent Hackaday article featuring HID over I2C: Human-Interfacing Devices: HID Over I2C | Hackaday that talks about reading data off of very Framework tocuhpad module. Looks like a good resource for picking things up