• Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.
  • The forums have been upgraded with support for dark mode. By default it will follow the setting on your system/browser. You may override it by scrolling to the end of the page and clicking the gears icon.

Technical considerations about how to convert a sensor from I2C to USB.

Joined
Sep 11, 2020
Messages
245 (0.14/day)
Hello to everyone.

What I want to do here is to convert the cirqle glidepoint touchpad that you see on the left of the picture into one USB device,that can be recognized by any operatying sistem. For this tak I'm planning to buy the following stuff :

1) TouchPad Sensor : Cirqle Touchpad GlidePoint : https://eu.mouser.com/ProductDetail/Cirque/TM023023-2024-000?qs=wd5RIQLrsJhEPXcKV1pK/Q==

2) Bridge PCB : Seeed XIAO RP2040 : https://www.pilover.com/negozio/seeed-xiao-rp2040/

3) FFC Ribbon : 12-pin 0.50 mm 30 mm (Molex 15166-0123) : https://au.element14.com/molex/15166-0123/cable-assy-ffc-12-core-102mm-wht/dp/3862142

4) the connector that you see on the left of the picture below,on the yellow square,that should connect the FFC Ribbon on point 3 to the Bridge PCB on point 2 and that you see on the right of the picture below,is appropriate for this scenario ?

I would like to know :

a) if it is not good,where I can buy the missing connector ?
b) how can the connector inside the yellow square be attached to the XIAO RP2040 board. ? Into which holes ? Below I see only 4 pins and a lot of holes.

Take also in consideration that the 4 pins connector on the left of the picture below can be bought only if I buy the whole kit here :


I'm also interested to know if I can buy it a single connector without the rest of the stuff included in the kit.

thanks.

Screenshot_2025-06-22_16-45-33.jpg


I have attached the wiring plan table,but I don't understand anything and I'm not sure that is not required to solder the wires....
 

Attachments

Last edited:
You can get the adapter board (in yellow) from Aliexpress, search for something like "12 pin FFC to DIP converter board".
As to where to connect it, you want pinout of that RP2040 board and you will surely need SDA,SCL,GND,VCC (make sure your sensor and board uses same levels, not just for VCC but also for data!).
Then you will have to write some code to keep querying the touch for data and convert it into HID USB data for PC. You can probably find some examples of USB HID code that shows uC as USB mouse with all that's needed, so that would be a good starting point.
how can the connector inside the yellow square be attached to the XIAO RP2040 board. ? Into which holes ? Below I see only 4 pins and a lot of holes.
By this question I feel like you will have to learn a lot about these boards first to even get started. Also wiring it together is the easy thing, then comes the software and it will not be easy unless someone already made library for it.

Anyway good luck with your project.
 
Thanks. It sounds too complicated for me. What about to buy this kit :

https://eu.mouser.com/new/cirque/glidepoint-circle-kits/

but prior to do this,I need to gather some preliminary informations :

a) the size of the bridge board (H x W x D),if you know it.

b) buying that kit requires to write some code to keep querying the touch for data and convert it into HID USB data for PC or it will work out of the box once every cable is connected ?

thanks.
 
Here are some devkit resources, they use Teensy board: https://www.cirque.com/circle-trackpad-dev-kit
You can easily just use bare teensy and wire it together using FFC adapter board (no need for the big red PCB).
But then you are still stuck at the firmware side, their example just prints X/Y values to console. But you want HID device emulation so it appears as a mouse to PC (correct?).
There is some code for that, like: https://www.pjrc.com/teensy/usb_mouse.html
Combine these two to feed values from sensor into HID messages for PC.

EDIT: Actually on their gihub, there is example for teensy with HID mouse functionality: https://github.com/cirque-corp/Cirque_Gen6/tree/master/Circular_Trackpad/Single_Circle_Pad_USB_Mouse
So it should all work as long as you wire it together like they do on the example board and use Teensy instead of RP2040.
 
Last edited:
You can easily just use bare teensy and wire it together using FFC adapter board (no need for the big red PCB).

Is there a method to avoid soldering wires ?

Here are some devkit resources, they use Teensy board: https://www.cirque.com/circle-trackpad-dev-kit
You can easily just use bare teensy and wire it together using FFC adapter board (no need for the big red PCB).
But then you are still stuck at the firmware side, their example just prints X/Y values to console. But you want HID device emulation so it appears as a mouse to PC (correct?).
There is some code for that, like: https://www.pjrc.com/teensy/usb_mouse.html
Combine these two to feed values from sensor into HID messages for PC.

EDIT: Actually on their gihub, there is example for teensy with HID mouse functionality: https://github.com/cirque-corp/Cirque_Gen6/tree/master/Circular_Trackpad/Single_Circle_Pad_USB_Mouse
So it should all work as long as you wire it together like they do on the example board and use Teensy instead of RP2040.

