Overview
VeloLux adalah sistem kontrol kendaraan berbasis IoT yang dibangun dengan Flutter (Android) dan Arduino (ESP32/WROOM). Aplikasi ini memungkinkan pengguna untuk mengontrol lampu LED matrix, DRL, relay, dan memantau status kendaraan secara real-time melalui koneksi Bluetooth.

Ide & Riset Awal
Konsep • Solo
Tercetusnya ide untuk membangun sistem kontrol kendaraan berbasis IoT. Riset komponen ESP32, modul LED matrix 8x8, dan protokol Bluetooth Classic (SPP).
Nov 2023
Des 2023
Prototipe Hardware
Hardware • Breadboard
Merakit prototipe pertama menggunakan breadboard — ESP32 terhubung ke 2 modul LED matrix MAX7219 dan modul relay 8-channel. Validasi koneksi Bluetooth dari smartphone Android.
Pengembangan Firmware Arduino
C++ • ESP32
Menulis firmware Arduino dengan parser perintah serial, buffer animasi untuk LED matrix, dan kontrol PWM untuk DRL. Implementasi FastLED library untuk efek lighting yang smooth.
Jan 2024
Feb 2024
Pembuatan Aplikasi Flutter
Flutter • Dart
Membangun antarmuka aplikasi Android menggunakan Flutter. Implementasi bluetooth_classic package, UI untuk kontrol LED matrix, DRL configurator, relay manager, dan live telemetry dashboard.
Integrasi & Testing
QA • Full Stack
Sinkronisasi antara firmware dan app. Ditemukan isu latency Bluetooth yang menyebabkan animasi patah-patah — diatasi dengan buffering animasi di sisi Arduino agar tetap smooth.
Feb 2024
Mar 2024
Versi Produksi
Release • v1.0
Finalisasi PCB custom untuk mounting yang rapi. Aplikasi berhasil mengurangi waktu konfigurasi LED dari ~15 menit menjadi hanya beberapa detik via UI intuitif.
Nov 2023
Ide & Riset Awal
Konsep • Solo
Tercetusnya ide untuk membangun sistem kontrol kendaraan berbasis IoT. Riset komponen ESP32, modul LED matrix 8x8, dan protokol Bluetooth Classic (SPP).
Des 2023
Prototipe Hardware
Hardware • Breadboard
Merakit prototipe pertama menggunakan breadboard — ESP32 terhubung ke 2 modul LED matrix MAX7219 dan modul relay 8-channel. Validasi koneksi Bluetooth dari smartphone Android.
Jan 2024
Pengembangan Firmware Arduino
C++ • ESP32
Menulis firmware Arduino dengan parser perintah serial, buffer animasi untuk LED matrix, dan kontrol PWM untuk DRL. Implementasi FastLED library untuk efek lighting yang smooth.
Feb 2024
Pembuatan Aplikasi Flutter
Flutter • Dart
Membangun antarmuka aplikasi Android menggunakan Flutter. Implementasi bluetooth_classic package, UI untuk kontrol LED matrix, DRL configurator, relay manager, dan live telemetry dashboard.
Feb 2024
Integrasi & Testing
QA • Full Stack
Sinkronisasi antara firmware dan app. Ditemukan isu latency Bluetooth yang menyebabkan animasi patah-patah — diatasi dengan buffering animasi di sisi Arduino agar tetap smooth.
Mar 2024
Versi Produksi
Release • v1.0
Finalisasi PCB custom untuk mounting yang rapi. Aplikasi berhasil mengurangi waktu konfigurasi LED dari ~15 menit menjadi hanya beberapa detik via UI intuitif.
Fitur Utama
- LED Matrix Control — Tampilkan teks dan animasi kustom pada modul LED matrix 8x8
- DRL Configurator — Atur warna, mode (static, breathing, running), dan kecepatan animasi DRL
- Relay Manager — Kontrol 8 relay independen untuk berbagai aksesori kendaraan
- Live Telemetry — Pantau RPM, suhu mesin, level bahan bakar, dan tegangan secara real-time
- Strobo / Turn Signal — Animasi strobo dan sein otomatis yang sinkron dengan sinyal kendaraan
Stack Teknologi
| Layer | Teknologi |
|---|---|
| Mobile App | Flutter (Dart) |
| Komunikasi | Bluetooth Classic (SPP) |
| Mikrokontroler | ESP32 / Arduino WROOM |
| LED Control | FastLED Library |
| UI Matrix | Custom animation engine |
Tantangan Teknis
Salah satu tantangan terbesar adalah sinkronisasi animasi LED yang smooth dengan latency Bluetooth yang tidak konsisten. Solusinya adalah mengimplementasikan buffer animasi di sisi Arduino sehingga animasi tetap smooth meski perintah dari app terlambat beberapa milidetik.
// Contoh pengiriman perintah ke Arduino
void sendCommand(String cmd) async {
if (_connection?.isConnected ?? false) {
_connection!.output.add(Uint8List.fromList(utf8.encode(cmd + '\n')));
await _connection!.output.allSent;
}
}
Hasil
Aplikasi berhasil mengurangi waktu konfigurasi LED dari ~15 menit (manual via kode) menjadi hanya beberapa detik via UI intuitif.

