Logitech G25, G27, G29, G920 load cell DIY project

Seeing that I haven’t completed the work, allow me to showcase the work of others in my place, as this is starting to become more of a repository of ideas on the topic.

RD member GeekyDeaks showcases a bathroom scale based load-cell project on his github
- More details about bathroom scale based loadcells

RD member Grezson built one by using a 20kg straight Bar load-cell (which are very cheap btw)
- More details about straight bar based loadcells not specific to logitech

- More general information about load-cells
- Some older research completed that is still relevant

- RD member Panicpete has also shared a lot of detail about his own project that can be found on this thread

Provided in the spoiler below is all the most pertinent information I’ve dug up on building a button load-cell for the Logitech brake pedal. Very similar in design to that of Richmotech’s model. The total cost for this project would come around $60 to $70 on the low end roughly. Be advised, I’ve not actually completed this project and ended up installing the AXC Sim brake mod in it’s place, which comes at the same cost it would take to build a button load-cell mod.
Parts list:

Steel Spring:

30mm Outer Diameter (This is wrong, I will updated the O.D. and I.D. later)
2.0mm Wire Diameter
50mm length
A length of 50mm is overshooting it, so the spring would need to be shorten to length with a dremel. A dual rated spring such as what is used with the nixim and gteye mod might also work, but I presume that having a combination of the spring, rubber and the load cell should provide for enough change in pressure. I've also read of some success by using a product called Real Pedal that can be found on ebay, which comes with a spring and sponge, but a bit over priced again at $30. So best to DIY this imo.


3123_0.jpg

Load Cell
The load cell should have an Outer Diameter or 25mm and not likely much larger, but definitely not greater than 28mm. The Logitech housing that holds the spring assembly has an inside diameter of 30mm, so it needs to be a bit less than that. The actual rating of the load cell should be around 45kb (100lbf) and a 3 wire system that can be supplied with up to 5V.

Example load cell:
Button Load Cell (50kg) - CZL204E
FC22 Compression Load Cell (45kg)
note: This particular model would need to have the mounting brackets edged off with something like a dremel.


Amplifier:
An amplifier might not actually be needed if the supplied voltage is maintained, but they are pretty cheap and might be a good fail safe to have. An affordable standalone load cell amplifier by Leo Bodnar or maybe something like a SparkFun Load Cell Amplifier - HX711. Can't really say for sure what the best option is just yet.

OR build your own:

Rubber fuel line:
This should have an outsider diameter that doesn't exceed the insider diameter of the steel spring (possibly a hair shorter to be on the safe side) and then just trim it up to fit inside the spring.

Felt or Foam:
To wrap around the load cell so as to make a more snug fit.

For assembly, simply refer to any Ricmotech style information, such as,
Sim Racing Garage review
Ricmotech assembly manual
 
Last edited:
Yeah once it was working I wanton to race. That's working fine now and really accurate. I did try moving the pots out of use if and it wouldn't accept my code. When I have a bit more time I'll work on adding them again.
 
Upvote 0
Seeing that I haven’t completed the work, allow me to showcase the work of others in my place, as this is starting to become more of a repository of ideas on the topic.

RD member GeekyDeaks showcases a bathroom scale based load-cell project on his github
- More details about bathroom scale based loadcells

RD member Grezson built one by using a 20kg straight Bar load-cell (which are very cheap btw)
- More details about straight bar based loadcells not specific to logitech

- More general information about load-cells
- Some older research completed that is still relevant

- RD member Panicpete has also shared a lot of detail about his own project that can be found on this thread

Provided in the spoiler below is all the most pertinent information I’ve dug up on building a button load-cell for the Logitech brake pedal. Very similar in design to that of Richmotech’s model. The total cost for this project would come around $60 to $70 on the low end roughly. Be advised, I’ve not actually completed this project and ended up installing the AXC Sim brake mod in it’s place, which comes at the same cost it would take to build a button load-cell mod.
Parts list:

Steel Spring:

