logo elektroda
logo elektroda
X
logo elektroda

CB2S/WB2S cheap dev board made from NiceMCU_WB3S_V1 (replace WB3S with WB2S/etc)

p.kaczmarek2 2166 11

TL;DR

  • NiceMCU_WB3S_V1 became a cheap CB2S/WB2S dev board by replacing its BK7238 module with a Tuya WB2S or CB2S while keeping the board's GPIO markings correct.
  • The mod removes the BK7238 module with hot air, then solders Ethernet wires from each module pad to the matching board pad.
  • The board sells for as low as $1-2, and the example uses a BK7231M CB2S with the same pinout as BK7231N.
  • The finished board routes every CB2S pin, including RX2 and TX2, and the onboard LED still works through PWM0 and PWM4.
  • A separate CB2S/WB2S-to-CB3S/WB3S converter exists, but it skips RX2/TX2 and makes the board much taller.
Generated by the language model.
ADVERTISEMENT
📢 Listen (AI):
  • NiceMCU_WB3S_V1 board with mounted CB2S module and connected wires.
    NiceMCU_WB3S_V1 is a very cheap (possible to buy for as low as 1-2$) Beken development board. It comes with BK7238 chip, but with some soldering it's also possible to very easily swap the BK7238 module with any classic Tuya WB2S or CB2S and still get correct GPIO markings. Here I will show you how I've done it.

    The basic idea is to just get WB2S/CB2S, get some Ethernet wires and just solder the pads to their correct places, so the GPIO names on the board are correct.

    So first, you obviously need NiceMCU_WB3S_V1 board, which has been already discussed here:
    NiceMCU XH-WB3S BK7238 Flashing, Testing, Pinout, Development, Porting
    You can get it for as low as about 1$ when you create new account:
    NiceMCU WB3S development board with BK7238 Bluetooth module, displayed on an online store page.
    Then you need to do a hot air BK7238 module removal, just like in my previous dev board hack (NodeMCU):


    By the way, here is pinout of BK7238 module:
    Comparison of pinouts for TUYA CB3S (BK7231N) and XH-WB3S_V2.0 (BK7238).
    Here is the other side view:
    Three different electronic modules lying on a wooden table, including NiceMCU_WB3S_V1 with visible pin labels.
    Ok, with this information, we can just mark which pin goes where:
    NiceMCU_WB3S_V1 board with replaced CB2S module
    In this particular case, I've used BK7231M (not N) CB2S, but it does not matter, pins are the same.
    I'm using such wires:
    Several colored Ethernet wires on a workbench.
    Soldering should be very easy. Just follow the simple guidelines:
    - always keep soldering iron tip clean
    - use flux and Pb soldering iron (as it has lower melting point)
    - first apply solder separately to wire and to the pad, then solder wire to the pad
    - make sure to strip insulation from wires first
    - avoid bending wires repeatedly or they may snap
    While soldering wires, make sure to check where they should go and chose the best wire orientation:
    NiceMCU_WB3S_V1 board with soldered Ethernet wires Development board with attached Ethernet wires in a holder.
    Placement time:
    NiceMCU_WB3S_V1 development board with soldered wires.
    Some little corrections:
    Close-up of NiceMCU_WB3S_V1 board with attached wires.
    Initial test with our flasher:



    Almost ready:
    Close-up of NiceMCU_WB3S_V1 board with attached CB2S module.
    Complete product:
    NiceMCU_WB3S_V1 board with mounted CB2S module and connected wires.

    Now all of CB2S pins (even RX2 and TX2, which are on module back) are routed to their correct places on the board. Futhermore, the onboard LED also works (PWM0 and PWM4 pins seems to control it).

    This way our new CB2S dev board is complete and it's better than NodeMCU hack because the markings on the board (like P9, P1, etc, TX, etc) are correct, so it's easier to quickly assembler a test setup with it. Now it's ready to be used for some OpenBeken development and testing.

    PS: There is also our CB2S/WB2S to CB3S/WB3S converter available, which we've shown here, but it does not route RX2/TX2 and the module is perpendicular to mother board, which increases it's height greatly...

    Cool? Ranking DIY
    Helpful post? Buy me a coffee.
    About Author
    p.kaczmarek2
    Moderator Smart Home
    Offline 
    p.kaczmarek2 wrote 14386 posts with rating 12304, helped 650 times. Been with us since 2014 year.
  • ADVERTISEMENT
  • #2 21366157
    rufus4
    Level 11  
    Nice mod! That's quite useful for quick tests and experiments.
    Are these Beken boards and chips only sold directly to companies assembling it to electronic goods for the final market?
    I do really wonder to not find chips and boards from Beken on aliexpress. Actually I would like to buy some CB2S boards. They are more efficient on energy consumption than Espressiv processors.
  • ADVERTISEMENT
  • #3 21366615
    p.kaczmarek2
    Moderator Smart Home
    We've tried ordering those Tuya modules once, can you guess what firmware they had on them when their arrived?
    Here is our experience:
    Our experience with buying "brand new" Tuya modules like CB2S, CB3S, WB2S (BK7231T, BK7231
    How more efficient are they, how did you test it? It's interesting.

    PS: searching for Tuya CBU:
    Screenshot of search results for tuya cbu on a shopping website, displaying various Tuya CBU modules and development boards.
    Helpful post? Buy me a coffee.
  • ADVERTISEMENT
  • #4 21366887
    rufus4
    Level 11  
    I have LoraTap chines curtain switches with additional RF board. The old ones came with TYWE2S/ESP8285, new ones with CB2S/BK7231N.
    They are identical, only the board with the microprocessor changed.
    Both got the "same" ESPHome FW with the same scripts flashed and I mesured the AC power from the hole unit with a good clamp meter giving reliable results.
    (note: one is pure ESPHome and the other is with LibreTiny-ESPHome)

    CB2S/BK7231N
    6,5mA = 1,5W WiFi on
    5,7mA = 1,3W WiFi off

    TYWE2S/ESP8285
    8mA = 1,85W WiFi on +23%
    6,4mA = 1,47W WiFi off +12%

    ESP8285 has got high power spikes, so I did try to get the average. I could mesure more then 10mA with "WiFi on", with "WiFi off" its much more constant.
    BK7231N's power consumption is more constant. Conspicuous that it uses much (at min. 23%) less power with WiFi on in comparison to the ESP8285.

    Spoiler:

    
    esphome:
      name: cb2s-2
      friendly_name: cb2s 2
    
    # turn wifi off, set (api: --> reboot_timeout: 0s) to prevent bootloop  (!!!not working on CB2S!!!)
      on_boot:
         then:
           - delay: 300s
           - wifi.disable:
    
    bk72xx:
      board: cb2s
    #  restore_from_flash: false (!!!not working on CB2S!!!)
    
    # Enable logging
    logger:
    
    # Enable Home Assistant API
    api:
      #turn wifi off, set (api: --> reboot_timeout: 0s) to prevent bootloop
      reboot_timeout: 0s
    
      encryption:
        key: "xxx"
    
    ota:
      - platform: esphome
        password: "xxx"
      
    wifi:
      #wifi powersafe mode: NONE,LIGHT,HIGH
      power_save_mode: HIGH
    #  fast_connect: true  
    

    ...
    
    esphome:
      name: "TYWE2S"
      friendly_name: "TYWE2S"
    
      #turn wifi off, set (api: --> reboot_timeout: 0s) to prevent bootloop
      on_boot:
         then:
           - delay: 300s
           - wifi.disable:
       
    #external_components:
    #  - source: github://ssieb/esphome@wifioff
    #    components: [ wifi ]
    #    refresh: 1min
     
    
      #esp8266 1MB flash
    esp8266:
      board: esp8285
      restore_from_flash: false
    
    # Enable logging
    logger:
    
    # Enable Home Assistant API
    api:
      #turn wifi off, set (api: --> reboot_timeout: 0s) to prevent bootloop
      reboot_timeout: 0s
      
      encryption:
        key: "xxx"
    
    ota:
      password: "xxx"
      
    wifi:
      #wifi powersafe mode: NONE,LIGHT,HIGH
      power_save_mode: HIGH
    #  fast_connect: true  
    
  • #5 21366936
    p.kaczmarek2
    Moderator Smart Home
    It's very interesting result, I may move it to separate topic soon so we don't do offtopic in the dev board thread. I'm just wondering, does this 23% change really makes a difference in the energy cost? Is it worth to do ESP to BK swap if you have to pay for BK modules?
    Helpful post? Buy me a coffee.
  • #6 21367265
    rufus4
    Level 11  
    Yes, sure it's better if you move it somewhere else. It is off-topic, but for me it is a very interesting point.

    It's not basically the question about saving energy or money, it's about saving the lifetime of the (in general) under-designed power stages in cheap IOT devices.
    Especially in this case with the ESP8285 at 2W power consumption, the power transistor gets too hot. The plastic casing is colored brown at this position. With the original FW it consumes less and that is what it is designed for.
    Let's say with 1.5W the IOT device has a calculated lifetime of about 2-3 years. With 2W it would survive maybe only 6-9 months.
    I was measuring the temperature of the transistor, but don't have these results anymore (perhaps I could measure it again). I do remember that it makes a real difference.
  • #7 21402375
    divadiow
    Level 38  
    going to do one too. Maybe CB3S. Fluxed, 63/37 pb solder to help lower melting point on each pad then air gun remove

    CB3S microcontroller board mounted in a service holder.Circuit board with a soldered electronic module and a holding clip.PCB with a micro USB port and marked components for soldering.
  • #8 21402379
    p.kaczmarek2
    Moderator Smart Home
    Keep in mind that CB3S pinout is not exactly the same a BK7238 WB3S version (which is also not the same as BK7231 WB3S), so you might need to cross out some IO markings or just remember they may be misleading.
    Helpful post? Buy me a coffee.
  • ADVERTISEMENT
  • #10 21424954
    divadiow
    Level 38  
    visual mapping aid if using the NiceMCU for CB3S or WB3S
    Diagram showing pin mapping of NiceMCU, CB3S, and WB3S modules.

    Added after 55 [minutes]:

    Uascent uHome CB3S now in place

    Microcontroller board with a CB3S module on top, electronic components on a white background.
  • #11 21425089
    p.kaczmarek2
    Moderator Smart Home
    I've been wondering, would be it possible to just print new silkscreen on some sticky paper with classic printer and glue it over the board?
    Helpful post? Buy me a coffee.
  • #12 21425184
    divadiow
    Level 38  
    hmm. was thinking maybe just guillotine Brother tape labels in half down to 5-6mm width. bit fiddly

    Brother label printer and tape cassette with white laminated tape.
📢 Listen (AI):

Topic summary

✨ The discussion revolves around modifying the NiceMCU_WB3S_V1 development board, which features the BK7238 chip, to utilize the more efficient Tuya modules CB2S and WB2S. Users share insights on the process of soldering Ethernet wires to ensure correct GPIO markings when swapping the modules. The conversation highlights the energy efficiency of CB2S compared to the ESP8285, with measurements indicating a significant reduction in power consumption. Participants also discuss the challenges of sourcing Beken boards and the potential for using printed labels for GPIO markings on modified boards.
Generated by the language model.

FAQ

TL;DR: For makers needing a $1–2 Beken dev board, this mod turns NiceMCU_WB3S_V1 into a CB2S/WB2S tester with correct GPIO labels; as the author says, it is "complete" and routes even RX2/TX2 for easier OpenBeken work. [#21364324]

Why it matters: It gives you a cheaper, lower-profile, better-labeled BK7231 test board than earlier adapter-style hacks.

Option Cost / form GPIO label accuracy RX2/TX2 access Height / layout
NiceMCU_WB3S_V1 → CB2S/WB2S mod About $1–2 board + wires Correct for CB2S/WB2S Yes Low, native board layout
Earlier NodeMCU hack Rework-based Not as convenient Not stated as complete Less convenient labeling
CB2S/WB2S → CB3S/WB3S converter Separate converter board Not the main advantage No Module sits perpendicular, much taller

Key insight: The main value is not just cost. This rework preserves practical pin access and board markings, so fast flashing, probing, and OpenBeken testing become much easier.

Quick Facts

  • NiceMCU_WB3S_V1 was described as a very cheap BK7238 development board, available for about $1–2 when bought aggressively, making it attractive for sacrificial rework. [#21364324]
  • The finished CB2S mod routes all CB2S pins, including RX2 and TX2 from the module back side, to matching board positions. [#21364324]
  • Measured whole-device power on a curtain switch was 1.5 W vs 1.85 W with Wi‑Fi on, and 1.3 W vs 1.47 W with Wi‑Fi off, for CB2S/BK7231N vs TYWE2S/ESP8285. [#21366887]
  • CB3S is an edge case: its pinout does not exactly match BK7238 WB3S, and also differs from BK7231 WB3S, so silkscreen labels can become misleading after the swap. [#21402379]
  • The converter alternative is less complete because it does not route RX2/TX2 and mounts the module perpendicular to the motherboard, increasing overall height. [#21364324]

How do I convert a NiceMCU_WB3S_V1 board into a CB2S or WB2S development board while keeping the GPIO markings correct?

You remove the original BK7238 module and hand-wire a CB2S or WB2S onto the matching NiceMCU pads so the printed GPIO names still match the replacement module. 1. Hot-air remove the WB3S/BK7238 module. 2. Map each CB2S/WB2S pad to the correct NiceMCU pad. 3. Solder short wires between them and verify the routing before flashing. The author used Ethernet wire strands and showed that the finished board keeps correct labels such as P9, P1, and TX. [#21364324]

What is the NiceMCU_WB3S_V1 board, and why is it useful as a cheap Beken development platform?

NiceMCU_WB3S_V1 is a low-cost development board built around a BK7238-based WB3S module, and it is useful because the base board can cost about $1–2. That makes it cheap enough to modify, test, and even sacrifice for rework experiments. Its real advantage is the breakout format: after the swap, you get labeled access to GPIOs on a compact board suited to OpenBeken development and quick bench testing. [#21364324]

What is the difference between CB2S, WB2S, WB3S, and CB3S modules in this kind of mod?

CB2S and WB2S are the easiest replacements here because their pins can be wired so the NiceMCU board markings stay correct. WB3S is the original module family on the board, but the board in this thread used a BK7238 version. CB3S is the tricky option because its pinout does not exactly match BK7238 WB3S, and it also differs from BK7231 WB3S, so some printed labels become wrong or need relabeling. [#21402379]

Which pads on the NiceMCU_WB3S_V1 need to be rewired when replacing the BK7238 module with a CB2S or WB2S?

The pads that need rewiring are the module pads whose BK7238 WB3S positions do not directly match the CB2S or WB2S footprint, including the rear-side UART lines. The practical method is to use the author’s visual pin mapping and connect each CB2S/WB2S pad to the corresponding NiceMCU pad one by one. In the demonstrated build, even back-side RX2 and TX2 were remapped so every exposed board label stayed usable. [#21364324]

What's the best way to remove the original BK7238/WB3S module with hot air without damaging the board?

The safest method shown was to pre-tin the pads with leaded solder and use flux before applying hot air. One later builder explicitly used flux plus 63/37 Pb solder on each pad to lower the effective melting point before lifting the module. That reduces dwell time under heat and makes pad damage less likely. After removal, clean and inspect the board before wiring the replacement module. [#21402375]

Which soldering tips and materials make this CB2S/WB2S swap easier, such as flux, 63/37 Pb solder, and Ethernet wires?

Flux, leaded solder, and thin solid-core wire make this swap much easier. The thread recommends keeping the iron tip clean, using flux, using Pb solder because it melts lower, tinning both the wire and pad separately, stripping insulation first, and avoiding repeated wire bending. The author used Ethernet wires, while a later builder highlighted 63/37 Pb solder specifically for easier module removal. These choices reduce bridging and pad lifting on small module pads. [#21364324]

How do I route RX2 and TX2 correctly when adapting a CB2S onto the NiceMCU_WB3S_V1 board?

You must route RX2 and TX2 from the CB2S back-side pads to their matching breakout positions on the NiceMCU board during the wire-mapping step. The finished mod in the thread explicitly states that even RX2 and TX2, which are on the module back, were brought out to the correct places. That is one reason this build is called complete. It preserves access to the secondary UART instead of losing it inside the adapter. [#21364324]

Why does this NiceMCU CB2S/WB2S mod have more complete pin access than the earlier NodeMCU hack or the CB2S/WB2S to CB3S/WB3S converter?

It has more complete access because it routes all CB2S pins onto a labeled dev board, including RX2 and TX2. The author says this version is better than the NodeMCU hack because the board markings are correct, which speeds up test wiring. It also beats the converter board because that converter does not route RX2/TX2 and mounts the module perpendicular to the motherboard, increasing height. “Complete” is the key word used in the thread. [#21364324]

How do I test the finished CB2S mod with BK7231GUIFlashTool after soldering the module in place?

You test it by connecting the finished board to the flashing setup and doing an initial communication check with BK7231GUIFlashTool. The thread shows an “Initial test with our flasher” immediately after wiring and placement, followed by the completed working board. "BK7231GUIFlashTool is a flashing utility that communicates with BK7231-based modules, verifies serial access, and helps load firmware during bench testing." In this workflow, successful tool communication confirms the rewire is correct enough for firmware work. [#21364324]

BK7231N/CB2S vs ESP8285/TYWE2S: which one uses less power in a real IoT device running ESPHome or LibreTiny-ESPHome?

BK7231N on CB2S used less power in the reported real-device test. Measured at the whole curtain-switch unit, CB2S/BK7231N drew 6.5 mA and 1.5 W with Wi‑Fi on, versus 8 mA and 1.85 W for TYWE2S/ESP8285. With Wi‑Fi off, CB2S measured 5.7 mA and 1.3 W, versus 6.4 mA and 1.47 W for ESP8285. The poster summarized the Wi‑Fi-on difference as at least 23% lower power for BK7231N. [#21366887]

Why might lower power consumption on a CB2S/BK7231N matter for device lifetime even if the electricity cost savings are small?

Lower power can reduce heat stress in weak power stages, which may matter more than the energy bill. In the thread, the curtain-switch owner reported that the ESP8285 version at about 2 W made a power transistor run hot enough to brown the plastic case. He estimated that a device lasting 2–3 years around 1.5 W might survive only 6–9 months around 2 W. That makes the BK7231N swap relevant for reliability, not just efficiency. [#21367265]

Where can I actually buy Beken or Tuya modules like CB2S, WB2S, and CBU, and are they mainly sold to manufacturers?

The thread does not confirm an official retail channel, but it shows these modules do appear on marketplaces if you search Tuya terms such as CBU. One poster said he could not easily find Beken chips or boards on AliExpress and wondered if they were mainly sold to manufacturers. The reply included a screenshot of marketplace search results for “Tuya CBU,” which suggests hobbyist sourcing is possible but inconsistent and search-term dependent. [#21366615]

What problems can happen when ordering supposedly brand-new Tuya modules like CB2S, CB3S, or WB2S from marketplaces?

A key risk is receiving modules with unexpected preloaded firmware instead of clean, factory-fresh stock. The thread references a separate buying experience about “brand new” Tuya modules such as CB2S, CB3S, and WB2S and asks readers to guess what firmware arrived on them. That warning matters because mystery firmware can complicate identification, flashing, and test repeatability. Marketplace listings may also be inconsistent about exact module type and condition. [#21366615]

How should I remap or relabel the silkscreen when using a CB3S on the NiceMCU_WB3S_V1, since the pinout does not exactly match BK7238 WB3S or BK7231 WB3S?

You should treat the printed labels as potentially wrong and add your own mapping aid. One builder made a visual mapping diagram for CB3S or WB3S use on the NiceMCU board, and the original author suggested printing a new silkscreen on sticky paper to glue over the board. Another idea was cutting Brother tape labels down to about 5–6 mm width. That is the safest approach because CB3S does not exactly match either BK7238 WB3S or BK7231 WB3S. [#21424954]

What are OpenBeken and LibreTiny-ESPHome, and how do they relate to flashing and testing BK7231-based modules like CB2S and WB2S?

They are firmware ecosystems used to run and test BK7231-family modules after hardware access is established. "OpenBeken is open-source firmware that targets Beken and related IoT chips, replacing vendor software for development, GPIO control, and device experimentation." The main mod was built specifically for OpenBeken development and testing. LibreTiny-ESPHome appears in the power-comparison post, where a CB2S/BK7231N device ran ESPHome through LibreTiny while being compared against an ESP8285 unit. [#21366887]
Generated by the language model.
ADVERTISEMENT