Basic AC Ammeter for a precision through-core CT — single, dual, or triple-channel current sensor on a clean I²C bus. Pairs with a through-core CT TA sensor on a wire (one per channel) — buy the module alone, or get the Module + Sensor bundle. More accurate than SCT-013 — 40–60 mA noise floor (3–5× better), loads visible from 50 W. Add precise current channels to your bus when voltage is already measured by another rbAmp module, or use for standalone current logging — protection logic, load-on detection, overload trip.
- You want a precision through-core CT — pick the matching sensor, or grab the Module + Sensor bundle
- SCT-013 noise hides your fridge or water heater in the baseline (40–60 mA noise floor instead of 150–200 mA)
- Voltage is already measured by a UI-series module on the same I²C bus — add cheap, precise current channels for sub-metering
- You only need current logging (protection, load-on detection, overload trip) — voltage / power not needed
- Your PZEM uses precious UART ports — switch to I²C and chain multiple ammeters on two pins
Choose your channel count
| Variant | Current channels | What it measures | Energy (Wh) |
|---|---|---|---|
| A1 | 1 | I_rms, I_peak on one branch circuit | — |
| A2 | 2 | I_rms, I_peak per channel on two circuits | — |
| A3 | 3 | I_rms, I_peak per channel on three circuits | — |
No energy accumulator on the A-series. Without an on-board voltage sensor the module cannot compute power (P = mean(u·i)) — these are ammeter modules, not wattmeters. For Wh / tariff zones / energy accounting, pick the CT Wired Wattmeter (UI-series) on the same bus, or pair this ammeter with any UI-series module. The matching through-core CT is sold separately or as a Module + Sensor bundle (1–3 sensors per variant).
Four lines of YAML — current channels in Home Assistant
rbamp:
- id: rbamp_branch
address: 0x61
data_ready_pin: GPIO5
sensor:
- platform: rbamp
rbamp_id: rbamp_branch
For a complete monitoring setup (current + voltage + power + Wh), pair this ammeter with a UI-series wattmeter on the same bus. Master-side software combines I from this module with U from the wattmeter — typical pattern for residential sub-metering across multiple branch circuits.
What you get
Precision through-core CT measurement chain
Built for through-core CT TA sensors (no air gap) — tighter accuracy than clamp-on SCT-013. Total accuracy = module + sensor: the module adds ~0.5%, the CT sensor 0.3–1%. Noise floor 40–60 mA — 3–5× better than SCT-013, enough to see loads from 50 W upward. Factory pre-calibrated against a reference instrument, with per-unit coefficients in persistent memory.
Plug-in screw terminals — wired sensor
The CT TA sensor connects through plug-in (pluggable) screw terminals: the terminal block unplugs from the board and the secondary wire is secured under a screw. No soldering. Swap or troubleshoot a sensor by unplugging the block.
I²C bus architecture
Multiple modules share two ESP32 signal lines (SDA + SCL). Default address 0x60, programmable. Up to ~8 modules per I²C bus at typical 30 cm runs — Basic and Standard tiers coexist without distinction. Common topology: one UI-series wattmeter on main feed + several ammeters on branch circuits.
5 kHz hardware sampling
True-RMS calculation over 1000 samples per 200 ms window on-module via DMA. Your ESP32 reads pre-computed I_rms values, not raw ADC samples. Frees the host MCU for application logic.
Hardware DataReady interrupt
Open-drain pin pulses LOW for ~10 µs every 200 ms when fresh I_rms data is ready. The master catches the falling edge as an interrupt — no polling timers, no UART contention, no SoftwareSerial fragility.
Native ESPHome integration
Auto-discovery via the rbamp-esphome external_component. Roughly 4 lines of YAML for a single ammeter. Current readings surface as native Home Assistant entities — I_rms[ch], I_peak[ch] per channel.
CT TA advantages over SCT-013
| Parameter | CT TA (through-core) | SCT-013 (clamp) |
|---|---|---|
| Sensor accuracy | 0.3–1% | 1–3% |
| Noise floor | 40–60 mA | 150–200 mA |
| Visibility of small loads | from 50 W | from 200 W |
| Air-gap effect | none | 1–2% extra error |
| Batch-to-batch stability | high | medium |
| Installation | requires power-down | non-invasive |
Total accuracy = module (~0.5%) + sensor. Figures above are the sensor error. Pick a tighter sensor for tighter results.
What's in the box
- rbAmp Basic CT Wired Ammeter module (PCB)
- Plug-in screw terminal blocks for tool-free sensor connection
- Quick reference card with link to documentation
Module only — the CT sensor is not included. Buy the matching through-core CT TA separately, or get the Module + Sensor bundle (module + 1–3 CT sensors, depending on variant). The module pairs with any current-output CT in range; the bundle ships the factory-matched sensor.
No voltage input on the A-series. The module has no screw terminals for voltage — current measurement only.
Real-time data (refreshed every 200 ms)
| Register | Description |
|---|---|
I_rms[ch] |
RMS current per channel (A) — 1, 2, or 3 channels depending on variant |
I_peak[ch] |
Peak current value per channel within the 200 ms window |
What this module does NOT measure: voltage (U_rms), active power (P_active), reactive power (Q_reactive), power factor (PF), line frequency, energy (Wh). For these — pick the CT Wired Wattmeter (UI-series), or pair with any UI-series module on the same bus.
Compatibility
- ESPHome — native
external_componentwith auto-discovery (rbamp-esphome on GitHub) - Home Assistant — via ESPHome, current readings as native HA entities
- Arduino / PlatformIO — high-level library (rbamp-arduino on GitHub)
- Raspberry Pi — Python via I²C (rbamp-examples on GitHub)
- Tasmota — Berry driver
- Any I²C master — documented register map at /docs/modules-basic-standard-api-reference
Specifications
| Spec | Value |
|---|---|
| Supply voltage (VCC) | 5 V DC (on-board 3.3 V regulator) — do NOT drive VCC with 3.3 V |
| I²C / DataReady logic level | 3.3 V (ESP32 / Raspberry Pi GPIO direct, no level shifter) |
| Current draw | <20 mA typical |
| MCU | ARM Cortex-M0+ |
| Interface | I²C, 100 kHz / 400 kHz |
| I²C address | 0x60 default, programmable |
| DataReady pin | Open-drain, idle HIGH, ~10 µs LOW pulse every 200 ms — falling-edge interrupt |
| AC current range | 0.25–100 A (depends on the CT model) |
| Accuracy (current) | module ~0.5% + sensor (CT) 0.3–1% — total = module + sensor |
| Current noise floor | ~40–60 mA |
| Sampling rate | 5 kHz per channel (5,000 samples per second) |
| Real-time integration window | 200 ms |
| ADC resolution | 12-bit |
| Current sensor type | Through-core CT TA, current output (mA), on a wire — sold separately / bundle |
| Sensor connection | Plug-in screw terminals (no soldering) |
| AC mains isolation | Galvanic via toroidal CT (encircles the conductor — no direct contact with mains; no on-board voltage front-end) |
| AFE | Precision burden resistor (Vishay 0.1%) + unity-gain bias buffer + AC-coupling (protects CT from DC saturation) |
| Voltage input | None — current measurement only |
Multiple modules on one bus
Each module ships with 4.7 kΩ pull-ups on SDA and SCL. On the first module leave the pull-up jumpers closed; on every additional module cut the marked jumpers (a few seconds with a knife or soldering iron) so parallel pull-ups don't overload the master. Up to 8 modules per bus at ~30 cm runs. Longer runs → see the Standard line.
Installation safety
⚠️ Through-core CT install requires powering down the wiring — the primary conductor must pass through the toroidal sensor, which means temporarily freeing or disconnecting the wire. This is a one-time install. If you can't power down the circuit, use rbAmp Basic SCT-013 with its non-invasive clamp. All work must follow local electrical codes; for panel-level work, a qualified electrician is strongly recommended.
⚠️ The module ships as a bare PCB. The Basic line does not include enclosures — for DIN-rail housings or panel boxes, use third-party project enclosures.
This module is not certified for revenue metering (utility-grade billing). For commercial accounting, use a certified meter alongside rbAmp for diagnostic / per-circuit detail.
Warranty and support
- 12-month warranty on electrical defects
- GitHub Discussions — public support channel at github.com/rb-amp
- Documentation — Quick Start · API Reference · Migration from PZEM-004T
Upgrade pointer
Need voltage / power / energy accounting? Get the CT Wired Wattmeter (UI-series — same through-core CT, adds isolated voltage front-end + atomic period latch for Wh accounting).
Need higher accuracy? rbAmp Standard tier delivers a tighter module (~0.3%), sub-10 mA noise floor, signed power for solar bidirectional, 8 independent atomic-period accumulators, diagnostic alarms, and traceable factory calibration. Drop-in upgrade on the same I²C bus (different address range).

