Make a slight modification to the HX711 PCB for better measurements #117
Replies: 8 comments 51 replies
-
|
Can confirm, less noisy after mod! Great find!! |
Beta Was this translation helpful? Give feedback.
-
|
This is an interesting mod! I've been using my Chinese HX711 successfully for the last 4 months, and have had great success. I'm curious if this modification would improve accuracy and repeatability with lower noise from the sensor. Im not sure its worth the effort in my case, but would love to see before and after noise readings. |
Beta Was this translation helpful? Give feedback.
-
|
This completely fixed all my problems with my Specialita and the 1kg Mavin load cell! Thanks for this valuable information. Should be at least mentioned in the guide IMO. Note: I didn't have a 12k resistor, only a 10k one. Voltage drops to around 2.9V with that, but still it completely solved my noise issues. I was barely able to calibrate. Now on first try. Also before I got the warning indicator on the display showing detected noise. Since 2 days I have this mod I didn't see it yet. Awesome. |
Beta Was this translation helpful? Give feedback.
-
|
The downside of this solution is that you lower the excitation voltage even further (the loadcells are rated for 9-12V excitation), which lowers the signal to noise ratio. Another approach is to supply the HX711 with 5V and add a 1K:2K voltage divider to the data pin. That way you still have a clean 4.3V excitation from the HX711 and around 3-3.3V data output for the ESP32. Another option is to use the more expensive sparkfun board with separate 5v and 3.3v supply. FWIW I used the red shielded pcb version. I don't have the green one; so couldn't test if it results in any differences. But at the test setup it gave good consistent results (even with quite a long cable to the loadcell). |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
|
That only works if you stepdown the voltage of the data pin. Otherwise you’ll damage the esp. See discussion above.
|
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
|
I did it very similarly, but I will be changing all wiring out for thicker gauge, properly try to give them a few turns to minimize the interference before crimping and in the same go replace the HX711. Maybe that will work. |
Beta Was this translation helpful? Give feedback.




Uh oh!
There was an error while loading. Please reload this page.
-
This is actually something that all implementations of this mod would benefit from. In my implementation, I used the Sparkfun HX711 PCBA that exposes two separate voltage rail inputs. However, I wanted to run a single voltage supply to this board so that I could use a 4 pin connector rather than a 5 pin connector, but this necessitated operating the HX711 off of a single 3.3V rail rather than 3.3V for IO and 5V for the on-board LDO's excitation rail. Without modification, the board will still work, but the excitation LDO will be railed out against the 3.3V supply, and will be much noisier than it needs to be. Luckily, this is easy to achieve, you just have to down-adjust the setpoint of the LDO from it's default value of ~4.3V, down to something at least 200mV below the 3.3V rail. This was easily achieved by swapping out R1 (20k ohm) for a 12k ohm resistor, which then sets the LDO to ~3.1V. Now VCC and VDD can be powered off of a single 3.3V rail.
Many folks who implement designs with the HX711 buy Chinese designed boards that don't even separately breakout the VCC and VDD pins. On these boards, it is even more important to perform this modification, because there is not even the option of providing a separate 5V supply to the HX711 PCBA.
Here's the story on the HX711 as I understand it:
One of the original breakout implementations for the HX711 was made by Sparkfun, and they intended for users to use it in a dual supply configuration. A 5V supply would be used to drive the input to the HX711 controlled linear regulator, and 3.3V or 5.0V would be used to set the interface voltage. As they assumed users would have a 5V rail available, they locked the setpoint of the HX711 LDO to 4.3V via the 20k and 8.2k ohm resistors used. This worked great, until Chinese clones began popping up that omitted the VCC pin (choosing to internally tie it to VDD). They unfortunately did not make any adjustments to the LDO circuit, using the same 4.3V setpoint. Now, if you operate one of these poor HX711 implementations off of a single 3.3V supply, this excitation LDO is still trying to produce 4.3V as per it's feedback configuration, but will never achieve this goal as it is supplied by 3.3V. The effect is that it effectively turns into a pass-through for the 3.3V rail, and you've negated all the benefits that a separate low noise excitation rail had to offer.
Really easy to fix, you just have to down-adjust the setpoint to something suitable for a 3.3V upstream supply level! The HX711 itself supports a 3.1V LDO setpoint no problem (and actually only requires 100mV of dropout from the upstream supply - you could do 3.2V, I just wanted a bit more margin). There was no reason it needed to originally be 4.3V, other than that a larger excitation voltage typically equals more resilience to noise.
TLDR: Swap the 20k resistor for a 12K resistor if using a single 3.3V supply on HX711 boards!
Beta Was this translation helpful? Give feedback.
All reactions