diff --git a/.gitignore b/.gitignore
index e948a50..449c400 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
+.dummy
.idea
build
debug
diff --git a/README.md b/README.md
index 1f25aff..05eb7c9 100644
--- a/README.md
+++ b/README.md
@@ -15,13 +15,13 @@ Feel free to join us on Discord: https://discord.gg/9nPq85bP4p
## Supported devices
Supported ESP32 devices:
-- Nuki Hub is compiled against all ESP32 models with Wi-Fi and Bluetooh Low Energy (BLE) which are supported by ESP-IDF 5.1.4 and Arduino Core 3.0.7.
+- Nuki Hub is compiled against all ESP32 models with Wi-Fi and Bluetooh Low Energy (BLE) which are supported by ESP-IDF 5.3.2 and Arduino Core 3.1.0.
- Tested stable builds are provided for the ESP32, ESP32-S3 and ESP32-C3.
- Untested builds are provided for the ESP32-Solo1.
- Support for the ESP32-C6 and ESP32-H2 is experimental. There could be more frequent crashes than on other ESP32 devices and connections with the Nuki device could be slower than on other ESP32 devices.
Not supported ESP32 devices:
-- The ESP32-S2 has no BLE and as such can't run Nuki Hub.
+- The ESP32-S2 and ESP32-P4 have no built-in BLE and as such can't run Nuki Hub.
Supported Nuki devices:
- Nuki Smart Lock 1.0
diff --git a/boards/nuki-esp32solo1.json b/boards/nuki-esp32solo1.json
new file mode 100644
index 0000000..9c86dac
--- /dev/null
+++ b/boards/nuki-esp32solo1.json
@@ -0,0 +1,34 @@
+{
+ "build": {
+ "core": "esp32",
+ "extra_flags": "-DARDUINO_ESP32_DEV -DARDUINO_USB_CDC_ON_BOOT=0 -DCORE32SOLO1",
+ "f_cpu": "160000000L",
+ "f_flash": "40000000L",
+ "flash_mode": "dio",
+ "mcu": "esp32",
+ "variant": "esp32"
+ },
+ "connectivity": [
+ "wifi",
+ "bluetooth",
+ "ethernet",
+ "can"
+ ],
+ "debug": {
+ "openocd_target": "esp32-solo-1.cfg"
+ },
+ "frameworks": [
+ "arduino",
+ "espidf"
+ ],
+ "name": "Espressif Generic ESP32-solo1 4M Flash",
+ "upload": {
+ "flash_size": "4MB",
+ "maximum_ram_size": 327680,
+ "maximum_size": 4194304,
+ "require_upload_port": true,
+ "speed": 460800
+ },
+ "url": "https://en.wikipedia.org/wiki/ESP32",
+ "vendor": "Espressif"
+}
\ No newline at end of file
diff --git a/pio_package_post.py b/pio_package_post.py
index b412cad..fdbfad1 100644
--- a/pio_package_post.py
+++ b/pio_package_post.py
@@ -7,8 +7,8 @@ from pathlib import Path
def get_board_name(env):
board = env.get('BOARD_MCU')
- if env.get('BOARD') == 'esp32-solo1':
- board = env.get('BOARD').replace('-', '')
+ if env.get('BOARD') == 'nuki-esp32solo1':
+ board = 'esp32solo1'
elif env.get('BOARD') == 'nuki-esp32-s3-oct':
board = 'esp32s3oct'
return board
diff --git a/platformio.ini b/platformio.ini
index 1785ee6..f16dfef 100644
--- a/platformio.ini
+++ b/platformio.ini
@@ -13,7 +13,7 @@ default_envs = esp32
boards_dir = boards
[env]
-platform = https://github.com/pioarduino/platform-espressif32/releases/download/51.03.07/platform-espressif32.zip
+platform = https://github.com/pioarduino/platform-espressif32/releases/download/53.03.10/platform-espressif32.zip
platform_packages =
framework = arduino, espidf
board_build.embed_txtfiles =
@@ -123,7 +123,7 @@ lib_ignore =
[env:esp32-solo1]
extends = env:esp32
-board = esp32-solo1
+board = nuki-esp32solo1
board_build.cmake_extra_args =
-DSDKCONFIG_DEFAULTS="sdkconfig.defaults;sdkconfig.release.defaults;sdkconfig.defaults.esp32-solo1"
diff --git a/sdkconfig.defaults b/sdkconfig.defaults
index ba24c42..37e2539 100644
--- a/sdkconfig.defaults
+++ b/sdkconfig.defaults
@@ -70,6 +70,18 @@ CONFIG_ARDUINO_SELECTIVE_WiFiProv=n
CONFIG_ARDUINO_SELECTIVE_BLE=n
CONFIG_ARDUINO_SELECTIVE_BluetoothSerial=n
CONFIG_ARDUINO_SELECTIVE_SimpleBLE=n
+CONFIG_ARDUINO_SELECTIVE_ESP_SR=n
+CONFIG_ARDUINO_SELECTIVE_Zigbee=n
+CONFIG_ARDUINO_SELECTIVE_SD=n
+CONFIG_ARDUINO_SELECTIVE_SD_MMC=n
+CONFIG_ARDUINO_SELECTIVE_SPIFFS=n
+CONFIG_ARDUINO_SELECTIVE_FFat=n
+CONFIG_ARDUINO_SELECTIVE_LittleFS=n
+CONFIG_ARDUINO_SELECTIVE_PPP=n
+CONFIG_ARDUINO_SELECTIVE_Matter=n
+CONFIG_ARDUINO_SELECTIVE_RainMaker=n
+CONFIG_ARDUINO_SELECTIVE_OpenThread=n
+CONFIG_ARDUINO_SELECTIVE_Insights=n
CONFIG_HEAP_TASK_TRACKING=n
CONFIG_LOG_COLORS=n
CONFIG_LOG_MAXIMUM_EQUALS_DEFAULT=n
diff --git a/src/Config.h b/src/Config.h
index c64e6c2..bc9d543 100644
--- a/src/Config.h
+++ b/src/Config.h
@@ -5,7 +5,7 @@
#define NUKI_HUB_VERSION "9.05"
#define NUKI_HUB_VERSION_INT (uint32_t)905
#define NUKI_HUB_BUILD "unknownbuildnr"
-#define NUKI_HUB_DATE "2024-12-03"
+#define NUKI_HUB_DATE "2024-12-16"
#define GITHUB_LATEST_RELEASE_URL (char*)"https://github.com/technyon/nuki_hub/releases/latest"
#define GITHUB_OTA_MANIFEST_URL (char*)"https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/manifest.json"
diff --git a/updater/pio_package_post.py b/updater/pio_package_post.py
index 571b73f..1c6f405 100644
--- a/updater/pio_package_post.py
+++ b/updater/pio_package_post.py
@@ -6,8 +6,8 @@ from pathlib import Path
def get_board_name(env):
board = env.get('BOARD_MCU')
- if env.get('BOARD') == 'esp32-solo1':
- board = env.get('BOARD').replace('-', '')
+ if env.get('BOARD') == 'nuki-esp32solo1':
+ board = 'esp32solo1'
elif env.get('BOARD') == 'nuki-esp32-s3-oct':
board = 'esp32s3oct'
return board
diff --git a/updater/platformio.ini b/updater/platformio.ini
index 959c43e..b7e1e4a 100644
--- a/updater/platformio.ini
+++ b/updater/platformio.ini
@@ -13,7 +13,7 @@ default_envs = updater_esp32
boards_dir = ../boards
[env]
-platform = https://github.com/pioarduino/platform-espressif32/releases/download/51.03.07/platform-espressif32.zip
+platform = https://github.com/pioarduino/platform-espressif32/releases/download/53.03.10/platform-espressif32.zip
platform_packages =
framework = arduino, espidf
board_build.embed_txtfiles =
@@ -100,6 +100,6 @@ lib_deps =
[env:updater_esp32-solo1]
extends = env:updater_esp32
-board = esp32-solo1
+board = nuki-esp32solo1
board_build.cmake_extra_args =
-DSDKCONFIG_DEFAULTS="sdkconfig.defaults;sdkconfig.defaults.esp32-solo1"
\ No newline at end of file
diff --git a/updater/sdkconfig.defaults b/updater/sdkconfig.defaults
index 60592b8..a5ac4e3 100644
--- a/updater/sdkconfig.defaults
+++ b/updater/sdkconfig.defaults
@@ -9,6 +9,23 @@ CONFIG_ESPTOOLPY_HEADER_FLASHSIZE_UPDATE=y
CONFIG_BT_ENABLED=n
CONFIG_IEEE802154_ENABLED=n
CONFIG_ARDUINO_SELECTIVE_COMPILATION=y
+CONFIG_ARDUINO_SELECTIVE_WebServer=n
+CONFIG_ARDUINO_SELECTIVE_WiFiProv=n
+CONFIG_ARDUINO_SELECTIVE_BLE=n
+CONFIG_ARDUINO_SELECTIVE_BluetoothSerial=n
+CONFIG_ARDUINO_SELECTIVE_SimpleBLE=n
+CONFIG_ARDUINO_SELECTIVE_ESP_SR=n
+CONFIG_ARDUINO_SELECTIVE_Zigbee=n
+CONFIG_ARDUINO_SELECTIVE_SD=n
+CONFIG_ARDUINO_SELECTIVE_SD_MMC=n
+CONFIG_ARDUINO_SELECTIVE_SPIFFS=n
+CONFIG_ARDUINO_SELECTIVE_FFat=n
+CONFIG_ARDUINO_SELECTIVE_LittleFS=n
+CONFIG_ARDUINO_SELECTIVE_PPP=n
+CONFIG_ARDUINO_SELECTIVE_Matter=n
+CONFIG_ARDUINO_SELECTIVE_RainMaker=n
+CONFIG_ARDUINO_SELECTIVE_OpenThread=n
+CONFIG_ARDUINO_SELECTIVE_Insights=n
CONFIG_MBEDTLS_CERTIFICATE_BUNDLE=y
CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN=y
CONFIG_LOG_COLORS=n