I’m working on a load cell project using Ameba Pro2 Mini (AMB82-mini) and need recommendations for a load cell amplifier that works reliably with this platform.
Current Situation:
I’ve tried two different amplifiers but both failed:
NAU7802 (24-bit ADC, I²C interface):
I²C scanner detects device at address 0x7E instead of expected 0x2A
Register writes fail (all registers read as 0x0 after write attempts)
Adafruit NAU7802 library has compilation issues with Ameba toolchain
Direct I²C register access doesn’t work reliably
HX711 with level shifter:
Used TXS0108E 8-channel logic level converter (AZDelivery module)
Currently, our SDK doesn’t include official support for load cell amplifiers. However, the two amplifiers you mentioned should still work with the AMB82 Mini. We’ll review this internally and support it in future SDK update.
Thank you very much for adding amplifier support. I tested the NAU7802, and everything works perfectly.
Now I am working with the ADS1256 amplifier since I need four channels at once.
It works over SPI, and I set up the code, but only for firmware 4.0.9 as you recommended.
Question: Is there a plan to add support for SDK version 4.1 for stable operation of this amplifier? Thank you!
I’m building a battery-powered smart scale on AMB82-MINI (RTL8735B) and have two blocking issues that force me to stay on SDK 4.0.9. I’d appreciate any guidance.
Issue 1: Dual wake-up sources in Deep Sleep (AON Timer + AON GPIO)
Need: Wake from deep sleep by AON GPIO pin 21 (LDR/comparator, rising edge) AND AON Timer (60s periodic) simultaneously.
Context: I found the multiple-wakeup patch in thread #4805 — thank you for sharing it.
Problem: The patched PowerMode.cpp uses amb_ard_printf(ARD_LOG_ERR, ...) which exists in SDK 4.1.x but does NOT exist in SDK 4.0.9. I had to manually replace these calls with Serial.println() to compile under 4.0.9.
Questions:
Which SDK version officially includes the multi-wakeup patch?
Is there a 4.0.9-compatible build of this patch, or should I wait for a backport?
Issue 2: SPI1 regression in SDK 4.1.x breaks ADS1256 ADC
SPI1.transfer()does not read MISO — always returns 0x00
SPI1.masterWrite()works correctly as a full-duplex replacement
All ADS1256 communication is built around masterWrite()
Observed on SDK 4.1.0-build20260202:
The same code and wiring that works on 4.0.9 produces invalid / garbage data from ADS1256
masterWrite() either changed behavior or was removed/modified
Minimal reproducer:
#include <SPI.h>
static inline uint8_t spiXfer(uint8_t b) {
return SPI1.masterWrite(b); // Only API that reads MISO on 4.0.9
}
void setup() {
Serial.begin(115200);
SPI1.begin(SPI_MODE_MASTER);
// Send STATUS register read command to ADS1256
uint8_t status = spiXfer(0x10); // RREG STATUS
Serial.print("STATUS = 0x"); Serial.println(status, HEX);
// 4.0.9 → 0x30 (correct)
// 4.1.0 → 0x00 or random (incorrect)
}
void loop() {}
Questions:
Was SPI1.masterWrite() intentionally changed or deprecated in 4.1.x?
What is the recommended SPI API for full-duplex MISO reads in 4.1.x?
Is there a migration guide for SPI code from 4.0.9 → 4.1.x?
The Catch-22
I need dual wake-up sources (patched in newer SDK) AND working SPI1 (broken in newer SDK). Currently I cannot use the latest SDK because of SPI, and the wake-up patch requires manual adaptation for 4.0.9.
Any ETA on when both features will be stable in a single release?
You may test with the 4.1.1-build20260417 pre-release version. Currently, there is no 4.0.9-compatible build of this patch, we will try to look into the SPI issue to make sure it is working in the latest pre-release SDK version.
Could you please provide us the logs recorded for the working version of 4.0.9 and the non-working version of 4.1.0? We would like to verify the root cause for different results.
Please also share with us the purchase source for your ADS1256 so that we could buy it for testing.
Working ADS1256 24-bit ADC driver for AmebaPro2 (AMB82-mini)
We built a clean 4-channel load-cell driver around the TI ADS1256. It scans 4 differential inputs and prints raw signed 24-bit values over Serial. No WiFi, no extra logic — just init and read.
Verified on:
SDK 4.0.9-build20250805
SDK 4.1.0-build20260213
Wiring (SPI1):
MOSI → pin 2 (PF7)
MISO → pin 0 (PF5)
SCLK → pin 1 (PF6)
CS → pin 10 (software)
DRDY → pin 9 (needs 10k pull-up to 3.3V)
PDWN → pin 7
One heads-up for SPI users:SPI1.transfer() doesn’t seem to read MISO on this board — it always returns 0x00 in our loopback tests. We use SPI1.masterWrite() instead, which works correctly. If you’re struggling with SPI reads on AmebaPro2, that might be why.
Full driver + minimal loopback test attached. Feel free to use or adapt.