Interface and Application Programming

Group Members:



Objective

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.


Approach

Our evaluation revolved around three main categories:

  1. Communication Type – Serial, Bluetooth, Wi-Fi.
  2. Hardware Integration – Microcontrollers, mobile devices, and PCs.
  3. Application Complexity – Ease of use, feature set, and real-world applicability.

Tools and Frameworks Compared

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.

<<< Back to Lab Page