When [Adam, HA8KDA] He is not busy with his PhD studies, he advises a group of students interested in engineering. To teach them a wide range of topics, he set out to create a small and entertaining embedded project while they watched and participated along the way. With this LED-equipped ATTiny13A project, [Adam] Show schematic and PCB design, then teach C ++ basics and complexity – especially when it comes to creating low-footprint software – and tie it together with a real-world device that students can take home after the project. His course has gone beyond the “hello world” we normally expect, and some of us can only wish for a university experience like this.
He shares PCB files and software with us, but also talks about the C ++ 20 framework he created for this ATTiny. ATTiny13A is very cheap, and very limited – you get 1K ROM and 64 bytes of RAM. This framework allows you to make the most of it, providing basic features like GPIO wiggling, but also provides things like soft PWM and EEPROM access with low-power operation hooks, optional multi-phase operation support. Students can write their own animations for this device, and she includes them in the repo!
In educational projects, it pays to keep the code straight and clear, craft-less and accessible to students. These things you can only achieve when you really understand the tools you are working with, which is the right place to teach them! [Adam] Wants to show that C ++ is suitable for low-resource devices, and tells us about the EEPROM class code he wrote – compiling the same amount of instructions as an assembly implementation and using the same amount of RAM when providing compile-time. Check and fail-secure syntax.
We’ve talked about using C ++ in microcontrollers before, getting additional compile-time features without overhead, and this project illustrates the idea well. [Adam] Asks all of us, and especially our fellow C ++ wizards, for their feedback on the framework he designed. Can you achieve more with this simple hardware – make the code stronger, clearer, it can do more with limited resources?
What can you create with an ATTiny13, especially with such a structure? A chic hair clip wearable, presumably, or code-learning RF-remote-controlled outlet. We also saw a small camera trigger for the endurance race, a handheld Flappy BirdLike the console, and much more!