SparkFun Qwiic Scale NAU7802 - Reading from 2nd Channel

Hi,

I have the Sparkfun Qwiic Scale (https://www.sparkfun.com/products/15242). I have a 2-part question regarding using the second channel on the board.

1 - Going by the documentation given, if I cut the jumper-1 (J1) mentioned in the schematics (https://cdn.sparkfun.com/assets/6/a/5/9 … _Scale.pdf), do I need to hook-up resistors and a capacitor (R9, R10 and C8 as in Channel-1) to make the second channel work? I am not sure if load cells A+ and A- lines can be connected directly)

2 - How do I access the second channel and calibrate?

do I need to hook-up resistors and a capacitor (R9, R10 and C8 as in Channel-1) to make the second channel work?

According to the Hookup Guide ([https://learn.sparkfun.com/tutorials/qw ... 1578439588](https://learn.sparkfun.com/tutorials/qwiic-scale-hookup-guide?_ga=2.208944150.583549649.1589987840-2114068872.1578439588)), you should only need to cut the J1 ("CAP") trace. If the second channel sensor (B+/B-) share the same E+/E-, then there should be no additional wiring needed.

How do I access the second channel and calibrate?

You should be able to call the following function: ``` bool setChannel(uint8_t channelNumber) ```

Brandon - thanks for the clarifications. Will share the updates over the weekend

Hello everyone,

I am trying to use 2 wheatstone brdiges / load cells on the 2 separate channels of the NAU7802, but something it’s not working properly.

By cutting the CAP trace and using the function setChannel(1), it’s then possbile to read from the channel #2 correctly (without being influenced from what happens on channel #1)

But the same does not happen for channel #1: with the SAME wiring (so the 2 load cells connected on the 2 channels), when selecting channel #1 through setChannel(0) I got a reading for channel #1 that changes both if the load cell on channel #1 is pressed (correct) and if the one in channel # 2 is pressed (not correct)… So channel 1 is not indipendent like channel 2 and I don’t undersantd why.

I have tried also to wire the extra cap and res as Hemanth was saying, but that’s not the problem. Ther should be some extra thing to do in the libraries, I suppose.

Anyone succeeded in having the 2 load cells in parallel with indipendent reading?

Thank you very much

Update: I found the answer on this same forum (by jlehmann).

It’s not sufficient to cut the CAP, and call the setChannel() function.

Every time you want to change channel, you need to add in the CODE also the following functions:

  • clearBit(NAU7802_PGA_PWR_PGA_CAP_EN, NAU7802_PGA_PWR);

  • calibrateAFE()

which are not automatically called when calling the setChannel() function.

Now everything works good BUT… there is a “but”, unfortunately, the reading per channel is quite slow, less than 10Hz… if I try to do it faster, the reading values do not make any sense.

If someone finds a faster solution, please share it, thanks.

Hi OctopusPrime,

I am working on this same approach, did you end up finding a faster solution that worked well for both channels?