Embedded-systems

  • Published on
    DEV-HTL-01 mendefinisikan implementasi final firmware Node berbasis ESP-family yang mampu beroperasi secara otonom dan dapat diakses langsung melalui smartphone (HTTP direct mode). Dokumen ini mengunci pemilihan hardware (MCU, sensor, actuator, power design), integrasi elektrikal, serta arsitektur software 3-layer OOP (app*, srv*, drv*, sys*). Node bertanggung jawab atas kontrol lokal, interlock safety, watchdog, brownout handling, dan manual override dengan TTL enforcement. Endpoint HTTP minimal disediakan untuk commissioning, diagnostics, dan maintenance tanpa ketergantungan gateway atau server. Dokumen ini memastikan bahwa kontrol kritikal tetap berada di Node, sesuai prinsip local-first pada HTL-00, serta menyediakan definisi selesai (Definition of Done) dan hook pengujian HTL-09 untuk validasi produksi.
  • Published on
    Concurrency pada ESP32 bukan fitur tambahan, tetapi kondisi default karena Arduino core berjalan di atas FreeRTOS. Banyak engineer memahami task dan interrupt secara terpisah, namun belum memiliki mental model utuh tentang scheduler, preemption, race condition, dan shared state. Artikel ini membangun pemahaman dari dasar - apa itu task, bagaimana scheduler bekerja, bagaimana ISR memengaruhi task aktif, serta bagaimana queue dan mutex berperan dalam menjaga integritas data. Fokusnya bukan pada API detail, tetapi pada model eksekusi yang memengaruhi desain firmware sensor–relay yang deterministik dan stabil.
  • Published on
    Foundation Track membangun mental model sistemik sebelum masuk disiplin firmware produksi pada ESP32 berbasis Arduino. Seri ini tidak mengajarkan sintaks C++, tetapi membedah realitas eksekusi FreeRTOS, stack per task, heap global, object lifetime, layering 3-level, state machine komunikasi, serta reliability thinking. Tujuannya adalah membentuk pola pikir engineer agar memahami interaksi concurrency, memory, dan komunikasi sebelum aturan produksi dikunci. Foundation menjawab “mengapa” di balik setiap keputusan arsitektur. Dengan pemahaman ini, transisi ke seri Production menjadi logis, terstruktur, dan tidak terasa sebagai pembatasan tanpa alasan teknis.
  • Published on
    Artikel ini membedah kenapa firmware ESP32 berbasis Arduino yang awalnya sederhana sering berubah menjadi spaghetti setelah 6 bulan deployment. Masalah bukan pada bahasa C atau library, melainkan pada pertumbuhan fitur tanpa boundary arsitektur. Global mutable tanpa owner, callback komunikasi yang langsung mengontrol hardware, ISR yang memanggil logic berat, serta reconnect logic tersebar menjadi sumber coupling tak terlihat. Dampaknya bukan hanya kompleksitas kode, tetapi juga fragmentasi heap, jitter control, relay chatter, hingga kegagalan OTA. Artikel ini mengunci diagnosis bahwa firmware adalah sistem multi-domain internal yang membutuhkan struktur sadar sebelum kompleksitas meningkat secara eksponensial.
  • Published on
    Artikel ini menyajikan kerangka pengembangan firmware IoT modular berbasis Object-Oriented Programming (OOP) untuk platform ESP8266 dan ESP32. Sebagai modul pengantar, pembahasan difokuskan pada struktur serial, alur pembelajaran, serta pendekatan arsitektur yang digunakan untuk membangun sistem yang scalable, firmwaretainable, dan reusable. Pembaca akan memahami bagaimana setiap modul saling terhubung, mulai dari dasar OOP, pengelolaan proyek menggunakan Visual Studio Code, hingga integrasi sensor, aktuator, dan komunikasi MQTT. Dengan panduan ini, pengembang diharapkan mampu mengikuti rangkaian modul secara sistematis dan membangun fondasi yang kuat sebelum memasuki implementasi teknis pada tahap-tahap berikutnya.