Simple manual for flashing a Faikin #530
Replies: 2 comments 24 replies
-
Nice but sounds very unnecessarily complicated Simply use the USB connectivity of the S3 (GND, 5VDC, D+, D-). No special wires, Automatic flashmode etc etc |
Beta Was this translation helpful? Give feedback.
-
Hey folks. Reusing this discussion to share my experience with flashing Faikin without USB to serial adapter. I got a broken beta firmware on a couple of my boards and re-flashing seems to be the only way to revive them. I have a Raspberry Pi around, so I wanted to see if I can use it instead of a USB adapter. Here are some related pages which I used for reference:
The gist is that some configuration is required to get serial communication working. One mistake I made initially is not connecting the
To verify that the connection is working without writing anything, I used this command to read the MAC address:
After setting up the connection, it's basically just a matter of using the same process as described in this guide.
|
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
I had to flash my devices to upgrade them to the latest firmware as for some reason the OTA update did not work.
Many thanks to revk for all the work he has done to make this possible.
I had to figure out some things that might benefit anyone.
Below a simple manual of what I have done:
Preparation:
To install the ESPtools needed see the how to: https://docs.espressif.com/projects/esptool/en/latest/esp32/installation.html
Download the correct bin files needed from:
https://github.com/revk/ESP32-Faikin/tree/main/ESP/release
-bootloader.bin e.g Faikin-S3-MINI-N4-R2-bootloader.bin
partition-table.bin
ota_data_initial.bin
.bin e.g Faikin-S3-MINI-N4-R2.bin
Place them in a folder/directory of your choice
Connecting the Faikin to your computer:

I used a ESP-WROOM-32 programmer/development board: https://nl.aliexpress.com/item/4000587174844.html?spm=a2g0o.order_list.order_list_main.35.30e979d2DAoLqk&gatewayAdapt=glo2nld
For the connection to the Faikin I used a 5 pins 2.54mm pitch single row female PCB pin, as this matched the hole distance on the PCB.header. For connection between the programmer and the pin header male-female dupont wires are used.

Connect the coloured wires to the pin header and to the pins of the programmer as shown below.
Note that the IO0 pin did not toggle between low and high.

To be able to program the Faikin the blue wire was directly connected to the GND pin (blue arrows).
Assembled it looked like shown below
The orange wire is GND pin. (Note: in the picture the blue wire is connected to the IO0 pin)

Programming the Faikin:
To program insert the pin header in the holes of the holes of the PCB and hold them in place (as they do not lock in place).
Open a command window (for windows press windows-key, type CMD and press enter)
Navigate to the folder/directory where you put the downloaded files
Erase Flash:
Copy paste the line below and in the command window, press enter and wait for the action to finish.
esptool.py --chip esp32s3 erase_flash
ESPtool.py will automatically try the available com ports until it finds the Faikin and starts erasing the Faikin flash.

The output, when successful will look like shown below:
If encountered an error check if the wire to the IO0 pin of the Faikin is connected to GND.
An other problem to verify is if the programmer is connected and active. This can be checked via the windows device manager. In addition to COM1 there should be another one (of the programmer).
Programming the new firmware:
For this command the COM port to use needs to be know. It will show up in output of the flash erase action (COM7 in the image above).
Copy paste the applicable line below and in the command window, enter the correct com port if needed and press enter and wait for the action to finish.
For the S3 chip:
esptool.py -p com7 write_flash 0x0 Faikin-S3-MINI-N4-R2-bootloader.bin 0x8000 partition-table.bin 0xd000 ota_data_initial.bin 0x10000 Faikin-S3-MINI-N4-R2.bin
For the S1 chip:
esptool.py -p /dev/ttyUSB0 write_flash 0x1000 Faikin-S1-PICO-bootloader.bin 0x8000 partition-table.bin 0xd000 ota_data_initial.bin 0x10000 Faikin-S1-PICO.bin
Programming is slow so be patient.

The output should look something like the image below.
Check that device is flashed correct:
Disconnect the pin header from the Faikin.
Change the IO0 pin on the programmer to a 3v3 or the IO0 pin.
Connect the pin header to the Faikin again.
When the device is flashed successful the led will light up green.
To configure the device see the setup manual: https://github.com/revk/ESP32-Faikin/blob/main/Manuals/Setup.md
Beta Was this translation helpful? Give feedback.
All reactions