Hx711 library scale

Hello I'm having a hard time finding my answer on the web and forums I even looked thru the hx711 library I got from git hub with lady adas Revision. This is where am at

I bought 10 load cell scales strain sensors df robot brand with the compatible hx711 ADC board .. having no trouble using up to 4 of them at a time

In the set up I'm. Using maga 2056.

I can call start each board and sensor communication in the setup like the following


These work fine and retrun the correct data

My troubles start at


And up to

Is there some limit on how many begins I can use on the mega I need 10 sensors for my project and I'm lost now.

why the scale.begin did not work past 4 sensors ?

Which pins are you using?

Post the entire code. Try to post the smallest version which shows the problem (5 scales).

sorry i cleaned it up a bit as it was confusing

#include "HX711.h"

HX711 scale;
HX711 scale1;
HX711 scale2;
HX711 scale3;
HX711 scale4;// VVV any scale defined past 4 on the mega seems to fail to communicate 

HX711 scale5;
HX711 scale6;
HX711 scale7;
HX711 scale8;
HX711 scale9;
HX711 scale10;

void setup() {

  pinMode(4, OUTPUT);

  Serial.println("HX711 Demo");
   Serial.println("HX711 Demo");

  Serial.println("Before setting up the scale:");
  Serial.print("read: \t\t");
  Serial.println(scale1.read());      // print a raw reading from the ADC


  Serial.println("Initializing the scale");
  // parameter "gain" is ommited; the default value 128 is used by the library
  // HX711.DOUT	- pin #52
  // HX711.PD_SCK	- pin #53

  scale1.begin(34, 35);

  scale2.begin(36, 37);

  scale3.begin(38, 39);

 scale4.begin(40, 41);

// scale5.begin(42, 43);
 // scale5.set_scale(100000);//     <<<< when i remove the coment lines from here i get no response //                                                         from mega it turns in to a lifless brick 

//scale6.begin(44, 45);
//  scale6.set_scale(100000);
////  scale7.begin(46, 48);
 // scale7.set_scale(100000);
 // scale8.begin(48, 49);
 // scale8.set_scale(100000);
  //scale9.begin(50, 51);
 // scale9.set_scale(100000);
  //scale10.begin(52, 53);
 // scale10.set_scale(100000);


void loop() {
  //byte x = 0;

  if (Serial.available()) {      // If anything comes in Serial (USB),
    // Serial.write(Serial.println(ww));

//using these to get readings from each sensor and board 
 float a =(scale1.get_units());
  float b =(scale2.get_units()); 
  float c =(scale3.get_units());
 float d =(scale4.get_units());
  float e =(scale5.get_units());
   float f =(scale6.get_units());
    float g =(scale7.get_units());
     float h =(scale8.get_units());
  Serial.print("A is ");        // sends five bytes
  Serial.println(a);              // sends one byte
 Serial.print("b is ");        // sends five bytes
  Serial.println(b);              // sends one byte

   Serial.print("c is ");        // sends five bytes
  Serial.println(c);              // sends one byte

   Serial.print("d is ");        // sends five bytes
  Serial.println(d);              // sends one byte

   Serial.print("e is ");        // sends five bytes
  Serial.println(e);              // sends one byte

 Serial.print("f is ");        // sends five bytes
  Serial.println(f);              // sends one byte

   Serial.print("g is ");        // sends five bytes
  Serial.println(g);              // sends one byte

   Serial.print("h is ");        // sends five bytes
  Serial.println(h);              // sends one byte

 // Serial.endTransmission();    // stop transmitting



maybe the photo will help explain what i’m doing in the photo i have hacked a 16 port ether net switch to use as a single communication hub for all the scales to be used and connect to one place the arduino with then apply a mapped range and send off the filtered results to a remote pc via serial BLE or Ether net wifi Undecided yet


and the project it self