-
Notifications
You must be signed in to change notification settings - Fork 0
Home
A universal, lightweight, and ultra-fast bootloader + system logger for Arduino & ESP devices.
UnFi (Universal Firmware Interface) is a compact, cross-platform bootloader and logging system designed for embedded developers who want control, speed, and visibility.
It supports:
- Arduino Uno, Nano, Mega, Leonardo, Due, Micro, Pro Mini, MKR WiFi 1010, Esplora, Yun
- ESP32 (WROOM)
- ESP8266 (NodeMCU)
| Feature | Description |
|---|---|
| ⚡ Lightning Fast | Boots your system in milliseconds — up to 70% faster than traditional bootloaders. |
| 🔒 Secure by Sliz® | Built-in integrity checks and protected startup sequence. |
| 🌐 Universal Support | Works seamlessly across Arduino, ESP32, and ESP8266 platforms. |
| 🧠 Self-Diagnostics | Performs intelligent system scans on every boot. |
| 🔄 OTA Ready | Over-the-air update support (planned in v2). |
| 📦 Minimal Footprint | Occupies less than 4KB of flash memory. |
UnFi is designed to be plug-and-play.
Choose your board folder according to this table:
| Device | Folder | Notes |
|---|---|---|
| Arduino Uno | Uno/ |
Classic Serial, LED on pin 13 |
| Arduino Mega | Mega/ |
Extended UART support |
| Arduino Due | Due/ |
ARM-based SAM3X8E |
| ESP32 WROOM | ESP32_WROOM/ |
LED on pin 2, no while (!Serial)
|
| ESP8266 NodeMCU | ESP8266_NodeMCU/ |
LED_BUILTIN (inverted logic) |
| MKR WiFi 1010 | MKR_WiFi_1010/ |
OTA-ready hardware |
| Esplora | Esplora/ |
Built-in sensors |
| Yun | Yun/ |
Ethernet/WiFi bridge support |
💡 Tip: For custom boards, copy the code from the closest architecture (e.g., use ESP32 for ESP32-S3).
To begin using UnFi Bootloader / Logger, open the main project folder and locate the UnFi/ directory.
Inside, you’ll find two main categories: Arduino and ESP.
-
Open the path: UnFi/Arduino/
-
Choose your device folder — for example:
Uno/Mega/Nano/Leonardo/Due/MKR_WiFi_1010/
-
Inside the folder, open the file: boot.ino
-
Launch Arduino IDE (or PlatformIO), select your board under
Tools → Board → [Your Arduino Model], and upload the sketch.
After uploading, open Serial Monitor at 115200 baud.
You should see logs like:
[UnFi] Bootloader started.
[UnFi] Performing system checks...
[UnFi] System OK.
[UnFi] Bootloader completed.
-
Navigate to: UnFi/ESP/
-
Choose your device folder:
ESP32_WROOM/ESP8266_NodeMCU/
-
Open the file: boot.ino
-
In Arduino IDE, go to:
- Tools → Board → ESP32 Dev Module (or NodeMCU 1.0 for ESP8266)
- Tools → Port → [Your COM Port]
- Upload the sketch and open Serial Monitor at 115200 baud.
You should see the same startup log confirming that the bootloader is active.
If your device is not listed:
- Copy the closest folder (for example,
ESP32_WROOMorUno) - Paste it into a new folder named after your board
- Adjust the top header inside
boot.ino:
/*
UnFi Bootloader / Logger by Sliz®
YourDeviceName
Version 1.start.up
*/-
Modify only the pin number if needed:
#define LED_STATUS <your LED pin>
Once everything is uploaded, your board will boot faster, blink with status LEDs, perform diagnostics, and log results automatically. You’re now running UnFi 🚀
UnFi does not require external dependencies other than Arduino.h.
#define LOG Serial
#define LED_STATUS 13
bool bootCompleted = false;| Function | Description |
|---|---|
blinkLED(times, delayMs) |
Blink the onboard LED |
logBootStart() |
Log when bootloader starts |
logBootEnd() |
Log when bootloader finishes |
logError(msg) |
Print error message and flash LED |
checkSystem() |
Perform hardware/system diagnostics |
userSetup() |
Your own setup logic |
userLoop() |
Your own loop logic |
void userSetup() {
LOG.println("[INIT] Starting sensors...");
pinMode(A0, INPUT);
}
void userLoop() {
int value = analogRead(A0);
LOG.print("[DATA] Sensor: ");
LOG.println(value);
delay(500);
}void userLoop() {
blinkLED(1, 100);
delay(900);
}| Problem | Cause | Fix |
|---|---|---|
| Serial Monitor shows nothing | Missing Serial.begin(115200) or wrong baud rate |
Check setup() baud rate |
| LED not blinking | Wrong LED pin | Update LED_STATUS define |
| Sketch upload failed | Incorrect board selected | Select the correct board in Tools → Board |
✅ v1.start.up
- Core bootloader + logging
- Support for Arduino, ESP32, ESP8266
🧩 v0.1 (in progress)
- Error checking
- Web dashboard with live logs
- Flash recovery system
- Smart Boot Analyzer
Author: Sliz® Project: UnFi Bootloader
🔥 “UnFi — because your device deserves a smart start.”