Skip to main content

1. Group Assignment Toolchain Comparison and Selection Analysis

To evaluate the suitability of different development approaches for TFT driving and AI voice applications, our group conducted a systematic comparison of the following three toolchains:

Arduino IDE

Description: Integrated development environment for programming Arduino microcontrollers. Typical Use: Useful for interfacing with sensors, motors, and displays in Arduino-based projects. URL: Arduino IDE It is known for its simplicity and effectiveness in getting hardware prototypes up and running quickly. Great community support and extensive libraries make it a staple in competitions.

MicroBlocks (VS Code + PlatformIO)

Combines the intuitiveness of graphical programming with the engineering flexibility of VS Code, making it ideal for educational scenarios and rapid prototyping. PlatformIO's dependency management and build system effectively enhance team collaboration efficiency. Nevertheless, it underperforms in scenarios requiring low-level register manipulation or stringent real-time responsiveness compared to native SDKs.

ESP-IDF

Provides the most comprehensive feature set, including a rich component library and native FreeRTOS support. It is the preferred choice for complex projects such as the XiaoZhi AI voice dialogue system. The build system is flexible, and debugging tools are robust. However, the learning curve is steeper, and it demands a higher level of embedded systems expertise from developers.

Thonny(MicroPython and CircuitPython)

Description: Thonny is an integrated development environment (IDE) specifically designed for beginners learning Python. It offers a simple and user-friendly interface, highlighting syntax errors, and allowing step-by-step execution. Typical Use: Often used in educational settings for teaching Python basics and for small Python projects. URL: Thonny Great for beginners due to its clear syntax errors, easy variable viewing, and simple debugger. Ideal in educational competitions for its simplicity.

VS Code

Description: Visual Studio Code (VS Code) is a lightweight but powerful source code editor which runs on your desktop and is available for Windows, macOS, and Linux. Typical Use: It comes with built-in support for JavaScript, TypeScript, and Node.js, and has a rich ecosystem of extensions for other languages (such as C++, C#, Java, Python, PHP, Go) and runtimes. URL: VS Code Appreciated for its versatility, extensive plugin system, and strong community support, making it ideal for almost any programming task in competitive coding.

Postman

Description: Postman is a collaboration platform for API development. It simplifies each step of building an API and streamlines collaboration so you can create better APIs—faster. Typical Use: Used for building and testing APIs, automating testing processes, and collaborating on API development. URL: Postman It is valued in competitions for its user-friendly interface and powerful features for API testing and debugging.

Node-RED

Description: A programming tool for wiring together hardware devices, APIs, and online services. Typical Use: Suitable for home automation and Internet of Things (IoT) applications. URL: Node-RED Its flow-based programming model is intuitive, making it easy for newcomers to integrate various services and devices. Highly effective in IoT competitions.

Description: A platform for numeric computing and model-based design, combined with Simulink for system simulation. Typical Use: Research, complex mathematical computations, system modeling. URL: MATLAB Highly regarded in academia and industry for its powerful analysis tools. Best suited for data-intensive and algorithmic competitions.

Qt Creator

Description: A cross-platform C++ development environment for creating connected devices and UIs. Typical Use: Applications needing graphical user interfaces that interact with hardware devices. URL: Qt Creator It is well known for its robust toolset for building complex user interfaces, preferred in projects where performance and customization are key.

Horizontal Comparison of Tool Interfaces and Options

To provide a clearer selection guide, we directly compared the tools from four aspects: Interface Type, Core Interaction Method, Key Configurable Options (UI-related) , and Debugging/Monitoring Tools.

ToolchainInterface TypeCore InteractionKey Interface OptionsDebugging/Monitoring Tools
Arduino IDETraditional Desktop IDEMenu + Toolbar ButtonsBoard selection, Port selection, Library ManagerSerial Monitor (Basic)
MicroBlocks (VS Code+PlatformIO)Modern Extensible IDECommand Palette + Graphical Config UIProject config (platformio.ini), Graphical library searchBuilt-in Serial Monitor, Tasks panel, Debugger (configurable)
ESP-IDFCLI + VS Code PluginCommand-line + idf.py menuconfigidf.py menuconfig (Graphical config system), sdkconfigMonitor (idf.py monitor), Profiling tools
ThonnyMinimalist Educational IDEToolbar Buttons + Interactive ShellInterpreter selection, Port selectionSimple variable viewer, Step-by-step debugger, Object inspector
VS CodeModern Extensible IDECommand Palette + Settings UIUser/Workspace settings (JSON/GUI), Extension managementIntegrated terminal, Debug console, Variable watch, Breakpoint management
PostmanStandalone GUI AppRequest Builder + Visual WorkflowEnvironment variables, Global settings, Certificate managementRequest/Response viewer, Console logs, Test runner
Node-REDBrowser-based Flow EditorDrag-and-drop nodes + WiresNode property panels, Flow configuration, Environment variablesDebug sidebar, Inject node, Function node logs
MATLAB+SimulinkProfessional Math & Modeling EnvCommand-line + Visual Block Diagram EditorToolbox management, Model config parameters, Solver settingsWorkspace browser, Variable editor, Simulink Scope
Qt CreatorModern C++/QML IDEVisual UI Designer + Code EditorBuild Kit selection, QML/UI file designerApplication output, Debugger (GDB/CDB), QML Profiler

Analysis:

  • For rapid functional verification and beginners, Arduino IDE and Thonny are most efficient due to their simple interfaces and intuitive options.

  • For graphical UI design (e.g., TFT display layout), Qt Creator's visual designer offers a clear advantage.

  • For complex system configuration (e.g., audio pipelines for AI voice), ESP-IDF's menuconfig provides the most detailed low-level tuning options.

  • MicroBlocks (VS Code+PlatformIO) and VS Code itself are the most extensible in terms of interface, capable of adapting to multiple workflows via plugins.

Summary:

In conclusion, Arduino IDE is best suited for functional verification, MicroBlocks excels in rapid prototyping and educational demonstrations, while ESP-IDF remains the go-to solution for production-grade products and high-performance applications. In this project, the TFT display module was primarily developed and verified using MicroBlocks, whereas the voice dialogue subsystem was deeply customized with ESP-IDF, thereby leveraging the distinct strengths of each toolchain.

https://fabacademy.org/2026/labs/chaihuo/docs/week15/week15_group_assignment/