Anyway,this kit seems to be different than the previous one :

 
While most connections will be straight from one pin to another, you will have to add two resistors as pullups for SDA and SCL (can be botched to the FFC adapter board for example).
So some soldering will be required. Also while using dupont cables is easy, they are super unreliable, so solder joints are much better.
 
I want to be honest. I had hired a worker on Upwork who repeatedly confirmed to me that no soldering was needed if I used the Seeed Studio XIAO RP2040 bridge board. Did he tell me a lie ? I have also attached a wiring plan table,to show you how he wanted to do. Can you give a look at it ? I would like to know if his idea is realistic or not.
 

Attachments

LOL... were you talking with an AI maybe?
The Seeed Studio XIAO RP2040 board comes with unsoldered pin headers, so you can't do anything without soldering something first anyway.
 
LOL... were you talking with an AI maybe?
The Seeed Studio XIAO RP2040 board comes with unsoldered pin headers, so you can't do anything without soldering something first anyway.

There is this version with presoldered pins :


Using that bride board makes possible to do what I want without soldering anything at all and without coding anything ? He said yes.
 
Ah OK then... maybe it also have internal pull-ups for I2C bus?
But then the software side remains. Searching for that touchpad and RP2040 gives me exactly zero results.
It will need a custom firmware to communicate with that touchpad, this is proprietary protocol (PDF is available on request), but some parts can be copied from the examples they have on github. Still this is nowhere near promised "without coding anything"...
 
Not sure about the firmware,but it seems that the missing hardware components are the following ones :

https://www.ebay.com/itm/325172341188

https://www.seeedstudio.com/Grove-Shield-for-Seeeduino-XIAO-p-4621.html

Seeed Studio Grove Base for XIAO - with embedded battery management chip

https://www.molex.com/en-us/products/connectors/ffc-fpc-connectors

https://au.element14.com/molex/15166-0123/cable-assy-ffc-12-core-102mm-wht/dp/3862142

https://www.seeedstudio.com/Grove-4...ve-4-pin-Conversion-Cable-5-PCs-per-PAck.html

I'm waiting to understand how to connect everything.

Have you figured out how to configure the device to meet the USB protocols to be able to comminicate with the OS?
There are certain things that need to be in the firmware of the device for the OS to know how to deal with this USB device.

No.
 
Maybe there exists some example code or library already for this purpose.
 
Maybe there exists some example code or library already for this purpose.

yeah,I'm sure they exist. But I'm not able to search the right stuff because my poor knowledge. I'm a newbie but I want to learn while makiing. If you want to share something useful,please do it.
 
I found this web page :


Reading the instructions,what I should do is use the 12-pin FFC breakout a Grove shield, and four plug-in jumpers to the XIAO.

it seems useful for me. What I don't understand is if I should remove a resistor or not . If yes,which one ?


resistor-i2c-5v-1.jpg
 
Last edited:
I think you might be better off looking for a kit on sparkfun that does something similar to what you want with that sensor. That will hopefully get you up to speed enough to figure out how to do what you actually want.
 
I think you might be better off looking for a kit on sparkfun that does something similar to what you want with that sensor. That will hopefully get you up to speed enough to figure out how to do what you actually want.

Can u point me to the "sparkfun kit" ? thanks.

You can get the adapter board (in yellow) from Aliexpress, search for something like "12 pin FFC to DIP converter board".

Hello bro. I'm looking for the "12 pin FFC to DIP converter board",but I'm not able to find the exact connector that I want,this one :


Screenshot_2025-06-24_23-35-25.jpg



I'm finding only this kind of board,but it is different. I think we are talking about different stuff.


51T-Vf4Yf3L._AC_SL1100_.jpg
 
Last edited:
Hello bro.

thanks for all the effort you made. You helped. I'm particularly interested to this :


but,not to the 35 mm diameter touchpad. It is too big for the device I'm trying to build (cyberdeck / phone based on FreeBSD).

What I want to do is to use the same kind of touchpad,but of 16 mm. Infact I have already bought some samples of these touchpads from the company.

I want to ask you : how much complicated is to exchange the 35 mm with the 16 mm,in your opinion. Should I desolder and solder again some wire that's inside its case ?
 
Last edited:
This board works :


just because I can attach the 12-pin FFC connector directly to the board. It's good if the circle touchpad is 23mm. But for my FreeBSD cyberdesk I want to use the smaller version of their touchpads,at 16 mm. Now it comes the problem. The svlinky board does not accept a 6-pin FFC connector. So it should be recreated from scratch. Since it is open source,it can be done by some good engineer. What I want to know is how much money can cost to me to hire someone for this job.
 
Back
Top