Project homepage
--
https://github.com/technyon/nuki_hub

Howto flash (Webflash)
--

-The easiest way to install is to use the web installer using a compatible browser like Chrome/Opera/Edge
-Open https://technyon.github.io/nuki_hub/
-Connect your ESP to the computer using USB
-Click on "Connect"
-Select your device from the list and click on "Connect"
-Select "INSTALL NUKIHUB"
-Optionally select "Erase device"
-Click on "Next"
-Click on "Install"

Howto flash (Espressif Flash Download Tools)
--

- Download the Espressif Flash Download Tools (https://www.espressif.com/en/support/download/other-tools)
- Unpack and start tool
- Add all four bin files with the corresponding address:

ESP32
e000 boot_app0.bin
1000 nuki_hub_bootloader_esp32.bin
8000 nuki_hub_partitions_esp32.bin
10000 nuki_hub_esp32.bin
270000 nuki_hub_updater_esp32.bin

ESP32-NOPSRAM
e000 boot_app0.bin
1000 nuki_hub_bootloader_esp32nopsram.bin
8000 nuki_hub_partitions_esp32nopsram.bin
10000 nuki_hub_esp32nopsram.bin
270000 nuki_hub_updater_esp32nopsram.bin

ESP32-GL-S10
e000 boot_app0.bin
1000 nuki_hub_bootloader_esp32gls10.bin
8000 nuki_hub_partitions_esp32gls10.bin
10000 nuki_hub_esp32gls10.bin
270000 nuki_hub_updater_esp32gls10.bin

ESP32-S3
e000 boot_app0.bin
0 nuki_hub_bootloader_esp32s3.bin
8000 nuki_hub_partitions_esp32s3.bin
10000 nuki_hub_esp32s3.bin
270000 nuki_hub_updater_esp32s3.bin

ESP32-S3-NOPSRAM
e000 boot_app0.bin
0 nuki_hub_bootloader_esp32s3nopsram.bin
8000 nuki_hub_partitions_esp32s3nopsram.bin
10000 nuki_hub_esp32s3nopsram.bin
270000 nuki_hub_updater_esp32s3nopsram.bin

ESP32-S3-OCT
e000 boot_app0.bin
0 nuki_hub_bootloader_esp32s3oct.bin
8000 nuki_hub_partitions_esp32s3oct.bin
10000 nuki_hub_esp32s3oct.bin
270000 nuki_hub_updater_esp32s3oct.bin

ESP32-C3
e000 boot_app0.bin
0 nuki_hub_bootloader_esp32c3.bin
8000 nuki_hub_partitions_esp32c3.bin
10000 nuki_hub_esp32c3.bin
270000 nuki_hub_updater_esp32c3.bin

ESP32-C5
e000 boot_app0.bin
2000 nuki_hub_bootloader_esp32c5.bin
8000 nuki_hub_partitions_esp32c5.bin
10000 nuki_hub_esp32c5.bin
260000 nuki_hub_updater_esp32c5.bin

ESP32-C6
e000 boot_app0.bin
0 nuki_hub_bootloader_esp32c6.bin
8000 nuki_hub_partitions_esp32c6.bin
10000 nuki_hub_esp32c6.bin
270000 nuki_hub_updater_esp32c6.bin

ESP32-H2
e000 boot_app0.bin
0 nuki_hub_bootloader_esp32h2.bin
8000 nuki_hub_partitions_esp32h2.bin
10000 nuki_hub_esp32h2.bin
270000 nuki_hub_updater_esp32h2.bin

ESP32-P4
e000 boot_app0.bin
2000 nuki_hub_bootloader_esp32p4.bin
8000 nuki_hub_partitions_esp32p4.bin
10000 nuki_hub_esp32p4.bin
270000 nuki_hub_updater_esp32p4.bin

ESP32-SOLO1
e000 boot_app0.bin
1000 nuki_hub_bootloader_esp32solo1.bin
8000 nuki_hub_partitions_esp32solo1.bin
10000 nuki_hub_esp32solo1.bin
270000 nuki_hub_updater_esp32solo1.bin

Make sure the checkmarks for all files are enabled.

- Select the COM-Port the ESP device is connected to
- Click "START"
- The flash process should start. If it doesn't you eventually have to press a button (labeled BOOT or similar) or short the corresponding PIN on the ESP device


Howto flash (esptool)
--

As an alternative to the Download Tools, you can also use the esptool from the Espressif SDK. The command line to flash looks like this:

## ESP32

esptool.py --chip esp32 --port /dev/ttyUSB0 --baud 921600 --before default-reset --after hard-reset write-flash -z --flash-mode dio --flash-freq keep --flash-size detect 0xe000 boot_app0.bin 0x1000 nuki_hub_bootloader_esp32.bin 0x10000 nuki_hub_esp32.bin 0x270000 nuki_hub_updater_esp32.bin 0x8000 nuki_hub_partitions_esp32.bin

## ESP32-NOPSRAM

esptool.py --chip esp32 --port /dev/ttyUSB0 --baud 921600 --before default-reset --after hard-reset write-flash -z --flash-mode dio --flash-freq keep --flash-size detect 0xe000 boot_app0.bin 0x1000 nuki_hub_bootloader_esp32nopsram.bin 0x10000 nuki_hub_esp32nopsram.bin 0x270000 nuki_hub_updater_esp32nopsram.bin 0x8000 nuki_hub_partitions_esp32nopsram.bin

## ESP32-GL-S10

esptool.py --chip esp32 --port /dev/ttyUSB0 --baud 921600 --before default-reset --after hard-reset write-flash -z --flash-mode dio --flash-freq keep --flash-size detect 0xe000 boot_app0.bin 0x1000 nuki_hub_bootloader_esp32gls10.bin 0x10000 nuki_hub_esp32gls10.bin 0x270000 nuki_hub_updater_esp32gls10.bin 0x8000 nuki_hub_partitions_esp32gls10.bin

## ESP32-S3

esptool.py --chip esp32s3 --port /dev/ttyUSB0 --baud 921600 --before default-reset --after hard-reset write-flash -z --flash-mode dio --flash-freq keep --flash-size detect 0xe000 boot_app0.bin 0x0 nuki_hub_bootloader_esp32s3.bin 0x10000 nuki_hub_esp32s3.bin 0x270000 nuki_hub_updater_esp32s3.bin 0x8000 nuki_hub_partitions_esp32s3.bin

## ESP32-S3-NOPSRAM

esptool.py --chip esp32s3 --port /dev/ttyUSB0 --baud 921600 --before default-reset --after hard-reset write-flash -z --flash-mode dio --flash-freq keep --flash-size detect 0xe000 boot_app0.bin 0x0 nuki_hub_bootloader_esp32s3nopsram.bin 0x10000 nuki_hub_esp32s3nopsram.bin 0x270000 nuki_hub_updater_esp32s3nopsram.bin 0x8000 nuki_hub_partitions_esp32s3nopsram.bin

## ESP32-S3-OCT

esptool.py --chip esp32s3 --port /dev/ttyUSB0 --baud 921600 --before default-reset --after hard-reset write-flash -z --flash-mode dio --flash-freq keep --flash-size detect 0xe000 boot_app0.bin 0x0 nuki_hub_bootloader_esp32s3oct.bin 0x10000 nuki_hub_esp32s3oct.bin 0x270000 nuki_hub_updater_esp32s3oct.bin 0x8000 nuki_hub_partitions_esp32s3oct.bin

## ESP32-C3

esptool.py --chip esp32c3 --port /dev/ttyUSB0 --baud 921600 --before default-reset --after hard-reset write-flash -z --flash-mode dio --flash-freq keep --flash-size detect 0xe000 boot_app0.bin 0x0 nuki_hub_bootloader_esp32c3.bin 0x10000 nuki_hub_esp32c3.bin 0x270000 nuki_hub_updater_esp32c3.bin 0x8000 nuki_hub_partitions_esp32c3.bin

## ESP32-C5

esptool.py --chip esp32c5 --port /dev/ttyUSB0 --baud 921600 --before default-reset --after hard-reset write-flash -z --flash-mode dio --flash-freq keep --flash-size detect 0xe000 boot_app0.bin 0x2000 nuki_hub_bootloader_esp32c5.bin 0x10000 nuki_hub_esp32c5.bin 0x260000 nuki_hub_updater_esp32c5.bin 0x8000 nuki_hub_partitions_esp32c5.bin

## ESP32-C6

esptool.py --chip esp32c6 --port /dev/ttyUSB0 --baud 921600 --before default-reset --after hard-reset write-flash -z --flash-mode dio --flash-freq keep --flash-size detect 0xe000 boot_app0.bin 0x0 nuki_hub_bootloader_esp32c6.bin 0x10000 nuki_hub_esp32c6.bin 0x270000 nuki_hub_updater_esp32c6.bin 0x8000 nuki_hub_partitions_esp32c6.bin

## ESP32-H2

esptool.py --chip esp32h2 --port /dev/ttyUSB0 --baud 921600 --before default-reset --after hard-reset write-flash -z --flash-mode dio --flash-freq keep --flash-size detect 0xe000 boot_app0.bin 0x0 nuki_hub_bootloader_esp32h2.bin 0x10000 nuki_hub_esp32h2.bin 0x270000 nuki_hub_updater_esp32h2.bin 0x8000 nuki_hub_partitions_esp32h2.bin

## ESP32-P4

esptool.py --chip esp32p4 --port /dev/ttyUSB0 --baud 921600 --before default-reset --after hard-reset write-flash -z --flash-mode dio --flash-freq keep --flash-size detect 0xe000 boot_app0.bin 0x2000 nuki_hub_bootloader_esp32p4.bin 0x10000 nuki_hub_esp32p4.bin 0x270000 nuki_hub_updater_esp32p4.bin 0x8000 nuki_hub_partitions_esp32p4.bin

## ESP32-P4C5

esptool.py --chip esp32p4 --port /dev/ttyUSB0 --baud 921600 --before default-reset --after hard-reset write-flash -z --flash-mode dio --flash-freq keep --flash-size detect 0xe000 boot_app0.bin 0x2000 nuki_hub_bootloader_esp32p4c5.bin 0x10000 nuki_hub_esp32p4c5.bin 0x270000 nuki_hub_updater_esp32p4c5.bin 0x8000 nuki_hub_partitions_esp32p4c5.bin

## ESP32-SOLO1

esptool.py --chip esp32 --port /dev/ttyUSB0 --baud 921600 --before default-reset --after hard-reset write-flash -z --flash-mode dio --flash-freq keep --flash-size detect 0xe000 boot_app0.bin 0x1000 nuki_hub_bootloader_esp32solo1.bin 0x10000 nuki_hub_esp32solo1.bin 0x270000 nuki_hub_updater_esp32solo1.bin 0x8000 nuki_hub_partitions_esp32solo1.bin

Adjust the serial device and path to the binaries if necessary.