How to Flash DoHome IoT Devices to Alternative Firmwares
Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.
Go to Amazon or aliexpress to buy a socket
Step 3: Notice:
Before upgrade third-party firmware, please contact: email@example.com
Your firmware must be no greater than 512KB
The third-party firmware should be developed with esp-open-sdk, Arduino, ESP8266_NONOS_SDK, or ESP8266_RTOS_SDK (not IDF)
Download upgrade tool from the following link:
Download DoHome_JRE_64.zip for Windows 64
A computer with Wi-Fi adaptor
5.1 Make sure that your current firmware is running on first slot
Connect your device’s WiFi (If your firmware is DoHome firmware, the WiFi is named as “DoHome_xxxx”). After WiFi connected, run the download tool and select the “Third-party upgrade” tab, shown as the following figure.
Click “Slot check” button, then the text field below the button will show some info such as “Slot=1”, it means that the current firmware runs at slot 1 (There are two slots on ESP).
To upgrade firmware to third-party firmware, the current firmware must be running on the first slot! In other word, when you press the button “Slot check” the info shown in the text field must be “Slot=1”.
If yes, go to 2.2 to do next step, otherwise, refer to subsection 3.5 to change slot.
5.2 Upgrade to a transitional firmware
A transitional firmware is utilized to upgrade to the third-party firmware. The transitional firmware is within the folder named “prepare”. There are two files named “u1.bin” and “u2.bin” respectively.
Firstly, make your device connect to a router, and then your computer connect the same router. Run the upgrade tool “DoHome_v21.exe”, and select the “DoHome upgrade” tab view. Input the transitional firmware’s path as the following figure. Secondly, input the target device IP (You can find the IP from the router console).
No need to fill in other areas。click Start upgrading Start upgrading。 Leave the other text field along, and then click “Start upgrading” button to start upgrading to transitional firmware.
5.3 Connect the device which upgrade to transitional firmware with router
If the target device is upgraded to the transitional firmware, the device will generate a WiFi named as “Upgrade-xxxxxxx”, when the device power up. Connect to the WiFi if you find it on your phone, as shown in the following figures.
When your phone is connected to the WiFi “Upgrade-xxxxxxx”, a login page will be popup, as shown in Fig. 4. This is a portal to tell the device which router to connect. Select the router you want your device to connect and input the password, then click “Join” button. Finally, the device will connect to the router automatically.
5.4 Upgrade to third-party firmware
Make sure your computer is connect to the router you selected in the step 5.3. Run the upgrade tool on computer, go to “Third-party upgrade” tab view.
Click “Scan device” button, the following text field will list the device (which is upgraded to the transitional firmware) info. The info includes device IP, which will be used in the next step.
The “dev_id” list in the text field is the same as the WiFi name generated by the device that upgrade to transitional firmware. The IP address follow up with “dev_id” should be filled in the text field named “Device IP”. In the “Firmware path” text field, Input your third-party firmware path.
Step 6: FAQ
6.1 Alert show up, such as“Current slot must be 1, when upgrade third-party firmware”
It means that the firmware running on your device currently is not run on the first slot. Check your slot refer to 5.1
6.2 None IP is listed when click“Scan device” button
Your computer must connect to the router you setup in step 5.2
6.3 Create a third-party firmware
The third-party firmware you want to upgrade to must contain a bootloader. Plus, the firmware size must smaller than 512KB. Take the firmware developed based on ESP8266_NONOS_SDK as example to show you how to create a third-party firmware. At least two files are needed, which is the boot.bin and the user1.1024.new.2.bin. You can merge the two files into one bin via the “ESP8285 Download tool v3.6.4”. The combined bin file can be used as the third-party firmware.
6.4 u1.bin and u2.bin path
Do not input the u1.bin path to the text field for u2.bin by mistake, or the upgrade will be failed, and your device will not be able to run again!
6.5 Change slot
To change slot, you need an extra firmware, the firmware is within the folder named “Dohome Zone switching firmware”. You can find the folder from the download link list in 1.1. There are two files named “u1.bin” and “u2.bin”, respectively.
Connect your device to your router and then run the upgrade tool on computer. Stay on the “DoHome Upgrade” tab view. Input the u1.bin and u2.bin (the extra firmware we mentioned previously) path, as shown in Fig. 10. To get device IP, you can click the “Scan device” button on the “Third-party upgrade” tab view, as shown in Fig. 11. Then input the IP it found. Notice that your computer must connect to the same router as the device.
In the “DoHome upgrade” tab view, click “Start upgrading” button to start upgrading. When upgrade progress is finished, check slot as step 5.1. If “slot=1” is shown on the info text field, you can go to step 5.2 to do next.
If you use the extra firmware to change slot, the device will create a new WiFi named as “Trans-xxxxxx”. The name is different from the name “Upgrade-xxxxxx”, which create by the transitional firmware we discussed in 5.3. Although the WiFi name is different, the rest steps are the same.
Connect your phone to the WiFi “Trans-xxxxxx”, the routers scanned by device will be list as following figure, which is a popup view shown automatically after connect to the WiFi.
Select your router and input the password and then click “Join” button
6.6 Cannot connect to the device’s WiFi
Reboot your device and then reconnect again.
6.7 Schematics for smart socket
Technical support: firstname.lastname@example.org