30mm Outer Diameter (This is wrong, I will updated the O.D. and I.D. later)
2.0mm Wire Diameter
50mm length
A length of 50mm is overshooting it, so the spring would need to be shorten to length with a dremel. A dual rated spring such as what is used with the nixim and gteye mod might also work, but I presume that having a combination of the spring, rubber and the load cell should provide for enough change in pressure. I've also read of some success by using a product called Real Pedal that can be found on ebay, which comes with a spring and sponge, but a bit over priced again at $30. So best to DIY this imo.


3123_0.jpg

Load Cell
The load cell should have an Outer Diameter or 25mm and not likely much larger, but definitely not greater than 28mm. The Logitech housing that holds the spring assembly has an inside diameter of 30mm, so it needs to be a bit less than that. The actual rating of the load cell should be around 45kb (100lbf) and a 3 wire system that can be supplied with up to 5V.

Example load cell:
Button Load Cell (50kg) - CZL204E
FC22 Compression Load Cell (45kg)
note: This particular model would need to have the mounting brackets edged off with something like a dremel.


Amplifier:
An amplifier might not actually be needed if the supplied voltage is maintained, but they are pretty cheap and might be a good fail safe to have. An affordable standalone load cell amplifier by Leo Bodnar or maybe something like a SparkFun Load Cell Amplifier - HX711. Can't really say for sure what the best option is just yet.

OR build your own:

Rubber fuel line:
This should have an outsider diameter that doesn't exceed the insider diameter of the steel spring (possibly a hair shorter to be on the safe side) and then just trim it up to fit inside the spring.

Felt or Foam:
To wrap around the load cell so as to make a more snug fit.

For assembly, simply refer to any Ricmotech style information, such as,
Sim Racing Garage review
Ricmotech assembly manual

Hi there

I followed your suggestion for the diy INA122PA build.

Would you mind showing which wires go to which arduino pro micro pins, please?

INA122 DIY - how to wire to arduino.jpg
INA112pa wire from loadcell to arduino - help.jpg
 
Last edited:
Upvote 0
Aside from Vcc and Gnd, you will need the output from the amplifier 'Vo'. This should be pin 6:

1611736631861.png

You will need to connect that pin to one of the pins prefixed with an 'A' on the Arduino. You have a number of options, but if you are not sure, just go for A0 and you can swap things around in the code. I'm guessing you plan to use the joystick library?

1611736751718.png
 
Upvote 0
Hello Pubwie,

first of all, if using an Arduino I would recommend the HX711 instead of the INA122. You can get breakout boards with it way cheaper than the INA122 chip alone costs. It already contains an analog-to-digital converter and there are several libraries available for the arduino to read it. (i would only recommend the INA122 if you want to replace the poti and keep the original wiring)

[edit: when using the HX711, make sure to get one that is already set to 80 Hz or that you can easily change to 80 Hz. Most of them are set to 10 Hz which is ok for a scale, but a bit slow for a game controller. On mine I had to re-solder one SMD-jumper, which can be quite challenging if you're new to SMD-soldering]

But since you already have the INA122, you can also use that to treat the load cell as if it was a poti.

As GeekyDeaks already mentioned, you need to connect pins 4, 6, and 7 on the INA122 to GND, an analog pin and VCC on the Arduino.
However, from the pictures you provided it looks like you got the connections to the load cell on the wrong side of the INA122. If you are using two load cells the "middle" wires (usually the red ones) connect to pins 2 and 3 on the INA122. Then, you combine the black wire of one load cell with the white wire from the other load cell and connect it to pin 4. The remaining black and white wires then connect to pin 7. You can "simulate" one of the load cells with two resistors of roughly the same value as the load cells. It looks like you already have the required resistors on your board, but on the side you want to connect to the arduino.
 
Last edited:
Upvote 0
Thanks for the quick reply guys!

I'm extremely unknowledgeable with electronic terms.
To give you an idea of how I see this stuff, would this be what you mean?

Made two wiring diagrams, 4 and 3 cells.

Additional questions:
A) Apart from the wiring, does the INA122 orientation matter, facing 3 or 4 pins?

