跳转至

Week 18 - Applications & Implications

The theme of this week is Applications and Implications / Project Development . The task requirements given on the course page are: Course Page: https://fabacademy.org/2026/classes/applications_implications/index.html

This week's assignment is not to continue developing a new module, but rather to conduct a comprehensive planning and reality check for the final project. The course requires us to answer a series of questions, clarifying what the final project will entail, which existing work it references, which parts need to be designed and fabricated, where the materials will come from, what the costs are, which processes will be used, and finally how to evaluate its success.

The problem I need to solve this week is: As my final project, how can I integrate the 2D/3D design, additive and subtractive manufacturing, electronic design and production, embedded programming, input/output, communication, system integration, and enclosure packaging learned in Fab Academy into the Maker Assistant?

1. Understanding this week's tasks

Applications and Implications This week is more like a final project proposal. It requires me to advance the project from the stage of "I want to make something" to the stage of "I know how it will be made, how it will work, and how it will be evaluated".

For my final project Maker Assistant , the questions to be answered this week include:

  • What will it do?
  • Who did what before?
  • What sources of information will I use?
  • What will I design?
  • What materials and components will be used?
  • Where will they come from?
  • How much are they?
  • Which components and systems will be manufactured?
  • What processes will be adopted?
  • Which questions need to be answered?
  • How to evaluate whether a project is successful?

These questions can help me confirm that the final project is not a stack of several independent functions, but a complete and independently operable digital manufacturing work.

2. Project Overview

My final project is Maker Assistant, a desktop status feedback device for AI programming workflows.

It can convert the execution status of Claude Code, Codex CLI, or similar AI Agent tools in the terminal into lights, voices, and screen animations on physical devices, allowing users to know whether the current task is running, waiting for confirmation, encountering an error, or has completed without constantly staring at the terminal.

The core idea of this project is:

Text Only
AI Agent 终端状态
      -> 电脑端 Hook / Daemon 捕获
      -> BLE / 通信协议发送
      -> ESP32 设备接收
      -> 灯光 / 语音 / 屏幕反馈

That is to say, Maker Assistant is not an ordinary desktop ornament, but an interactive device that brings software states into the physical space.

3. What will it do?

The Maker Assistant will display the running status of AI programming tools. Its goal is not to replace Claude Code or Codex, but to add an external state awareness layer to these tools.

It needs to perform the following functions:

  1. When the AI Agent is executing a task, the device displays the "Running" status.
  2. When the Agent is waiting for user approval or input, the device alerts the user with prominent lights and voice prompts.
  3. When a command execution fails or a test reports an error, the device displays an error status.
  4. When the task is completed, the device indicates the completion status.
  5. When the connection is disconnected, the device enters the disconnection prompt state.
  6. Users can perceive the current state of the Agent through desktop devices without constantly looking at the terminal.

The preliminary correspondence between states and feedback is as follows:

Status Meaning Device Feedback
Idle Idle Soft standby light or standby animation
Working is being executed Breathing light or running animation
Pending Waiting for approval Yellow flashing and voice reminder
Completed Task completed Green light and completion beep
Error An error occurred Red light and error beep
Disconnected Connection Disconnected Gray status or disconnection prompt

4. Who did what before?

This project does not invent all technologies from scratch, but combines multiple existing directions into a new application scenario.

4.1 AI Programming Tools

AI programming tools such as Claude Code and Codex CLI can already perform tasks, modify files, run commands, request approvals, and output results in the terminal. However, their status mainly exists in terminal text, and users need to constantly check the screen to promptly detect status changes.

My project focuses on how to convert these terminal states into information that an external physical device can express.

4.2 Desktop reminder device and status light

There are many status lights, tomato clocks, desktop reminders, and notification devices available on the market and in the maker community. They are commonly used to display time, weather, email reminders, or build status.

These projects demonstrate that desktop hardware can effectively convey simple states, but they are generally not specifically tailored to the programming workflow of AI Agents, nor are they designed for Agent states such as "waiting for approval, in progress, tool failure, task completed".

4.3 ESP32 and the Open Source Hardware Ecosystem

Tools such as ESP32, WS2812B, TFT screen, I2S amplifier, MicroPython, BLE, and WebSocket are already well-developed. My job is not to reinvent these technologies but to integrate them into a clear application.

4.4 My Innovation Points

The innovative aspect of my project lies in:

  • Convert the software state of the AI Agent into physical feedback;
  • Design a state protocol for the programming workflow;
  • Combine lighting, voice, and screen animation;
  • Enables the device to work independently on a desktop;
  • Completed the enclosure, electronics, firmware, communication, and system integration through Fab Academy's digital manufacturing process.

