logo elektroda
logo elektroda
X
logo elektroda

[Youtube] How to make BK7231 development board - NodeMCU conversion - soldering guide, hot air, SMD

p.kaczmarek2  37 7530 Cool? (+6)
Listen:

TL;DR

  • A cheap NodeMCU ESP8266 board is converted into a BK7231 development board by transplanting a CB3S or WB3S Wi‑Fi module.
  • The process desolders the ESP12 with a hot air station, then solders the BK7231 module in its place using flux, leaded solder, solder wick, and PCB cleaner.
  • CB3S and WB3S are both covered, and CB3S has a slightly different pinout than WB3S.
  • The guide includes basic soldering tips, new pin mappings, and a working development-board demonstration.
AI summary based on the discussion. May contain errors.

Here's a step by step guide showing how to make a BK7231 development board (WB3S and CB3S versions) from a very cheap NodeMCU ESP8266 board, by doing a simple WiFi module transplant. First we desolder ESP12 module with a hot air station, and then we solder a CB3S (or WB3S) in it's place. Our guide includes some basic soldering tips, so even a beginner should be able to do the shown process.

We are aware that there is already some kind of BK7231 development board that can be bought online, but our solution is cheaper and more general. Futhermore, many people already might have a BK7231 module desoldered from IoT device (or may use this opportunity to do a WiFi module swap between NodeMCU and IoT device).

What is required for this project?
- CB3S or WB3S module (you can get that from IoT device, and solder the ESP from the NodeMCU in place)
- hot air station (cheapest one will be enough)
- basic soldering equipment and soldering iron will be also needed, so flux, leaded (Pb) solder, solder wick, PCB cleaner
- NodeMCU board (it can be bought very cheaply online, it's available in many shops)

Here's the guide:
[youtube]
https://www.youtube.com/watch?v=xGE-DVrm3BU
[/youtube]
In addition, we're including a new pin mappings for a BK7231 board created that way.
Warning: CB3S has slightly different pinout than WB3S, both pinout versions are included on the guide below:

Here is NodeMCU schematic:

Dev board in action:



Thank you for watching. Please consider giving us a like and/or subscribe.
You can also visit out BK7231 firmware page:
https://github.com/openshwprojects/OpenBK7231T_App
our BK7231 flash tool:
https://github.com/openshwprojects/BK7231GUIFlashTool
and our IoT devices teardowns list:
https://openbekeniot.github.io/webapp/devicesList.html

Have fun tinkering and stay free from the cloud!

About Author
p.kaczmarek2
p.kaczmarek2 wrote 14756 posts with rating 12881 , helped 659 times. Been with us since 2014 year.

Comments

Anonymous 22 Apr 2023 11:34

On ali you can buy an inexpensive board that has everything except the ESP system. It makes no sense to destroy NodeMCU. https://obrazki.elektroda.pl/4600075100_1682156051_bigthumb.jpg [Read more]

p.kaczmarek2 22 Apr 2023 12:17

Great idea! I was not aware that there is a relatively cheap board for this pad format and without a soldered module, although in retrospect it seems obvious. However, I would not be afraid of the "destruction"... [Read more]

DeDaMrAz 24 Apr 2023 13:16

Conversion is done and ready to test on a new driver :) https://obrazki.elektroda.pl/3771210400_1682334954_thumb.jpg [Read more]

p.kaczmarek2 24 Apr 2023 13:48

Good job with conversion. Which soldering station did you use? Btw, from a brief glance, it looks like the TM1638 on your photo may be very similar to gn6932 and also to TM1637. We'll see how it go... [Read more]

DeDaMrAz 25 Apr 2023 21:54

From 1.17.53 build, you can switch logging UART via the example below: // Enable "[UART] Enable UART command line" // this also can be done in flags, enable command line on UART1... [Read more]

p.kaczmarek2 25 Apr 2023 22:44

Yes, setting UART1 as log port (instead of UART2) will help on this board a lot, because UART1 has the CH340 hooked up (and is also used for programming), while, on the other hand, the default UART2 would... [Read more]

DeDaMrAz 25 Apr 2023 22:45

Worth pointing out default speed is 115200 for UART1. [Read more]

divadiow 20 Mar 2024 22:49

my work in progress https://obrazki.elektroda.pl/5351507900_1710970973_thumb.jpg I've butchered this device for its CB3S https://www.elektroda.com/rtvforum/viewtopic.php?p=20904497 I kind... [Read more]

p.kaczmarek2 20 Mar 2024 22:52

Heat gun is there a must have. Maybe you could try to use a high power soldering iron and form a U shape with a thick wire that will heat all pads at once but I am not sure if it will have enough heating... [Read more]

divadiow 21 Mar 2024 07:16

Very interesting idea! Or I have two soldering irons, one is old and in my recycling bag, but it could be brought back to life for some double-iron multi sided action. Added after 8 [hours] 11 [minutes]:... [Read more]

