Skip to content

BW12

by Ai-Thinker Co., Ltd.

Product page

Parameter Value
Board code bw12
MCU RTL8710BX
Manufacturer Realtek
Series AmebaZ
Frequency 62.5 MHz
Flash size 2 MiB
RAM size 256 KiB
Voltage 3.0V - 3.6V
I/O 11x GPIO, 6x PWM, 2x UART, 1x ADC
Wi-Fi 802.11 b/g/n
FCC ID 2ARI3-BW1X

Usage

Board code: bw12

In platformio.ini:

[env:bw12]
platform = libretuya
board = bw12
framework = arduino

In ESPHome YAML:

libretuya:
  board: bw12
  framework:
    version: dev

Pinout

Pinout

Arduino Core pin mapping

No. Pin UART I²C SPI PWM Other
D0 PA05 PWM4
D1 PA29 UART2_RX I2C0_SCL PWM4
D2 PA00 PWM2
D3 PA19 UART0_CTS I2C0_SDA SPI0_CS, SPI1_CS
D4 PA22 UART0_RTS I2C0_SCL SPI0_MISO, SPI1_MISO PWM5
D5 PA30 UART2_TX I2C0_SDA PWM4
D6 PA14 PWM0 SWCLK
D7 PA12 PWM3
D8 PA15 PWM1 SWDIO
D9 PA18 UART0_RX I2C1_SCL SPI0_SCK, SPI1_SCK
D10 PA23 UART0_TX I2C1_SDA SPI0_MOSI, SPI1_MOSI PWM0
A0 PA19, ADC1

Flash memory map

Flash size: 2 MiB / 2,097,152 B / 0x200000

Hex values are in bytes.

Name Start Length End
Boot XIP 0x000000 16 KiB / 0x4000 0x004000
Boot RAM 0x004000 16 KiB / 0x4000 0x008000
(reserved) 0x008000 4 KiB / 0x1000 0x009000
System Data 0x009000 4 KiB / 0x1000 0x00A000
Calibration 0x00A000 4 KiB / 0x1000 0x00B000
OTA1 Image 0x00B000 468 KiB / 0x75000 0x080000
OTA2 Image 0x080000 468 KiB / 0x75000 0x0F5000
Key-Value Store 0x0F5000 24 KiB / 0x6000 0x0FB000
User Data 0x0FB000 1 MiB / 0x104000 0x1FF000
RDP 0x1FF000 4 KiB / 0x1000 0x200000

RDP is most likely not used in Tuya firmwares, as the System Data partition contains an incorrect offset 0xFF000 for RDP, which is in the middle of OTA2 image.

Additionally, Tuya firmware uses an encrypted KV or file storage, which resides at the end of flash memory. This seems to overlap system RDP area.