5. What sources of information will I use?

This project will use the following materials and tools as references:

Source Usage
Fab Academy Course Materials 2D/3D design, electronic design, input/output, network communication, and system integration methods
ESP32 / MicroPython Documentation Develop device-side firmware, BLE communication, I2S audio, and peripheral control
aioble / bleak Documentation Implement BLE communication between the device and the computer
Claude Code Hooks Documentation Get Agent runtime events
WS2812B / FastLED / NeoPixel 资料 Design lighting status feedback
MAX98357A I2S Power Amplifier Data Implement voice broadcast
LVGL / TFT Screen Information Panel screen interface and animation display
JLC EDA / LCSC Mall Information PCB Design, Component Selection, and Prototyping
Bambu Studio / 3D Printing Experience Slicing and Printing of Shells and Accessories
Existing project code repository Organize the computer-side daemon, device-side firmware, and installation tools

The final project code will be organized into a public repository:

https://github.com/FreakStudioCN/MicroPython_Claude_Assistant_Public

6. What will I design?

The content to be designed in this project can be divided into four categories.

6.1 Device Form and Enclosure

I will design a desktop character device enclosure. The final project will use the Clock Alarm Edition as the main manufacturable version, while retaining the Panel / D-Shell Panel Edition as an expansion direction.

The Clock version has a simpler structure and is suitable for completing a full manufacturing closed loop: enclosure design, 3D printing, electronics installation, lighting and voice feedback, BLE communication, and final testing.

The shell design needs to consider:

  • It can accommodate ESP32, PCB, speaker, LED, and wires inside;
  • Externally, it has a role-based appearance rather than a common electronic box;
  • The bottom is stable and not easily knocked over by the USB cable;
  • The speaker location shall have openings or channels;
  • The housing can be disassembled for easy maintenance and reprogramming;
  • Accessories can be printed and replaced independently.

6.2 Electronic System

I will design or organize a PCB/carrier board suitable for ESP32-C3 to connect the main controller, lights, power amplifier, speaker, vibration motor, and debugging interface.

The goal of electronic design is to enable the final device to not rely on loose DuPont wires, but rather form a more stable and assembly-friendly structure.

6.3 Embedded Firmware

I will write the ESP32 firmware to implement the following functions:

  • Initialize lights, audio, and screen;
  • Receive status messages from the computer;
  • Parse the state protocol;
  • Maintain the device-side finite-state machine;
  • Refresh the lights, voice, and screen animations according to the state;
  • Handle disconnection and reconnection;
  • Keep the main loop running stably.

6.4 Computer Program and State Protocol

I will design a computer-side daemon process and a status protocol. The computer side needs to capture statuses from Claude Code / Codex-like tools and convert them into short messages suitable for hardware devices to receive.

For example:

JSON
{
  "ss": [
    {
      "n": "demo",
      "s": "P",
      "m": "Command approval required",
      "slot": "a1b2"
    }
  ]
}

Among them, s represents the state: I is idle, W is working, P is waiting for approval, C is completed, E is error.

7. What materials and components will be used?

The main materials and components are as follows:

Category Component or Material Usage
Master Control ESP32-C3 Development Board Clock version master controller, responsible for BLE, lighting, and audio
Extended Master ESP32-S3 Development Board / D-Shell Board Panel / D-Shell Version Screen and Touch Controls
Lighting WS2812B RGB LED Displays different state colors and blinking rhythms
Audio MAX98357A I2S Digital Power Amplifier Module Drive the speaker to play voice prompts
Sound Output 4Ω / 3W Small Speaker Play startup, completion, error, and waiting for approval prompts
Vibration Micro Vibration Motor / Vibration Sensor Optional tactile feedback or tap input
Show 2.4-inch ST7789 TFT Screen Panel state animation and text display
Touch CST816S / GT911 Touch Module Panel Interaction Input
Structure PLA / PETG Printing Materials Print accessories such as shells, bodies, glasses, hats, etc.
circuit Self-made PCB, pin headers, connectors Connect the main control and peripheral modules
Fixed M2 / M3 Screws, Nuts, Heat-set Copper Nuts Fix the housing, PCB, and speaker
Software MicroPython、Python、Claude Code Hooks Firmware, PC-side daemon process, and status capture

8. Where will they come from?

Material sources are as follows:

