Emulating a HC165

Hi,
I'm creating a custom wheel for the Logitech G29.
I've seen many projects on youtube, but everybody uses the stock wheel buttons or an external cable to use the buttons.

But I don't want that...

I disassembled the wheel and I "reverse engineered" the connector:
2 pins carry 5V and GND
2 other pins are for the revs leds (but i don't care about them)
1 pin for shift/load
1 pin for clock
1 pin for serial out

I found them by searching online for the datasheets of the HC165 parallel-load shift registers on the pcb.

Now, based on that information, what I want to do is to emulate the behavior of the HC165 so that I can connect an arduino (or similars) to the connector to use other buttons.

p.s. I don't know if I put this in the right category so tell me if I'm wrong

Due to timing constraints an SPI slave can be the only substitute.

Why emulate one, why not just use a HC165, or an HCT 165?

I actually haven't got any HC165, so I would have to order them if I want to use them. And emulating it can be also useful if I want to change the buttons mapping with software, without de soldering the wires. I know that I can also map them using the wheel's app on the pc, but I prefer to have control of it with my program, since I will also have to connect a display.
p.s. I won't use an Arduino but a raspberry pi zero 2 so that I can use wi-fi to get the game's information and I can use a 3.5 inch display.

The problem with emulation is speed. If the host software expects an HC165 connected, it may (or may not) expect response times in the sub microseconds. Arduino I/O pins can't always be addressed quickly enough. You have to probe with a scope or logic analyzer to find the timings.

What is so difficult about that?

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.