After using Arduino for a while, I decided to give actual microcontrollers a try. Arduino makes it really easy for you to have everything on a single package, with a really simple and well documented API. But, if you want to save money or want to do things from scratch, a bare microcontroller is the way to go.
After doing some research, I chose to use the ATTiny2313, because it is inexpensive, it has an internal oscillator and has enough IO pins and features to do some cool stuff. But first, I went and implemented the “hello world” of microcontrollers on it: blink a LED.