BITWORX Firmware Update Platform
The BITWORX Firmware Update Platform is a comprehensive solution for managing over-the-air (OTA) firmware updates for Arduino and ESP32-based microcontrollers. Our platform eliminates the need for manual programming and enables remote deployment of firmware updates to devices in the field.
End-to-end encryption, digital signatures, and integrity verification ensure your firmware updates are tamper-proof and authentic.
Devices automatically check for and install updates without any manual intervention, keeping your fleet current and secure.
Deploy updates to devices anywhere in the world through our cloud-based management platform and REST API.
How It Works
Our platform operates on a simple yet powerful principle: make firmware updates as easy as pushing code to a repository.
Develop & Build
Develop your firmware using Arduino IDE or your preferred toolchain. Build and compile your code as usual.
Upload Firmware
Upload your compiled binary to our platform via web interface, API, or CI/CD pipeline integration.
Automatic Distribution
Devices automatically check for updates and download the latest firmware when available.
Safe Installation
Firmware is verified, installed safely, and devices continue operating with the latest version.
System Architecture
Our platform consists of several key components working together to provide reliable firmware updates:
- Firmware storage and management
- Device registration and authentication
- Update scheduling and distribution
- Analytics and monitoring
- Arduino library for easy integration
- Automatic update checking
- Secure download and verification
- Safe firmware installation
- Web dashboard for monitoring
- Firmware upload and management
- Device fleet overview
- Update deployment controls
Security Features
Security is at the core of our platform. We implement multiple layers of protection to ensure your devices and firmware remain secure:
Every device requires a unique access token for authentication. Tokens can be revoked or rotated as needed for enhanced security.
All firmware is cryptographically signed before distribution. Devices verify signatures before installation to prevent tampering.
Firmware transfers are encrypted using industry-standard protocols to prevent interception and unauthorized access.
Checksums and hash verification ensure firmware hasn't been corrupted during transfer or storage.
If an update fails or causes issues, devices automatically roll back to the previous working version.
API Reference
Our REST API allows you to integrate firmware updates into your existing workflows and CI/CD pipelines.
Upload Firmware
Upload a new firmware binary to the platform.
curl -X POST https://espupdater.runasp.net/api/upload \
-F "filename=myfirmware.bin" \
-F "token=YOUR_TOKEN" \
-F "platform=ESP32" \
-F "file=@firmware.bin"
Get Device Status
Retrieve the current status and version of a specific device.
Deploy Update
Deploy a firmware update to specific devices or device groups.
Supported Platforms
Our platform supports a wide range of microcontroller platforms commonly used in IoT and embedded projects:
- ESP32
- ESP32-S2
- ESP32-S3
- ESP32-C3
- Arduino Uno WiFi
- Arduino MKR WiFi 1010
- Arduino Nano 33 IoT
- Arduino Portenta H7
- NodeMCU
- Wemos D1 Mini
- TTGO T-Display
- Custom ESP32 boards
Troubleshooting
Common issues and their solutions:
Device not checking for updates
Possible causes:
- WiFi connection issues
- Invalid or expired access token
- Incorrect firmware filename in code
Solutions:
- Verify WiFi connectivity and signal strength
- Generate a new access token
- Ensure firmware filename matches exactly
Update fails to install
Possible causes:
- Insufficient flash memory
- Corrupted firmware binary
- Incompatible platform selection
Solutions:
- Check available flash memory
- Re-upload firmware binary
- Verify correct platform is selected
Best Practices
Follow these guidelines to ensure successful firmware updates:
- Always test firmware on a small subset of devices first
- Implement proper error handling and logging
- Use version numbers in your firmware filenames
- Keep firmware sizes reasonable for your target platform
- Use staged rollouts for large device fleets
- Monitor device health after updates
- Keep previous firmware versions available for rollback
- Document changes between firmware versions
- Rotate access tokens regularly
- Use strong, unique tokens for each device group
- Monitor for unauthorized access attempts
- Keep your SDK library updated