Inspiration
Our goal was to demystify the programming of microcontrollers by making it easier for newcomers / inexperienced developer to systematically automate process through easily approachable block-style and connection interfaces.
What it does
Itch allows you to build microcontroller powered projects without needing to know the more complex side of programming and flashing code onto microcontrollers. User's can model their circuit on a visual development board, then build their program using block-style programming and upload it and run it on the physical board without ever needing to exit the Itch interface.
How we built it
Itch was built with user interface in mind, therefore we used an HTML, CSS front end to create a dynamic and user-friendly GUI, we leveraged tools such as chatgpt to quickly spin up html, and css as to avoid wasting time on such tedious task.Js was utilized as well to prepare the user defined inputs into JSON files and bring our GUI pages to life. We used python to process data, connecting the front and backend using a Flask web server, and translate it into standalone C++ that we then compile and upload to any supported Arduino board using CLI tools and the Arduino libraries. We brought Itch to the desktop using edge webview2 and pywebview to create a desktop app.
Challenges we ran into
We quickly ran into holes in our planning as we started programming due to the complexity of translating between languages using a custom pseudo code.
Accomplishments that we're proud of
We are quite pleased that Itch is able to not only generate code based on user inputs, but also upload and run programs on Arduino based devices without having to leave the Itch GUI.
What we learned
During our time developing itch we learned how to create integrations within multi-language programs, and apply OOP principles to create easily maintainable back-end code bases.
What's next for Itch
Itch will receive updates to make the UI more approachable and intuitive, as well as expanded capabilities for a variety of components used in robotics and process automation. Itch will also likely receive QOL updates to make code more maintainable and readable.