Saltar al contenido
Kira

Ingeniería inversa · Hardware · Firmware

Flasher automático para módulos BK7231N

Una herramienta con Python y un Arduino Mega que automatiza el flasheo de firmware libre (OpenBeken) en módulos WiFi BK7231N, controlando su alimentación con un transistor.

Año
2026
Estado
Herramienta de taller
Rol
Diseño de hardware y software
Repositorio
Repositorio en preparación

01 · Problema

Para flashear firmware libre a un BK7231N hay que reiniciarlo justo cuando la herramienta lo pide. El módulo de la placa no expone el pin de habilitación (CEN), así que hacerlo a mano —desconectando cables en el momento exacto— es poco confiable.

02 · Enfoque

Un Arduino Mega corta la tierra del módulo con un transistor NPN para reiniciarlo bajo comando. Puede trabajar junto a un adaptador CH341A en 3.3 V o hacer él mismo de puente serial, con un divisor de tensión en TX. Un script en Python orquesta todo con ltchiptool.

03 · Resultado

Dos modos de trabajo (dos puertos, o el Arduino como puente), comandos de encendido, apagado y reinicio para modo descarga, lectura de la flash a un archivo para respaldo y una interfaz de consola con progreso por fases.

04 · Stack

  • Python
  • pyserial
  • ltchiptool
  • Arduino Mega 2560
  • CH341A
  • OpenBeken

El truco: reiniciar cortando la tierra

Arduino pin 7 ──[1 kΩ]──► base del NPN (2N2222 / BC547)
colector → GND del módulo BK7231N
emisor → GND del Arduino
pin 7 HIGH → el módulo tiene tierra → encendido
pin 7 LOW → sin tierra → apagado

El Arduino escucha comandos simples por el puerto serie (POWERON, POWEROFF, DOWNLOAD, RESET, BRIDGE) y, en modo puente, pasa los datos de forma transparente entre la PC y el módulo.

Cuidados que no se negocian

  • 3.3 V siempre. El módulo no tolera 5 V: el TX del Arduino pasa por un divisor de 1 kΩ y 2 kΩ, y el CH341A debe estar en su posición de 3.3 V.
  • No tocar el bus SPI de la flash interna ni su alimentación: solo se usan VBAT, GND, RX y TX de la placa.
  • Respaldo primero. El script puede leer la flash completa a un archivo antes de escribir nada.

Cuando el chip ya no tiene remedio, la otra salida es reemplazarlo: así nació el smart switch con ESP32-C3.