Materials / Components Source Instructions
ESP32-C3 / ESP32-S3 Development Board Taobao / Lichuang Mall Facilitates procurement and rapid development
WS2812B RGB LED Lichuang Mall / Taobao Commonly used programmable RGB LED beads
MAX98357A I2S Power Amplifier Module Lichuang Mall / Taobao ESP32 can be directly driven
Speaker, vibration motor, pin header, DuPont wire Taobao / Lab Inventory Universal low-cost components
PCB Prototyping JLC Proofing after JLCPCB EDA Design
Resistors and Capacitors, Interfaces, Connectors Lichuang Mall PCB Peripheral Components
PLA / PETG Filament Fab Lab / Taobao For 3D printed housing
Screws, nuts, hot-melt copper nuts Taobao / Lab Inventory Used for assembly and fixation
TTS Voice Resources Doubao TTS Generate device beep sound

The parts that are preferably self-made include the housing, accessories, PCB, firmware, status protocol, computer program, and assembly structure. The items mainly purchased are standard electronic components and consumables.

9. How much do they cost?

The following is a rough cost estimate for a single prototype of the Clock Alarm Edition. The prices are estimated based on common domestic procurement channels, and the Actual Cost will be affected by procurement quantity, shipping fees, and inventory.

Name Quantity Unit Price Estimation Total Price Estimation Source Remarks
ESP32-C3 Development Board 1 ¥18 ¥18 Taobao / LCSC Mall Main Control
WS2812B RGB LED 2 ¥1 ¥2 Taobao / LCSC Mall Status Light
MAX98357A I2S Power Amplifier Module 1 ¥8 ¥8 Taobao / LCSC Mall Voice Output
Small Speaker 1 ¥6 ¥6 Taobao 4Ω / 3W
Vibration Motor 1 ¥3 ¥3 Taobao Optional Haptic Feedback
Vibration Sensor 1 ¥2 ¥2 Taobao Optional Tap Input
USB Cable / Interface / Pin Header 1 batch ¥8 ¥8 Taobao / Inventory Power Supply and Connection
PCB Prototype 1 ¥20 ¥20 JLCPCB Small Batch Amortization
Resistors and Capacitors, Pin Headers, Connectors 1 batch ¥8 ¥8 Lichuang Mall PCB Periphery
PLA / PETG Printing Materials Approximately 120g ¥0.15/g ¥18 Fab Lab / Taobao Shells and Accessories
Screws, Nuts, Heat-melted Copper Nuts 1 batch ¥5 ¥5 Taobao / Inventory Assembly and Fixing
Total Approximately ¥98 Estimation of a Single Clock Prototype

The Panel / D-Shell version will incur higher costs due to the addition of a screen, touch functionality, and a more complex PCB. Therefore, the Clock version has been designated as the final deliverable main version in this week's plan.

10. Project Schedule and Milestones

In addition to BOM and cost estimation, the final project also requires a clear time plan. BOM answers "what materials are needed and how much they cost", while the project schedule answers "when each stage will be completed". Only by combining the two can we determine whether the project can be completed on time before the final presentation of Fab Academy.

This project takes Clock Alarm Edition Maker Assistant as the final deliverable main version, and the Panel / D-Shell version as the expansion direction. The project plan will be advanced in the order of "requirement confirmation -> structure and electronic design -> manufacturing -> programming -> integration testing -> documentation and presentation".

