Firmware Update - What's new in BLEShark

What's in a BLEShark Nano Firmware Update? How to Check What's New

The BLEShark Nano supports OTA firmware updates over WiFi. New releases come out periodically with bug fixes, new features, expanded protocol support, and security improvements. This article covers the practical side: how to find out what version you're running, where to read changelogs, what typically changes between releases, and how to trigger an update.

sequenceDiagram
    participant USER as User
    participant NANO as BLEShark Nano
(ESP32-C3) participant AP as WiFi Access Point participant SRV as OTA Update Server USER->>NANO: Navigate to OTA menu NANO->>NANO: Check saved WiFi credentials NANO->>AP: Connect to WiFi network AP-->>NANO: IP address assigned (DHCP) rect rgb(30, 30, 30) Note over NANO,SRV: Version Check Phase NANO->>SRV: GET /version (current: v1.x.x) SRV-->>NANO: Latest version: v1.y.y NANO->>NANO: Compare versions end alt New version available rect rgb(40, 30, 30) Note over NANO,SRV: Download Phase NANO->>SRV: GET /firmware.bin SRV-->>NANO: Firmware binary (chunked) NANO->>NANO: Write to OTA partition NANO->>NANO: Verify SHA-256 hash end alt Hash valid NANO->>NANO: Set OTA partition as boot NANO->>NANO: Reboot into new firmware NANO-->>USER: Display new version else Hash mismatch NANO->>NANO: Discard download NANO-->>USER: Update failed - retry end else Already up to date NANO-->>USER: No update available end

BLEShark Nano OTA update sequence - the device verifies firmware integrity via SHA-256 hash before flashing to the OTA partition

Table of Contents

How to Check Your Current Firmware Version

The BLEShark Nano displays the current firmware version in the Settings menu. Navigate from the main menu:

  1. Press the menu button to reach the main menu
  2. Scroll to Settings
  3. Select Info
  4. The OLED displays the firmware version as a semantic version string (e.g., 1.2.4)

The version number follows standard semantic versioning: MAJOR.MINOR.PATCH. A change in the MAJOR number indicates a significant breaking change or major new capability. MINOR increments indicate new features added in a backwards-compatible way. PATCH increments are bug fixes and small improvements.

Where to Find Changelogs

BLEShark Nano firmware changelogs are published here. Each release has:

  • Version tag and release date
  • Summary of major changes
  • Full list of changes categorized by type (new features, bug fixes, security updates, deprecations)
  • Known issues and workarounds if any
  • Notes on changes to behavior that might affect existing workflows

Releases are also announced on the InfiShark Discord server with a summary of what's new and a link to the release notes. If you want to be notified when new firmware drops, join the Discord or subscribe to our newsletter.

For EU-region devices, release notes specify which features apply to your region. The active deauth transmission is disabled in EU firmware per Radio Equipment Directive (RED) regulations - the release notes call out if any new features have regional restrictions.

How to Trigger an OTA Update

The OTA update process on the BLEShark is straightforward:

  1. Navigate to Settings in the main menu
  2. Select Update
  3. The device checks for available updates
  4. If a newer version is available, the OLED shows the version number proceeds with update
  5. The device tries saved networks automatically
  6. Confirm to start the download
  7. The OLED shows a download progress indicator as the firmware binary is retrieved
  8. After download completes, the device verifies the SHA256 hash and begins writing to flash
  9. The device reboots automatically after the write completes
  10. On the next boot, the new firmware runs and confirms itself valid

Total time for an OTA update depends on WiFi signal strength and server load, but typically takes 1-2 minutes from triggering to completed reboot. The device cannot be used for other functions during the download and write phase - the display shows update status throughout.

If you have multiple devices, update the mesh nodes. You can do this by running "Execute -> Manage -> Update". This will go through the update for all devices. Note that mismatched firmware versions in a mesh can cause compatibility issues, particularly after releases that modify the ESP-NOW protocol format. Update each node individually using the same OTA process.

If the Nano shows "Up to date" when you check for updates, you're already running the latest release. There's no advantage to forcing a re-flash of the same version - the version check prevents unnecessary downloads.

Setting Up Multi-Network OTA

The BLEShark supports saving multiple WiFi networks for OTA updates. This is useful if you use the device in different locations with different WiFi access.

To add OTA WiFi networks:

  1. Go to the BLEShark Nano Settings Menu
  2. Navigate to the WiFi networks section (Wi-Fi -> Wi-Fi Nets)
  3. Add network credentials (SSID and password) for each network you want to use for OTA
  4. Save the list

When OTA is triggered, the device tries each saved network in order until one connects. Once connected, the update proceeds normally. Networks that fail to connect (wrong password, out of range) are tried and skipped without aborting the update attempt.

The WiFi network list is stored in the SPIFFS filesystem partition, which is separate from the firmware partitions. This means your saved network list survives firmware updates - you don't need to re-add networks after every update.

Keep the network list to networks you actually have access to. An outdated list with networks that no longer exist slows down the OTA process as the device times out trying to connect to each one.

What to Do After Updating

After a firmware update, the device reboots and you're running the new version. A few things worth doing:

Verify the version. Go to Settings > About and confirm the version number matches the release you intended to install. This is a quick sanity check that the update completed successfully.

Check your settings. If the changelog mentioned changes to default settings or settings that were moved, verify your preferences are still configured correctly. The on-device settings and saved files in SPIFFS persist across updates, but default values for new settings may have changed.

Test your saved scripts and files. If you have DuckyScript payloads or custom captive portal HTML files stored in the file portal, run a quick test to confirm they work correctly with the new firmware. Format changes between major versions are called out in the changelog.

What Happens If an Update Fails

OTA failures are uncommon but happen. Common causes: WiFi drops during download, server unreachable, hash mismatch (corrupted download). In all cases, the BLEShark Nano handles failure gracefully:

Download interrupted: The partial download is discarded. The inactive flash partition is left in ABORTED state. The current firmware continues running. You can retry the update.

Hash mismatch: The downloaded binary's SHA256 hash didn't match the expected value. This indicates either a corrupted download or a server-side issue. The update is aborted, the current firmware is unchanged. Retry after confirming network stability.

New firmware fails to boot: If the new firmware has a critical bug that prevents it from completing startup, the bootloader detects that the new partition never confirmed itself valid and rolls back to the previous firmware on the next reboot. Your device comes back up on the previous firmware version, working normally.

If you have any issues apart from this, please reach out to us at support@infishark.com, and we will help you right away.

The dual-partition rollback design means an OTA update failure, in any of its forms, cannot brick the device. The worst case is that you're still running the previous firmware version and need to try the update again.

Get BLEShark Nano

Back to blog

Leave a comment