Group Members:
In this week’s group assignment, our team explored various tools and frameworks for creating graphical user interfaces (GUIs) capable of interacting with embedded systems like the ESP32-C3. Our primary goal was to evaluate tools for their flexibility, documentation quality, and compatibility with microcontroller applications in real-world Fab Lab projects.
We compared platforms that support data visualization, bidirectional communication, and multi-platform operability, focusing on both wired (Serial) and wireless (Bluetooth, Wi-Fi) communication. The emphasis was on selecting the most appropriate interface based on the communication type and project requirements.
Our evaluation revolved around three main categories:
Interface | Comm. Type | Hardware | Communication Method | Application |
Processing (Java) | Serial | PC + Microcontroller | Serial via USB | Data visualization and control commands, bidirectional. |
Python + Libraries | Serial, Bluetooth, Wi-Fi | PC / Mobile device + Microcontroller | Serial via USB, Bluetooth Classic, Wi-Fi | Advanced data processing, visualization, and control. |
MIT App Inventor | Serial, Bluetooth, Wi-Fi | Mobile device / PC + Microcontroller | Serial via USB, HTTP, Bluetooth Classic | Rapid UI development for mobile and PC, bidirectional. |
P5.js (Web GUI) | Serial, Wi-Fi | PC / Mobile device + Microcontroller | HTTP, WebSocket, Serial via USB | Browser-based visualization and control, bidirectional. |
Node-RED Dashboard | Serial, Bluetooth, Wi-Fi | PC / Mobile device + Microcontroller | Serial via USB, HTTP, MQTT, Bluetooth | Flow-based programming for IoT, supports complex configurations. |
Flutter | Wi-Fi, Bluetooth | Mobile device / PC + Microcontroller | HTTP, BLE | Cross-platform app development, supports visualization and actuator control. |
Custom HTML/JS | Wi-Fi, Serial | PC / Mobile device + Microcontroller | HTTP over Wi-Fi, Serial via USB | Web-based visualization and control, supports diverse front-end designs. |