I recently developed an Arduino library to produce square waves on an ATmega328 with 256 volume levels – with just a digital output. I keep pushing 8-bit AVRs to their limits to avoid moving unnecessarily to a 32-bit system like the Teensy or Due. Not because higher end systems scare me, but because I love breaking the expectations of a device. A digital output isn’t supposed to produce analog audio, AC mains leakage isn’t something you normally want on an input, and normally you wouldn’t use it to detect regions or motion. But that’s what I love the most.
I see too many guys using a full embedded Linux system just to read a pin and do a thing because it’s easy. Old tech is capable of so much more before it’s obsolescence, and one of my biggest inspirations in that respect is Nintendo’s Gunpei Yokoi.
Before he passed, his giant contribution to video games was not just the concept of the Gameboy, but the choice of how it was made. These choices are still a part of why Nintendo doesn’t compete with the fastest processor or the best GPU today. They obviously had access to color screens in 1989. They had backlights, faster processors, wireless communication, and more. But color took more RAM, backlighting ate batteries for breakfast, and only a select few could confidently develop machine code for a cutting-edge processor released just a few months ago. He chose to go without color and saved us money. He ditched the backlight and saved all our AA’s. He went with an older SHARP CPU based on the 8080 (which a huge number of people already knew how to develop for) and gave us a MASSIVE library of timeless games.
Try naming 5 games from the color, backlit, faster, more expensive Atari Lynx handheld released the same year.
His philosophy was “Lateral Thinking With Withered Technology”. You don’t need the cutting edge as long as the output is something special and unique to someone. Finding a new way to use a mature technology is not only cheaper for you and your end user, but more people will understand how to use/modify/develop for it. That’s why I love pushing the 20-year old AVR architecture to it’s limits.