B)Also, I couldn't find those round-looking capacitors so I got a variety pack which nF codes seemed to be in the same ballpark. If my code reading is accurate, I replaced the original capacitor with a 0.22uF which would be okay for this circuit, right?

I'm planning on using this sketch by AMstudio

4-cell
cteters - 4 cell + amp + Arduino.png



3-cell
cteters - 3 cell + amp + Arduino.png
 
Last edited:
Upvote 0
Hi Pubwie,

if you use the same circuit layout as in the first post of this thread, you have to swap the ground and VCC wires to the Arduino.

On the load cell side the 4-wire version looks ok except you have to remove the two 1k resistors on the board. Those are only needed for 3-wire load cells.

With the 3-wire load cells the color coding usually is black for ground, white for +5V and red for signal. To be 100% sure you can measure the resisitance between the wires. Ground to signal should be around 1k, signal to +5V should also be around 1k and ground to +5V should be the sum of the other two, so around 2k. In your diagram you show the pair of 1k resistors both on the board and in the wiring. You only need them once.

Regarding your additional questions:
A) the INA122 itself should have 4 pins on each side, and yes, the orientation does matter. The orientation you show in your diagram is correct.

B) the capacitator is the to filter/smooth the output signal. If the value is too low, you might get spikes in your output voltage. If it i to high, there will be some lag/delay between applying force to the load cell and the output voltage changing accordingly. I think 220nF should still be ok, You have to test and see if you have too much lag in your input.

The sketch by AMstudio should work fine
 
Last edited:
Upvote 0
@Pubwie, I agree with everything @Panicpete wrote, but wanted to chip in about the capacitor. The value should be fine, but it's not supposed to go on the output as it's a decoupling capacitor. It's purpose is to ensure noise on the power doesn't cause dropouts or odd behaviour in the INA122. Looking at the photo I think you have it hooked up right, but just check that one side is connected to V+ and the other to Gnd.

1611825401360.png


Can you post a photo of the bottom of the board so we can see how you have wired everything up?
 
Last edited:
Upvote 0
I'm planning on using this sketch by AMstudio
Just had a quick look at this. It's fine, but just wanted to point out that it doesn't match the diagram you posted. The sketch is expecting the signal on A0, but your diagram has it hooked up to A1

You may also want to change the logic once you have it working. The fixed delay of 50ms will mean you are just making 20 samples per second. Personally, I'd recommend letting the arduino run as fast as it can and just output when the value changes
 
Upvote 0
Thanks for the feedback!

I did try to test it today, but no input readings that make any sense.
With the arduino plugged in, I get a value in DIview, but it just jumps around between random values whether I press the load cell or not, with the 3- and 4- wire.

I'll have another go next week and swap the capacitor to the V+ lane.
 
Upvote 0
If you have a multimeter available, i would suggest you try the amplifier circuit without the arduino. Just connect a power supply (ideally somewhere between 3V and 10V, you can use the GND and VCC pins of the arduino) to GND and VCC of the amplifier circuit. Then measure the voltage between GND and signal. You will have to adjust the precision poti, as this controls the gain of the INA122. If the gain is too low, you won't see any change in the output voltage, if it is too high the output will jump form 0 to 100% with the slightest force on the load cell.

