The BL0942 is a highly integrated, calibration-free single-phase energy metering IC designed for smart plugs, smart sockets, power strips, and energy-aware appliances. It provides accurate measurement of active power, voltage RMS, current RMS, line frequency, and zero-crossing information, while supporting both pulse output and register-based digital interfaces.
Often compared with the popular BL0937, the BL0942 is not merely a pin-compatible refresh, but a more capable, register-driven metering IC intended for modern connected energy products.

What Is the BL0942?
A Calibration-Free Energy Meter IC
At its core, the BL0942 is a single-phase energy metering IC developed by Shanghai Belling. It integrates all essential analog and digital blocks required for accurate AC power measurement:
- Two independent Sigma-Delta ADCs (one for voltage, one for current)
- Programmable gain amplifiers (PGA)
- An on-chip 1.218 V precision reference
- A dedicated DSP engine for power and RMS calculations
- An internal oscillator and clock system
- Configurable logic outputs and digital communication interfaces
Unlike simpler pulse-only metering chips, the BL0942 exposes internal measurement results via registers, allowing firmware to access raw and processed electrical data directly.
Measurement Capabilities
The BL0942 continuously samples voltage and current waveforms and computes:
- Active power (signed)
- Active energy (via pulse output or counter register)
- Voltage RMS
- Current RMS
- Fast current RMS (for over-current detection)
- Line frequency
- Zero-crossing of voltage and current
All waveform processing is performed internally by the DSP, eliminating the need for MCU-side signal processing.
Accuracy and Performance
The BL0942 is designed for consumer-grade but highly reliable energy measurement:
- Active energy accuracy:
Less than 0.1% error over a 4000:1 dynamic range - Active power accuracy:
0.2–0.6% depending on signal level - RMS accuracy:
High accuracy at normal loads, reduced accuracy at very low currents (as expected in shunt-based designs) - Anti-creep protection:
Prevents false energy accumulation under no-load conditions
These characteristics allow many designs to operate without per-unit calibration, provided the external components are well chosen.
Package and Power
The BL0942 is available in:
- SSOP-10
- TSSOP-14
Key electrical parameters:
- Supply voltage: 3.0–3.6 V (3.3 V typical)
- Typical power consumption: ≈10 mW
- On-chip reference voltage: 1.218 V (typ.)
There is no SOP-8 version of the BL0942.
Pinout Fundamentals (SSOP-10)
Understanding the pinout correctly is critical.
Power and Ground
VDD (Pin 1)
Power supply input. Operates from a single 3.0 V–3.6 V supply (3.3 V typical). Proper decoupling close to the pin is essential for stable measurements.
GND (Pin 5)
Ground reference for both the analog and digital sections of the device.
Current Measurement Channel
IP (Pin 2) & IN (Pin 3)
Differential inputs for the current channel. These pins connect across a low-value shunt resistor (typically 1–2 mΩ).
- Maximum differential input: ±42 mV peak (30 mV RMS)
- High input impedance (~370 kΩ)
- Used for current RMS, active power, and energy calculation
Voltage Measurement Channel
VP (Pin 4)
Voltage channel input. Typically connected to a resistor divider from the AC mains.
- Maximum input: ±100 mV peak (70 mV RMS)
- High input impedance (~370 kΩ)
This channel provides the voltage waveform required for both RMS and active power computation.
Digital Outputs and Control
CF1 (Pin 6) – Configurable Output
Logic output pin. Depending on configuration, CF1 can output:
- Active energy calibration pulses
- Over-current indication
- Voltage zero-crossing signal
- Current zero-crossing signal
SEL (Pin 7)
Selects the communication interface:
- SEL = 0 → UART mode
- SEL = 1 → SPI mode
An internal pull-down resistor ensures UART mode by default.
SCLK_BPS (Pin 8)
- SPI clock input when SPI mode is selected
- UART baud-rate configuration pin when UART mode is selected
RX / SDI (Pin 9)
UART receive input or SPI data input. An external pull-up resistor is required when using UART mode.
TX / SDO (Pin 10)
UART transmit output or SPI data output. An external pull-up resistor is required when using UART mode.
How the BL0942 Measures Energy
- Voltage and current are sampled by independent Sigma-Delta ADCs
- Waveforms are filtered and aligned digitally
- Instantaneous voltage and current are multiplied
- A digital low-pass filter extracts true active power
- Active power is:
- Accumulated internally
- Converted into energy pulses
- Exposed via registers
Energy can be obtained in two ways:
- Counting pulses on the CF output
- Reading the CF_CNT register via UART or SPI
Digital Interfaces
UART and SPI
The BL0942 supports either UART or SPI, selected by the SEL pin.
- UART: 4800–38400 bps
- SPI: Slave mode, up to 900 kHz
- All registers are 24-bit wide
This allows firmware to read:
- RMS values
- Active power
- Energy counters
- Frequency
- Status flags
- Raw waveform samples (for analysis)
Typical Smart-Plug Application (Real-World Mapping)
Hardware Mapping
Current sensing
- Low-ohmic shunt (typically 1–2 mΩ)
- Connected across IP and IN
- Kelvin routing recommended
Voltage sensing
- High-value resistor divider from mains to VP
- Divider scaled to stay within ±100 mV peak
MCU connections
- CF1 → GPIO interrupt pin (energy pulse or zero-crossing)
- RX/TX or SPI pins → MCU serial interface
- SEL hard-wired based on interface choice
Register Configuration Example
Typical firmware setup:
- Enable energy pulse output (
MODE.CF_EN) - Select CF1 function (
OT_FUNX) - Configure accumulation mode (signed or absolute)
- Select 50 Hz or 60 Hz operation
- Optionally adjust:
- Anti-creep threshold
- Fast RMS timing
- Over-current threshold
The MCU then:
- Counts pulses for energy
- Reads RMS and power values periodically
- Uses zero-crossing or frequency data if needed
BL0937 vs BL0942 – A True Engineering Comparison
1. Interface Philosophy
| Feature | BL0937 | BL0942 |
|---|---|---|
| Output type | Pulse-only | Pulse + registers |
| MCU integration | GPIO counting | UART/SPI + GPIO |
| Data visibility | Limited | Full internal data |
2. Measurement Access
BL0937:
- Energy via pulse only
- RMS inferred from pulse frequency
BL0942:
- Direct RMS registers
- Direct power registers
- Frequency and waveform access
This is the single biggest architectural difference.
3. Calibration and Production
| Aspect | BL0937 | BL0942 |
|---|---|---|
| Factory trimming | Basic | Improved |
| Calibration-free use | Sometimes | Common |
| Production robustness | Moderate | Higher |
4. Output Flexibility
BL0937:
- Fixed CF / CF1 meanings
BL0942:
- CF1/CF2/ZX fully configurable
- Over-current and zero-crossing available on pins
5. Migration Reality
- Not drop-in at firmware level
- Hardware often reusable
- Firmware must be adapted to register-based model
Final Verdict
- BL0937:
Suitable for ultra-simple, pulse-only, legacy designs - BL0942:
The correct choice for modern smart plugs and sockets, offering:- Better observability
- Easier calibration
- More robust firmware integration
- Future-proof feature set
If you are designing a connected energy product, the BL0942 is not just a replacement—it is a fundamentally more capable metering platform.