Skip to content

SP108E HardwareAnalysis

So far I analyzed it is equipped with these chips:

  • ESP-12F
  • STM32F-030C8T (Cortex M0)
  • Winbond 25Q32 (EEPROM)
  • 74HC245
  • XL1509 3.3E1 (Step down regulator)
  • RX/TX of STM is connected to ESP.
  • 74HC245 buffers the outputs

ESP is connected to the STM RX/TX pins. No other connections seen. We can assume there is some firmware in the STM that does the low level connection to the LEDs.

Question is how does the ESP communicate with the STM and what exactly does the STM at all. But we can mod the hardware so the ESP can talk to the LEDs.

I made some pictures with phone and microscope.

PCB

sp108e-board

Open the housing, see the red marks for the holders)

sp108e-openhousing

RX/TX connection ESP to STM

sp108e-rxtx-

STM32F0

sp108e-stm32

EEPROM

sp108e-eeprom

Pins lead to the STM32F0 (Firmware flash? Debug?)

st108e-stm-32-externalconnections

ESP-12 and its pins

sp108e-esp-1

sp108e-esp-2

Buffer chip 74HC245

p108e-hc245

Traces on bottom side from STM to HC245 (actually R3 and R4)

sp108e-traces-to-hc245

Known differences to the 2nd gen

The following picture shows the pcb of the 2nd generation of the SP108E.

hardware 2nd gen

The ESP12F was replaced to a proprietary ESP8285 pcb. Fortunately the pinout is printed on the back of the pcb so we can use it to connect the cables for flashing. As the pcb were already soldered out for taking the following picture it was flashed in this unmounted state. It should work as well while the ESP is soldered. Pay attention to the information below.

esp8285 sp108e 2nd gen

The STM32F0 was replaced through a Geehy APM32F030C8T6 ARM-Cortex M0 microcontroller. At least the reset pin is at the same place. So the hardware modification of the first gen can also be applied.

For the hardware mod to make it working without the STM32F0/Geehy, there are several ways:

1. Cut traces and add wires~

We need to break one of the traces on the bottom of the PCB. Then connect GPIO4 of ESP-12 with R4. Also RX/TX connection between STM32F0 and ESP-12 need to be broken up.

2. Hold STM32F0 in reset~

This is the simpler method, no cuts on the PCB required, just two additional wires. - NRST of STM32F0 to GND - IO4 of ESP-12 to R4

See here for details.

Flashing prohibited (not anymore with a cut in the PCB)~

Major problem is that IO0 is directly connected to VCC, so we cannot bring ESP-12 into flash mode. This is for the older rev of the PCB and showing the same physical device seen in my very first posts a few years ago.

After removing the ESP-12, the trace was visible and now it is easy to see where to cut the PCB. See the "cut here" in blue letters. I also sketched the VCC-trace in red. After the cut cut you can connect the IO0 to GND for reflashing. Later you need to connect back to VCC.

SP108E-CutHere