[boards] Add Tuya WL2H-U (LN882H)#372
Conversation
Add board definition for the Tuya WL2H-U Wi-Fi/BLE module based on the Lightning LN882HK chip. - boards/wl2h-u.json: board definition (vendor: Tuya, FCC ID: 2ANDL-WL2H-U) - boards/_base/pcb/wl2h-u.json: physical pinout based on official Tuya datasheet - boards/variants/wl2h-u.c/.h: Arduino pin map (19 GPIOs; PA8 not exposed) Pinout verified against the official Tuya WL2H-U Module Datasheet. Module size: 15.8 x 20.3 mm, CPU: ARM Cortex-M4F @ 160 MHz, Flash: 2 MB.
|
While testing this module, I found that the device actually uses an LN-CB3S V1.0 — a custom board in the same form factor as the Tuya CB3S (16×24mm, 22 pads), carrying a WL2H-U-2 chip (LN882H). It is not the standard Tuya WL2H-U module (15.8×20.3mm, 21 pads). The LN-CB3S has a different pad assignment from WL2H-U — critically, VCC is at pad 8 and GND at pad 9, matching the CB3S layout exactly (unlike WL2H-U which has GND at pad 13 / VCC at pad 14). This was verified from a community schematic (elektroda.com topic4162022). Hardware confirmed on the physical device (DS-101JL / BSEED WiFi Touch Light Switch 2 Gang):
Pin assignments in use:
I also have a DS-101JL 3-gang variant (BSEED WiFi Touch Light Switch 3 Gang) which uses the same LN-CB3S V1.0 module, but with a WL2H-U-3 chip. I will update this comment with the additional GPIO assignments once I finish reverse engineering it. This suggests it needs its own board definition with a CB3S-compatible PCB template. A few questions:
|
|


Summary
Add board definition for the Tuya WL2H-U Wi-Fi/BLE module based on the Lightning LN882HK chip.
Files added
boards/wl2h-u.json— board definitionboards/_base/pcb/wl2h-u.json— physical pinout (21 pads + test point TA9)boards/variants/wl2h-u.c/.h— Arduino pin mapHardware specs
Pinout
Physical pinout verified against the official Tuya WL2H-U datasheet.
The module exposes 19 GPIOs (PA0–PA7, PA9–PA12, PB3–PB9). PA8 is not physically exposed.
Variant files were hand-generated from
generic-ln882hkiwith PA8 removed — please regenerate with boardgen if needed.Notes
25 + ((raw & 0xFFF) - 770) / 2.54(empirically derived, community validation welcome)