Sometimes beyond what pre-built things can offer.
Got my Atmel ATTiny85 microcontrollers in the mail today (along with the Wifi module I talked about earlier, but that’s a whole different beast), and setting them up went… surprisingly quickly. It helped that I had all of the necessary tools already installed, and those came with a simple LED blinking example. Had the MC programmed and running in under five minutes!
And as it turns out, with a tiny bit more effort I can actually program it like I have been programming the Arduino, which means a much easier interface for doing things. This comes at a cost though. Where a simple LED blinking program is a tiny 126 bytes when written more or less from the ground up, it quickly grows to a whopping 720 bytes if programmed using that convenient interface. That’s well over a five-times increase in program size!
Ordinarily that’s not very big a deal, modern computing has come a long way after all. But you have to remember microcontrollers are still somewhat limited. I opted for a higher-end model in its series, and it’s got only 8 kB of program memory, and just 512 bytes of RAM! A LED blinking program will fit on that no matter how awful you program it, but more complex stuff will need to be optimized.
So I’ll probably be rolling my own convenient interface, for space efficiency.