DimmerLink Native Tasmota Driver — Now ESP8266 Compatible
Last month we released the Berry I2C driver for DimmerLink on Tasmota. It works great on ESP32 — but Berry isn't available on ESP8266, and many Tasmota users run 8266-based devices.
Today we're releasing the native C driver (xdrv_94_dimmerlink) that compiles directly into Tasmota firmware. It works on both ESP32 and ESP8266 with a minimal memory footprint.
Why a Native Driver?
The Berry driver is convenient — upload two files and you're done. But it has limitations:
- ESP32 only — Berry runtime doesn't exist on ESP8266
- Runtime overhead — Berry interpreter uses RAM and CPU cycles
- No boot-time integration — Berry loads after Tasmota's core init
The native driver solves all three. It's a standard Tasmota xdrv module (like any built-in sensor driver), compiled into the firmware binary. Detection happens at boot, commands are registered in Tasmota's command table, and the memory footprint is under 250 bytes for 4 devices.
What You Get
Everything the Berry driver offers, plus ESP8266 support:
- Web dashboard — brightness sliders per channel, sensor status display
- 7 Tasmota commands —
DlDim,DlCurve,DlFade,DlStatus,DlReset,DlRecalibrate,DlAddress - MQTT telemetry — brightness, AC frequency, fade, temperature, thermal state
- HTTP API — all commands via
http://device-ip/cm?cmnd=... - Multi-device — up to 4 modules on same I2C bus, 4 channels each
- Three dimming curves — Linear, RMS, Logarithmic — switchable at runtime
- Temperature monitoring — thermal protection alerts (hardware dependent)
- Auto-detection — scans I2C bus at boot, no manual configuration needed
How to Install
The driver requires compiling Tasmota from source with PlatformIO:
- Clone the Tasmota repository
- Copy
xdrv_94_dimmerlink.inototasmota/tasmota_xdrv_driver/ - Add
#define USE_DIMMERLINKtouser_config_override.h - Build and flash
After flashing, configure I2C pins in Tasmota's web UI and restart. DimmerLink devices are detected automatically.
Full build instructions: Build & Flash guide
Berry vs Native — Which to Choose?
| Berry Driver | Native Driver | |
|---|---|---|
| Platform | ESP32 only | ESP32 + ESP8266 |
| Installation | Upload 2 files | Compile from source |
| Memory | Berry runtime + scripts | ~250 bytes for 4 devices |
| Presets | Built-in (night, low, etc.) | Via rules/scripts |
| Best for | Quick setup on ESP32 | ESP8266, production builds, minimal overhead |
Both drivers use the same I2C protocol and hardware. You can switch between them — just don't run both at the same time.
Documentation
- Native Driver Overview — features, requirements, quick start
- Build & Flash — PlatformIO setup, compilation, flashing
- Command Reference — all 7 commands with examples
- Web, MQTT & HTTP — dashboard, telemetry, API
- Advanced Features — curves, fade, temperature, migration
- Reference & Troubleshooting — error codes, register map, common issues
Download
xdrv_94_dimmerlink.ino— driver source (685 lines)- Full Tasmota integration — both drivers + docs
Feedback Welcome
We'd especially like to hear from ESP8266 users — this is the first release with 8266 support. If you test it, please share: - Which ESP8266 board you're using - Load type (LED dimmable, incandescent, halogen) - Any issues with detection or commands
Report issues on GitHub or reply in the Tasmota forum discussion.