divadiow 26 Mar 2024 07:24

It didn't go too badly. Fairly smooth until the very end. The bent soldering iron to cover two corners wasn't a success - the original tip was too fat and the bend too curved to be effective. Nails and... [Read more]

divadiow 30 Mar 2024 07:33

decent outcome. all of the normal/standard GPIOs work fine. assume a couple are default pull-high because the LEDs come on as soon as the board is powered. one LED is duller than the rest - S3/P20/SCK... [Read more]

p.kaczmarek2 30 Mar 2024 09:08

That's an interesting finding. I'd first double check, maybe there is an extra resistor on the board or something. Also I'd just swap in place two of the LEDs just to be sure it's not a faulty LED. You... [Read more]

divadiow 17 Apr 2024 09:02

yes. these are cool https://obrazki.elektroda.pl/9185680000_1713337370_thumb.jpg [Read more]

p.kaczmarek2 17 Apr 2024 09:04

So, do they work good for BK7231? How do you do power cycle there - CEN? [Read more]

divadiow 17 Apr 2024 09:28

i've not got a BK module loose to try, but it has a reset button (bottom right in my pic) the same as other dev boards. I have started flash dump in Easy Flasher using this button. I've only tested RX/TX... [Read more]

divadiow 29 Apr 2024 22:42

can someone please check continuity from P20 on the CB3S to S3 on the nodeMCU if they've done the transplant. mine maps to SK pin not S3 as shown on the diagram in first post https://obrazki.elektroda.pl/3106518700_1714423248_thumb.jpg... [Read more]

DeDaMrAz 29 Apr 2024 22:51

@divadiow S3 -> P21 SC -> P23 SK -> P20 [Read more]

divadiow 29 Apr 2024 22:53

thanks! grr wish I'd double-checked diagram was correct ages ago. [Read more]

FAQ

