If you're bored with the abstraction of C++ that's used to write Arduino sketches, or you're up for a challenge and enjoy learning how things work in a much greater detail then one interesting option is to leearn how to program the microcontroller used in your Arduino or compatible in assembly language.
Although the thought of doing so may seem a little scary, after some reading and thought it really isn't that difficult at all - and thanks to the tutorials published by Instrucables user 1o_o7 you can get started pretty quickly. The example hardware is a minimal Arduino-compatble circuit, and the code is generated using a text editor and command-line uploader - no fancy IDE!
There are two tutorials so far, and with some encouragement the author will continue with the series, so visit their first chapter and give encouragement if you're enjoying them. And for more, we're on facebook, twitter and Google+, so follow us for news and product updates as well.
If you're wanting to make your own Arduino-compatible project for the assembly language tutorials, you'll need an ATmega328P MCU:
This is the same Atmel AVR ATmega328P microcontroller used in the official Arduino Uno, as well as our Eleven, EtherTen, USBDroid, and other boards. Perfect for building your own Arduino-compatible project directly on a breadboard or on a custom PCB, or for replacing the MCU in an existing board. Comes with the Arduino Uno bootloader pre-installed. Better still, it even has a special label stuck on top with details of the pinout, so you don't even need to look up the datasheet when connecting it up in your project! For more information and to order, click here!