Digital Twin via Raspberry Pi and Python
I am relatively late to the hobbyist computer/automation scene and I enjoy the privilege of picking from the best content produced over the last several years in exchange for the excitement inherent in being the first on the scene. I found an excellent series of instructional videos on Youtube recently. They were sponsored by SunFounder and created and presented by a high school science teacher, Paul McWhorter.
What sets Paul apart is his focus and excitement around the unique opportunity cheap single-board-computers afford students to learn fundamental principles. He loves to reveal the science usually hidden in beige boxes and smart phones. His lessons build on each other so that the learner begins to appreciate engineering principles involved in combining repeatable steps to create more complex, creative solutions.
I was amazed to find myself creating a single python program to set RGB LED colors on a breadboard while simultaneously updating a 3D rendering of it after only a dozen lessons. While it leverages a library to make the 3d rendering part very easy, it points out the value of abstraction and interfaces when thinking about device interactions and program design in a very intuitive manner.