Firmware Update
You can see the current firmware version in Home Assistant. Find your Home Buttons in the device list and click it. Firmware version is displayed in the Device info card.
Firmware can be updated in a couple ways:
- Over The Air (OTA) using a web interface - recommended
- Online Flash Tool using a web browser and USB
- Esptool.py via USB
- Full Image Flash - repair a device that is not booting. Can be done via Esptool.py or Online Flash Tool.
OTA is the simplest way and therefore recommended.
Important!
- Updating to v2.4.0 is only possible via Full Image Flash.
- Downgrading from v2.4.0 is not supported
Over The Air (OTA)
-
Find the latest firmware here. Check release notes for any special update requirements. Make sure to select the correct file ending with
_original.bin
. Download it to your computer. -
Enter Setup from the Settings Menu. Home Buttons will display instructions for connecting to a web interface. Scan the QR code or enter the local IP into a web browser.
-
Click
Info
and scroll to the bottom of the Info screen. ClickUpdate
. The update menu will load: -
Click
Choose file
and select the previously downloaded .bin file on your computer. -
Click
Update
Wait a few seconds while the firmware is downloaded to the device. When done,Update Successful
message will appear in your web browser and Home Buttons will reboot.
Online Flash Tool
Flash your device from your web browser.
-
Connect Home Buttons to your computer using an USB-C cable.
-
Go to nplan.github.io/HomeButtonsFlasher and follow the instructions.
Google Chrome and Microsoft Edge are supported
Esptool.py
-
Install esptool. If you already have Python installed, the easiest way is to install it using pip:
See here for more installation details.
-
Find the latest firmware here. Check release notes for any special update requirements. Make sure to select the correct file:
-
Update image - regular update
Select file ending with
_original.bin
. -
Full image - to flash the entire device memory. This will erase all user data.
Select file ending with
_original_full_image.bin
.
Download the file to your computer.
-
-
Open the case. See instructions here.
-
Place device into programming mode. Press and hold the
BOOT
button and then press theRST
button.BOOT LED
will light up. Release both buttons. -
Connect Home Buttons to your computer using an USB-C cable.
-
Determine port on you computer.
Windows
Open Device Manager and check Ports section. If you're not sure which device is Home Buttons, disconnect it and then reconnect it. See which port disappears and then appears again. Remember the COM## name.
macOS and Linux
Run the following command twice. First with Home Buttons connected and then disconnected. The port that is present the first time and not the second is the correct one.
macOS
Linux
Copy the path of the correct port.
-
Flash the firmware using esptool.
Run this commands in Terminal or Command Prompt:
-
Update image - regular update
Substitute
PORT
with port that you determined in previous step. SubstituteBIN_FILE_PATH
with the path of downloaded firmware .bin file.The
erase_region
command resets the app partition boot switch. It's required to make sure the device will boot to the newly flashed firmware. -
Full image - to flash the entire device memory. This will erase all user data.
Substitute
PORT
with port that you determined in previous step. SubstituteBIN_FILE_PATH
with the path of downloaded firmware .bin file.
-
-
Wait a few seconds for firmware to flash. When done, you will see a confirmation in Terminal or Command Prompt window.
-
Disconnect USB-C cable and press the
RST
button.
Full Image Flash
This method flashes the entire device memory. It can be used to repair a device that is not booting.
Important! User data will be lost. This includes button labels, WiFi credentials, MQTT settings, etc.
You can flash your device via: