Flashing the Nous A8T with ESPHome

Hey, this is not an overly “cool” project, however I think it might still be of interest to some of you.

I bought a few Nous A8T smart plugs which originaly come with Tasmota firmware. Obvsously I wanted them to run with ESPHome.

You can find the ESPHome configuration here, however I could not get the move to ESPHome done with the described approach. Simply using Tasmota to upload a firmware works but then OTA will not work due to a different partition layout and too little space. Therefore I went with serial flashing which is reasonably easy as the device has all the necessary pins exposed. However they are deep inside the device and a bit difficult to get to, therefore I built a kind of fork to make flashing easier.

What you need:

1.) 2mm pin headers (actually it seems even a slightly smaller pitch but I had 2mm ones at hand. A little bending works fine)
2.) Some jumper wires used with breadboards (male/female for this guide)
3.) heatshrink in different sizes
4.) An ESP programmer for ESP 12F or Wroom 32 modules (other serial adapters work as well, however the module programmers have the programming button right there which makes things easier.
5.) a popsicle stick.

Steps

1.) Open the device (1 Phillips screw)

image

Open the top which will expose the programming headers:

Pins from top to bottom on the right (as indicated on the silk screen):

  • GND
  • TX
  • RX
  • 3,3v

GPIO0 to initiate programming is on the left

2.) Connect with programmer (see below)
3.) Configure based on the configuration linked above
4.) Compile for Download chose legacy format
5.) Use ESPHome-Flasher to flash the device. Make sure to keep the programming button pressed while providing power to the device. This is where the flasher boards come in handy, as they provide the programming button as well as a power button. You can connect the flasher board and select the right COM-port in the tool and then simply provide power while pressing the button.

This should be it. The device should connect and eventually show up as online in ESPHome. After that it can be integrated into Homeassistant as usual and also OTA works.

How to build and use the programming “fork”

1.) Take 4 of the five needed jumper wires and solder them to a 4 pin bit of 2mm (!) pin header. The standard 2.54mm with breadboard spacing is way too wide. Heatshrink the individual connections.
2.) Use a longer and wider piece of heatshrink to wrap around the soldered end of the pin header and insert a popscicle stick. I had to cut mine a bit as I didn’t have wide enough heatshrink. I used blue and red wires for GND and 3.3v to avoid errors connecting it the wrong way round as the GND silk screen is very well visible.
3.) I added another short piece of heatshrink to bundle the fifth needed wire.
4.) Connect everything to the programmer (mind remark under image, RX and TX are swapped in the image)

image

There is an error in the image. RX and TX are mixed up (white and grey at the top). Please swap!

  1. You can then use the programmer as described above:

Some bending of the pins might be required, also you might have to apply some pressure while flashing to keep a good connection.

Hope this helps, happy flashing.

2 Likes

Thanks for the post! I had earlier attempted to open it up, but mine had quite a bit more of the white glue stuff so it took a lot of ‘convincing’. I did not have any 2mm headers lying around, but I bent a 2.45 mm plug to fit. Worked great!