Date / Time Period Phase Milestone Main Task Deliverables / Criteria
From 2026-06-01 to 2026-06-03 Project Definition Determine the final project scope Define the application scenarios, target users, status types, and main hardware forms of the Maker Assistant; decide to use the Clock Alarm Edition as the final version Complete the project problem definition, feature list, and status feedback form
2026-06-04 to 2026-06-06 System Solution Complete the system architecture design Organize the data flow among computer-side Hook / Daemon, BLE communication, ESP32 device-side, and lighting voice output Completed the system block diagram, draft state protocol, and module division of labor
2026-06-07 to 2026-06-09 Materials and BOM Complete the Bill of Material and procurement plan Determine the sources and budgets of major materials such as ESP32-C3, WS2812B, MAX98357A, speakers, PCB, PLA/PETG, and screws Complete Bill of Material (BOM), cost estimation, and procurement/inventory confirmation
2026-06-10 to 2026-06-12 Structural Design Complete the design of the enclosure and internal assembly Design the Clock housing, character accessories, PCB fixing structure, speaker position, wire space, and detachable structure Completed the first version of the 3D model, which can be exported as STL and undergo printing evaluation
2026-06-13 to 2026-06-15 Electronic Design Complete PCB/Carrier Board Design Draw the schematic diagram, complete the connection of ESP32, LED, I2S power amplifier, speaker, vibration module, and interfaces; check the power supply and wiring Complete PCB files, Bill of Material (BOM), Gerber, or manufacturable files
2026-06-16 to 2026-06-18 Manufacturing Phase Complete enclosure printing and PCB fabrication Print the enclosure and accessories, fabricate or prototype the PCB, and prepare screws, copper nuts, and wires Obtain assemblable enclosures, accessories, PCBs, and electronic components
2026-06-19 to 2026-06-20 Welding and Unit Test Complete the basic test of the electronic module Weld the PCB and module, and separately test ESP32 power supply, WS2812B lighting, MAX98357A audio, speaker, and optional vibration input Each hardware output module can operate independently, with no short circuits or abnormal power supply
2026-06-21 to 2026-06-22 Embedded Programming Completed the main process of ESP32 firmware Implements state reception, finite-state machine, light feedback, voice playback, disconnection prompt, and basic logging The device can receive the test status and display corresponding light/voice feedback
2026-06-23 to 2026-06-24 Computer program Completed Hook / Daemon / BLE Push Organize the event capture logic of Claude Code / Codex, convert the state to a short JSON protocol, and send it to the ESP32 via BLE The computer can stably send I/W/P/C/E status to the device
2026/6/25 System Integration Complete the assembly and joint debug of the entire machine Install the PCB, speaker, LED, and wires into the housing, complete firmware burning, and conduct BLE connection and real-world scenario testing The whole machine can run on the desktop and correctly display the states of running, waiting, completion, error, and disconnection
2026/6/26 Evaluation and Presentation Complete final testing, documentation, and presentation materials Supplement test results, photos, demonstration videos, final project pages, licenses, and downloadable files Complete the Final Project document, Week 20 presentation materials, and one-minute video

To reduce schedule risk, I've divided the project into three priorities:

Priority Content Reason
must be completed Clock Alarm Edition Shell, ESP32-C3, Lighting, Voice, BLE Status Reception, Computer End Status Transmission, Final Assembly and Testing This is the core closed loop determining whether the final project can be established
Try to complete Vibration feedback, more character accessories, more complete installation tools, and exception handling These features can enhance the experience but do not affect the core demonstration
Expansion Direction Panel / D-Shell Screen Version, Multi-Session History Display, Touch Menu, Battery-Powered These contents are more complex and can be used as subsequent versions, not as a necessary condition for the final display

This schedule is also used for project evaluation: if a phase is delayed, I will prioritize ensuring the main link of "computer status -> BLE -> ESP32 -> lighting/voice feedback -> enclosure assembly" rather than prioritizing appearance expansion or screen version features.

11. Which components and systems will be manufactured?

This project will manufacture the following components and systems.

11.1 Physical Structure System

Includes 3D printed housing, character accessories, internal fixed structure, speaker mounting position, PCB fixing posts, and removable housing.

This part needs to be completed:

  • 3D Modeling;
  • FDM Printing;
  • Grinding and assembly;
  • Processing of screw holes and hot-melt copper nuts;
  • Reserved space for wire routing.

11.2 Electronic Systems

Includes ESP32-C3, WS2812B, MAX98357A, speaker, vibration feedback, and PCB connection system.

This section needs to be completed:

  • Schematic design;
  • PCB wiring;
  • Proofing or milling;
  • Component soldering;
  • Power supply and short-circuit inspection;
  • Lighting and audio test.

11.3 Embedded Systems

Includes ESP32 firmware, finite-state machine, lighting rendering, voice playback, BLE reception, and disconnection handling.

11.4 Computer Software System

includes hook bridge, daemon, BLE transport, device pairing tool, voice resource generation, and installation check tool.

11.5 System Integration and Packaging

Ultimately, it is necessary to combine software, communication, electronics, and structure into an independently operable desktop device, rather than several scattered experimental modules.

12. What processes will be adopted?

This project will utilize various processes learned in Fab Academy.

Process Usage in the project
2D Design Design display graphics, stickers, status icons, and document visual creatives
3D Design Design the shell, character body, accessories, and internal assembly structure
Additive Manufacturing Use FDM 3D printing for shells and accessories
Subtractive Manufacturing Laser cutting or CNC can be used to fabricate display bases, nameplates, or auxiliary structures
Electronic Design Design the ESP32 carrier board and peripheral circuits
Electronic Production PCB prototyping, soldering, inspection, and testing
Embedded Programming Write ESP32 MicroPython Firmware
Input Device Vibration Sensor or Touch Input
Output Device WS2812B Lights, Speakers, TFT Screen
Communication and Network Status transmission methods such as BLE / WebSocket / Serial Port
Interface and Application Programming Python daemon, Hook Bridge, and installation tools
System Integration Assemble the computer, communication, device, and housing into a complete system
Packaging Enclosure, internal fixation, wire management, and maintainable structure