[edit: if you still don't get anything that makes sense, try switching either the signal wires or the GND/VCC wires of the load cell around. If they are the wrong way round, the INA122 will try to subtract the signal from 0V instead of adding it.]

When you get a sensible reading there, you can connect the signal output to the arduino again.
 
Last edited:
Upvote 0
Right, I tried every wire combination possible, I think :/

Decided to build another board that I saw while googling around.

RacingMat - PCB.png


No luck with this one either.

Troubleshooting + Multimeter
* I double-checked both boards to see if I missed connecting everything correctly. (mind the soldering!)
*Tried multi-metering, but have no idea what I'm doing. I'm pretty confident everything is hooked up by following the connections and getting a constant reading.
*I know that the POTS are turned up to 10k.

I really appreciate all the time taken to help me out. I'm sure I'm doing something obvious wrong, but don't know enough to recognize the mistake.

Any chance of a troubleshooting-video floating around on the dark web that you know of?
 
Upvote 0
I know that the POTS are turned up to 10k.
I'll double check your wiring after work, but just thought I'd say something about the 10k.

The gain of the amp is defined by RG (the pot) as follows:

G = 5 + 200k / RG

Therefore:

G = 5 + 200,000 / 10,000

G ~= 20

The difference in the loadcell voltage is really, really tiny. IIRC around 2-3mV, which means you are probably going to get a voltage out of the amp around 60mV, or 0.06V with a gain of just x20.

You probably want the gain to be around 1,000 to start with and then tweak it after that. This means you want RG to be around 200 Ohms
 
Last edited:
Upvote 0
@Pubwie - can I ask where you got the circuit diagram from? It looks like it's mirrored so it can be used as a PCB mask. This means the pins are flipped. I think of it as if I am viewing the circuit from the bottom to make it easier on my poor brain.

I'm assuming you deliberately mirrored the track side photo to make it a little easier to follow? If so, your inputs and outputs are on the wrong sides. For example, V+ and GND (Vo), should be on the right side of amp, but you appear to have them on the left.

1612174405822.png

Unfortunately, this is not just a case of turning the chip around and you are going to have to start again (although I guess you could mount the chip on the track side too, but I don't recommend that). Can I also recommend that you consider a DIP socket to avoid heat damaging the amp? https://uk.rs-online.com/web/p/dil-...DoltM0sGYF2_968oHbcaAt9GEALw_wcB&gclsrc=aw.ds
 
Upvote 0
I'll double check your wiring after work, but just thought I'd say something about the 10k.

The gain of the amp is defined by RG (the pot) as follows:

G = 5 + 200k / RG

Therefore:

G = 5 + 200,000 / 10,000

G ~= 20

The difference in the loadcell voltage is really, really tiny. IIRC around 2-3mV, which means you are probably going to get a voltage out of the amp around 60mV, or 0.06V with a gain of just x20.

You probably want the gain to be around 1,000 to start with and then tweak it after that. This means you want RG to be around 200 Ohms

To be precise, the gain is G = 5 + (200k / RG), so exactly 25 when the pot is set to 10k. ;)

Regarding the output voltage of the load cell, according to wikipedia it is typically around 1-3 mV/V for full load on the load cell. So for an excitation voltage of 5V it should be somewhere between 5-15 mV. With a gain of 25 this should give you between 0,125 and 0,375 V for full load (the 3-wire bathroom scale load cells are usually rated around 50 kg). When pressing on it with your hand, you can probalby manage around 5 kg, giving you an output in the range of 0,01 - 0,04 V. And this is for a full bridge setup, meaning you use 2 of the 3-wire cells. When using only one 3-wire cell and "simulating" the other one with fixed resistors, the values will be even lower.

So I agree, the current gain is far too low. The 200 Ohms should indeed be a good starting point.


The diagram seems to be from here: Tutorial - DIY load cell brake pedal (short tuto) (xsimulator.net)
 
Last edited:
Upvote 0
Geez, i can't believe i messed up the layout again!

Got one more INA122 and figured i'd hook it up to a breadboard before soldering everything together.
Like i mentioned, I don't know much about this stuff. Any recommendation is appreciated.
Link:
 
Last edited:
Upvote 0

What are you racing on?

  • Racing rig

    Votes: 528 35.2%
  • Motion rig

    Votes: 43 2.9%
  • Pull-out-rig

    Votes: 54 3.6%
  • Wheel stand

    Votes: 191 12.7%
  • My desktop

    Votes: 618 41.2%
  • Something else

    Votes: 66 4.4%
Back
Top