Huidu HD-WF4 LED controller card with ESP32-S3
I just got my Huidu HD-WF4 controller card and four 64x32 P4 fullcolor LED displays and realized that version v7.0.1-1 I have is powered by an ESP32-S3! To there might be an option to get CircuitPython installed on it in the future. This repository is intended to collect my findings.
In one of the issues posted in his repository we find some pictures and a pin config (reverse engineered by hn in early 2023).
#define WF2_X1_R1_PIN 2
#define WF2_X1_R2_PIN 3
#define WF2_X1_G1_PIN 6
#define WF2_X1_G2_PIN 7
#define WF2_X1_B1_PIN 10
#define WF2_X1_B2_PIN 11
#define WF2_X1_E_PIN 21
#define WF2_X2_R1_PIN 4
#define WF2_X2_R2_PIN 5
#define WF2_X2_G1_PIN 8
#define WF2_X2_G2_PIN 9
#define WF2_X2_B1_PIN 12
#define WF2_X2_B2_PIN 13
#define WF2_X2_E_PIN -1 // Currently unknown, so X2 port will not work (yet) with 1/32 scan panels
#define WF2_A_PIN 39
#define WF2_B_PIN 38
#define WF2_C_PIN 37
#define WF2_D_PIN 36
#define WF2_OE_PIN 35
#define WF2_CLK_PIN 34
#define WF2_LAT_PIN 33
#define WF2_BUTTON_TEST 17 // Test key button on PCB, 1=normal, 0=pressed
#define WF2_LED_RUN_PIN 40 // Status LED on PCB
#define WF2_BM8563_I2C_SDA 41 // RTC BM8563 I2C port
#define WF2_BM8563_I2C_SCL 42
#define WF2_USB_DM_PIN 19
#define WF2_USB_DP_PIN 20
#define PANEL_RES_X 64 // Number of pixels wide of each INDIVIDUAL panel module.
#define PANEL_RES_Y 32 // Number of pixels tall of each INDIVIDUAL panel module.
#define PANEL_CHAIN 2 // Total number of panels chained one to another
HUB75_I2S_CFG::i2s_pins _pins_x1 = {WF2_X1_R1_PIN, WF2_X1_G1_PIN, WF2_X1_B1_PIN, WF2_X1_R2_PIN, WF2_X1_G2_PIN, WF2_X1_B2_PIN, WF2_A_PIN, WF2_B_PIN, WF2_C_PIN, WF2_D_PIN, WF2_X1_E_PIN, WF2_LAT_PIN, WF2_OE_PIN, WF2_CLK_PIN};
HUB75_I2S_CFG::i2s_pins _pins_x2 = {WF2_X2_R1_PIN, WF2_X2_G1_PIN, WF2_X2_B1_PIN, WF2_X2_R2_PIN, WF2_X2_G2_PIN, WF2_X2_B2_PIN, WF2_A_PIN, WF2_B_PIN, WF2_C_PIN, WF2_D_PIN, WF2_X2_E_PIN, WF2_LAT_PIN, WF2_OE_PIN, WF2_CLK_PIN};
HUB75_I2S_CFG mxconfig(
PANEL_RES_X, // module width
PANEL_RES_Y, // module height
PANEL_CHAIN, // Chain length
_pins_x1 // pin mapping for port X1
);
The HD-WF2 looks similar to my HD-WF4 except the 4 connectors instead of 2.
TBD
TBD
TBD
TBD
The company has an official product page: https://www.huidu.cn/product_132.html
The official link for specification is still for the older v6.0.1 which used a different CPU. Here is the link
- CPU ESP32-S3 datasheet
- six 74HC573 octal transparent D-type latches (probably only used as level-shifters) datasheet
- cFeon QH64A-104HIP X217E01 2322HSA a 64 MBit (8,192 kByte) flash chip datasheet - connected as Quad SPI?
- BM8563 2333CD CMOS real time clock/calendar over i2c datasheet
Using an USB-C to USB-A cable does not power the board, so I probably need a USB-A to USB-A cable (outside of specifications) to upload any firmware. The USB-port should be directly connected to the ESP32-S3 since it supports USB natively.