13. Which questions need to be answered?

This project needs to answer the following key questions before completion.

13.1 Is state capture reliable?

Can the events of Claude Code/Codex-like tools be stably captured by the computer? Can the states be converted into a unified format under different tools, different tasks, and different error conditions?

13.2 Is the communication stable?

Is BLE stable enough in the Windows environment? Can the device automatically reconnect after disconnection? Can status changes be displayed on the device within an acceptable delay?

13.3 Is the state expression clear?

Can users understand the current state without looking at the terminal, only through lights, sounds, or the screen? Which states require voice, and which states only require lights?

13.4 Will voice reminders disturb users?

If voice announcements are made for every event, the device will become very noisy. Therefore, it is necessary to determine which states are worth announcing and which should be displayed silently.

13.5 Is the enclosure suitable for assembly and maintenance?

Is the internal space of the 3D printed enclosure sufficient? Can the speaker, PCB, LED, and wires fit inside? Can the enclosure be disassembled for repair?

13.6 Has the project truly reduced the burden on users?

The final evaluation should not solely focus on whether the device can light up, but rather on whether it truly reduces the number of times users frequently switch back to the terminal to check the status.

14. How to evaluate a project?

The project will be evaluated from five aspects: functionality, stability, readability, manufacturing completeness, and real-world usage scenarios.

Test Item Testing Method Success Criteria
State Capture Trigger events such as prompt, tool use, notification, stop, failure, etc. The computer can recognize and convert it into a state
Status Protocol Use test scripts to verify the parsing of W/P/C/E/I status Status messages can be correctly parsed by the device side
BLE Push The computer terminal pushes status to the device at a fixed frequency State changes can be displayed in a timely manner
Light Feedback Simulate idle, working, pending, completed, and error respectively Colors and blinking rhythms can be clearly distinguished
Voice Feedback Play startup, connection, disconnection, completion, error, and waiting for approval prompt tones The speaker is clear, and the prompts are not overly intrusive
Housing Assembly Install the PCB, speaker, LED, and wires into the housing The housing can close without squeezing the wires inside
Disconnection Recovery Reconnect after disconnecting BLE or shutting down the daemon The device can enter the disconnected state and recover
Real Scenario Run long tasks in Claude Code, wait for approval, and handle failed commands Users can promptly perceive the status through the device

If the device can stably display the running, waiting for approval, error, and completed statuses in a real AI programming workflow, and users do not need to constantly stare at the terminal, it indicates that the project has achieved its expected goals.

15. Applications and Impacts

The application scenarios of Maker Assistant are not limited to Claude Code. It represents an approach of "materializing software states".

Possible applications include:

  • AI Agent Task Status Reminder;
  • CI/CD Build Status Reminder;
  • Server task monitoring;
  • Reminder for laboratory equipment operation;
  • Multi-project task board;
  • Remote task completion prompt;
  • Sound and light reminder device for accessibility needs.

The impact of this project lies in the fact that as AI Agent workflows become increasingly common, users do not necessarily need to constantly stare at the terminal waiting for results. A small desktop hardware can separate key status from the screen, allowing people to perceive software systems in a more natural way.

16. This Week's Summary

Through this week's Applications and Implications, I have refined the Maker Assistant from a final project idea into a more explicit manufacturing plan.

It needs to integrate the following capabilities:

Text Only
2D / 3D 设计
      -> 3D 打印和可能的减材制造
      -> PCB 设计与焊接
      -> ESP32 嵌入式编程
      -> 输入输出设备
      -> BLE 通信
      -> 电脑端应用程序
      -> 系统集成和外壳封装

The focus of the final project is not to prove that a single module can work independently, but to prove that the entire link can operate independently:

Text Only
AI Agent 状态
      -> 电脑端捕获
      -> 状态协议
      -> BLE 推送
      -> ESP32 接收
      -> 灯光 / 语音 / 屏幕反馈

This week's plan has also made it clearer to me what should be prioritized during the final sprint: a stable state link, a clear feedback mechanism, an assemblable enclosure, and test scenarios that can truly demonstrate value.

AI Assistance:

During the preparation of this documentation, ChatGPT (GPT-4) was used as a language assistance tool.

It helped with sentence polishing and translation from Chinese to English to improve readability and clarity.