Week 18: Porject Development
June 1, 2024
Project Development: ToGO
Completed Tasks
-
Cube Design and Fabrication
- 3D printed cube enclosures with magnetic covers.
- Custom PCBs designed and fabricated using KiCad and Roland SRM-20.
- Integration of ESP32-C3 microcontrollers, OLED displays, and WS2812B LEDs.
-
Board System Assembly
- Construction of the board using 20mm x 20mm Sigma profiles and plexiglass sheets cut with a laser cutter.
- Installation of 42 WS2812B LED strips on the board.
- Power management for the LED strip and Raspberry Pi with a single on/off power supply.
- Vinyl used for matrix creation and design.
-
Software Development
- Development of the cube control and communication software using Arduino and Python.
- Implementation of algorithms such as Dijkstra, A*, BFS, and DFS.
- Creation of a web interface for user and admin control using Flask, HTML, CSS, and JavaScript.
-
Testing and Debugging
- Extensive testing of hardware and software components.
- Debugging and optimization of communication protocols and algorithms.
Remaining Tasks
-
Final Integration and Testing
- Ensure seamless interaction between the board and cubes.
- Finalize and test the web interface for user and admin control.
-
Documentation
- Create comprehensive documentation for hardware and software components.
- Prepare user manuals and instructional videos.
-
Final Presentation Preparation
- Develop a presentation for the Fab Academy final project review.
- Create a demo video showcasing the project’s features and capabilities.
What Has Worked?
- The cube designs and magnetic covers have worked well for easy assembly and access.
- The integration of ESP32-C3 microcontrollers, OLED displays, and WS2812B LEDs has been successful.
- The board system with LED strips and the Raspberry Pi has been functional and effective.
- The algorithms for pathfinding (Dijkstra, A*, BFS, DFS) have been implemented and tested successfully.
- The web interface for control and simulation has been user-friendly and functional.
What Hasn’t Worked?
- Initial attempts to establish reliable communication between cubes and the board encountered issues.
- Some difficulties were faced in optimizing the ArUco marker detection algorithm for real-time performance.
- Network and simulation challenges occasionally arose during development.
- Multithreading issues were encountered when managing the communication between the cubes and the board using Flask.
Questions to be Resolved
- How can the communication protocol be further optimized for faster and more reliable performance?
- What additional features can be added to enhance the user experience?
- How can the cubes be further miniaturized for more efficient use?
Lessons Learned
This project has been a comprehensive learning experience, aligning with the “make, fail, learn” motto. I have strived to parallel design research with the 20-week program, encountering several challenges and valuable insights along the way. The planning, especially in PCB design, required twice the anticipated time. However, achieving a screwless cube design with magnetic covers proved successful. This design allows easy access to internal mechanisms, facilitating quicker troubleshooting and solutions, while also concealing electronics to maintain user focus.
Designing the light flow for the board, programming, and ensuring seamless communication between components was a unique and instructive challenge. My goal was to simplify re-assembly and assembly of all components.
Future Plans
- Miniaturization: Further reduce the size of the cubes and optimize power management.
- Classroom Integration: Develop a web interface for classroom use, allowing students to program and simulate algorithms based on questions.
- Diorama Addition: Integrate a diorama for storytelling and algorithm demonstrations for younger students.
- HCI Research: Enhance the project as part of Human-Computer Interaction research and integrate it into AI coursework.
- Power Management: Continue optimizing power management, including the use of step-up converters for ESP32-C3 within the cubes.
- Educational Impact: Use the project to teach algorithms and AI concepts, making it a valuable educational tool.
Research Component
This project will also be part of my research, focusing on:
- Human-Computer Interaction: Studying how users interact with the ToGO system and improving its usability and effectiveness.
- Educational Methods: Exploring innovative ways to teach algorithms and AI concepts through interactive simulations.
- Technology Integration: Investigating the integration of advanced technologies in educational settings to enhance learning experiences.
I loved working on this project, and I am committed to its future development and integration into my teaching and research.
Hero Shot