TL;DR: In 3 main steps, a cheap NodeMCU ESP8266 can become a BK7231 dev board; the expert warning is "no need to desolder with hot air" if you choose a blank ESP-12 adapter instead. This FAQ helps OpenBeken users build, wire, flash, and debug CB3S/WB3S boards. [#20550797] Why it matters: This conversion gives BK7231 tinkerers a USB-TTL-equipped development board while reusing common ESP8266 hardware.

Option Best use Main advantage Main drawback
NodeMCU ESP8266 transplant Reusing a spare NodeMCU CH340 USB-TTL, reset button, 3.3 V rail Requires ESP-12 removal
Blank ESP-12 adapter board New BK7231 dev build No ESP desoldering needed Some bottom pads may not route anywhere
Universal ESP module board Testing many module footprints Supports CB3S, WB3S, ESP-12, ESP32-C3, HLK-B30 and more CEN/reset handling may need extra attention

Key insight: The transplant works, but pin mapping matters more than the soldering once the module boots. Always verify continuity before trusting a diagram, especially around S3, SC, SK, P20, P21, and P23.

Quick Facts

  • Required parts are a CB3S or WB3S module, a NodeMCU board, hot air, flux, Pb solder, solder wick, PCB cleaner, and a soldering iron. [#20549683]
  • OpenBeken build 1.17.53 can move logging to UART1 using SetFlag 31 1 and logPort 1. [#20555441]
  • UART1 on this converted board uses RXD1/TXD1, programming pins, CH340 USB-TTL, and a default speed of 115200 baud. [#20555516]
  • Confirmed CB3S mappings include S3 → P21, SC → P23, and SK → P20 after continuity checks. [#21065051]
  • A universal ESP adapter was reported to support over 25 module names, including BT3L, CB3S, WB3S, ESP-12, HLK-B30, and ESP32-C3. [#21048408]

How do you convert a cheap NodeMCU ESP8266 board into a BK7231 development board using a CB3S or WB3S module?

Remove the ESP-12 module and solder a CB3S or WB3S module in its place.
  1. Heat and desolder the ESP-12 from the NodeMCU.
  2. Clean pads with flux, Pb solder, wick, and PCB cleaner.
  3. Align the CB3S or WB3S, tack one corner, then solder all pads.
The original guide shows both CB3S and WB3S versions, plus a working board after conversion. [#20549683]

What tools and soldering supplies are needed to transplant a BK7231 CB3S or WB3S module onto a NodeMCU board?

You need a CB3S or WB3S module, NodeMCU board, hot air station, soldering iron, flux, Pb solder, solder wick, and PCB cleaner. The thread says even the cheapest hot air station is enough for the job. The module can come from a Tuya-style IoT device, while the removed ESP can go back into that donor device. [#20549683]

What is the difference between CB3S and WB3S pinouts when converting a NodeMCU board to BK7231?

CB3S and WB3S use slightly different pinouts, so you must use the correct mapping image before soldering. The first post explicitly warns that CB3S has a different pinout than WB3S. Later continuity checks corrected specific CB3S NodeMCU labels, including S3, SC, SK, P20, P21, and P23. [#20549683]

NodeMCU conversion vs blank ESP-12 adapter board: which is better for making a BK7231 dev board?

Use NodeMCU when you want built-in CH340 USB-TTL and reset hardware; use a blank ESP-12 adapter when you want less desoldering. One participant noted that inexpensive boards exist with everything except the ESP module. The original author agreed their key benefit is "no need to desolder with hot air" from a NodeMCU. [#20550797]

How can you remove an ESP-12 module from a NodeMCU board without a hot air station?

You can remove it with soldering irons and extra Pb solder, but the thread treats this as a harder workaround. One successful method heated the short bottom edge with an old iron, then used long Pb solder across the other two sides. The failure risk is real: the module shot across the desk, and a 3.3 V trace was damaged during cleanup. [#21020097]

What soldering station or hot air station works well for desoldering ESP-12, CB3S, or WB3S modules?

A basic hot air station works; the guide says the cheapest one is enough. A later comment calls a heat gun a must-have for clean ESP-12 removal from NodeMCU. Without hot air, high-power soldering iron tricks may work, but they need enough heat capacity for three soldered module edges. [#21012728]

How do you fix a damaged 3.3V pad or trace after removing the ESP8266 module from a NodeMCU board?

Bridge the damaged 3.3 V path with a bodge wire after confirming lost continuity. One build lost continuity between the AMS1117 regulator and the module after pad cleanup. The board did not power the CB3S until a direct repair wire restored the 3.3 V connection. Always check continuity before final soldering. [#21020097]

How do you configure OpenBeken to use UART1 for logging on a converted BK7231 NodeMCU board?

Enable the UART command line and set UART1 as the log port. Use this OpenBeken script: SetFlag 31 1 logPort 1 This works from build 1.17.53. The thread notes UART1 uses RXD1/TXD1, which are also used for programming and TuyaMCU or BL0942 connections. [#20555441]

What is UART, and why does switching the OpenBeken log port from UART2 to UART1 help on a NodeMCU-based BK7231 board?

UART1 helps because the NodeMCU board already connects it to the CH340 USB-TTL chip. "UART is a serial communication interface that sends and receives data over TX and RX pins, commonly used for logs, command lines, firmware flashing, and module-to-host debugging at fixed baud rates." The default UART2 would need a separate USB-to-UART converter just for logs. [#20555512]

What is CEN on BK7231 modules, and how can it be used for reset or power-cycle behavior on ESP adapter boards?

CEN is the reset-enable control line used to restart BK modules on adapter boards. "CEN is a BK module control pin that resets or enables the chip, letting a button or ground connection restart the module without fully unplugging the USB-powered adapter." One adapter had a reset button, and another user considered adding a push button to ground CEN. [#21075406]

What is a ShiftRegister in OpenBeken, and how can it help drive more LEDs from a BK7231 board?

ShiftRegister lets OpenBeken drive more LEDs than the directly available GPIO pins. "ShiftRegister is an OpenBeken driver feature that expands digital outputs through an external serial register, allowing one BK7231 board to control multiple LEDs using fewer native GPIO pins." It was suggested after testing normal GPIO-driven LEDs on the converted board. [#21025386]

What are the correct CB3S-to-NodeMCU pin mappings for S3, SC, SK, P20, P21, and P23 after the transplant?

The verified mapping is S3 → P21, SC → P23, and SK → P20. This corrected an earlier diagram error. The mistake affected I2C testing because the user expected P20 to map to S3, but continuity showed P20 went to SK. P21 went to S3 instead. [#21065051]

Why might an I2C BMP280 or AHT20 sensor be detected but not work correctly on a converted BK7231 NodeMCU board?

Wrong pin mapping can make I2C appear partly alive while the sensor still fails. The thread found an I2C device at address 0x77, but later discovered the NodeMCU diagram mixed S3 and SK-related mappings. The affected test involved BMP280/AHT20 modules and OpenBeken I2C pins. [#21065038]

What are Arduino shields, and why would converting a WEMOS W1F1 D1 ESP8266 board to BK7231 be useful for testing them?

Arduino shields are plug-in add-on boards for the Arduino-style header layout. "Arduino shields are expansion boards that stack onto compatible development boards, adding hardware such as displays, relays, sensors, or interfaces through predefined header positions." A converted WEMOS W1F1 D1 could let BK7231 firmware test those shield-style peripherals. [#21361714]

How could OpenBeken display NodeMCU-style pin names alongside classic BK7231 GPIO names to avoid wiring mistakes?

OpenBeken could load a board map and show NodeMCU labels beside BK GPIO names in the pins UI. The thread proposed a boards.json approach, mouse-hover highlighting, and integration with the pins chooser and GPIO doctor. The goal was to reduce daily lookup errors between NodeMCU labels and classic BK7231 names. [#21362780]
AI summary based on the discussion. May contain errors.
%}