Skip to content

Interface and Application Programming

💡Group assignment

  • Compare as many tool options as possible.
  • Document your work on the group work page and reflect on your individual page what you learned.

About this week

Briefly describe the goal of the assignment. What are you characterizing, testing, or exploring

For our group assignment, we evaluated several approaches for creating interfaces to microcontrollers. After comparing multiple options, I (Thom) implemented a web-based dashboard approach using MicroPython and the Microdot framework.


Tools and materials used

List all the machines, software and materials used in this assigment.

Thom:

For the web dashboard implementation:

  • MicroPython programming language
  • Microdot web framework
  • HTML/CSS/JavaScript for frontend design
  • Raspberry Pi Pico W microcontroller
  • Push button (connected to GPIO 21)
  • Onboard LED for visual feedback
  • Web browser (Chrome, Firefox, Safari, etc.) for interface access

Process and methodology

Describe step-by-step what the group did. Include sketches, screenshots, or videos if possible.

Thom:

\

My implementation uses the Microdot framework to create a lightweight web server ran via Thonny, on the Pico W that:

Sets up a WiFi access point named “fab” with password “classroom5”

Serves a responsive HTML/CSS/JS interface on port 80

* Provides API endpoints for controlling the onboard LED (/on and /off) * Monitors the state of a physical button connected to GPIO 21

  • Updates the web interface in real-time when button state changes
  • Displays timestamps of button press events

Group conclusions

Findings: [What did you learn from the process?]

Challenges: [What issues did you encounter?]

Solutions: [How did you solve them?]

Thom:\ \ Approach Comparison

Web Dashboard (My Implementation)

Pros:\ - Device-agnostic - works on any device with a browser\ - Familiar HTML/CSS/JS technologies\ - No app installation required\ - Responsive design works on mobile and desktop

Cons:\ - Requires network connectivity\ - Higher resource usage on microcontroller\ - Limited to HTTP protocol without websockets\

Best Use Cases: Ideal for local control systems, home automation interfaces, and projects where multiple users need access through different devices

-

Command Line Interface\ Pros:\ - Minimal resource usage\ - Simple to implement\ - Scriptable and automatable\

Cons:\ - Not user-friendly for non-technical users\ - Limited visual feedback\ - Requires terminal access

\ Best Use Cases: Development and debugging tools, headless systems, or scenarios with very limited resources


Files

Add all files created for this group assignment

See below link to to files created this week:

Microdot

Microdot asyncio

Simple Dashboard