In my dissertation, I present the further development and modification of my Rubik’s cube equipped with touch sensing, which was designed during Project Laboratory.
The aim of this project is to create a development platform for students which helps them to learn embedded software development at a higher level with a tool, that provides a variety of features.
The device created during the Project Laboratory was able to display the current state of the game, to detect simple gestures and to perform the rotations that were triggered by them.
However, in that version, there were no special sensors, communication interfaces, and no bootloader firmware upgrade was possible.
After making the final system plan, I have designed an improved version of the side panel PCBs and the control panel with new features. During the production of the PCBs I developed a firmware which consists the easy-to-use communication interface of the side panels and I also created the development documentation for it.
After getting the PCBs and finishing the necessary rework and soldering, I started to write the firmware of the control panel. My goal was to facilitate the further development so I started with the bootloader. After that I started to write the firmware of the control panel and the user documentation simultaneously.
By the end of the development process the platform became a powerful tool for students to realize their projects. As a result of the design it is not only possible to write programs to it as a single cube, but also to use the side panels as separate touch screens.