On this page, I'm collecting some personal notes on programming the arduino microcontroller board. The arduino is great, but sometimes you want to do things that go beyond what the basic API provides, for example setting up timers, or increasing the ADC sample rate. This involves delving into the AT-Mega 328p datasheet, which you can download here. The notes below are meant to be read in conjunction with the datasheet, not as a complete guide.
This is just an index page - the pages with the full notes are listed below.
Some other things that I know are possible but haven't got round to writing up.
If you want to use the built in timer / counter units, it's best to use either timer 1 (16 bit), or timer 2 (8 bit). Timer 0 is used by the arduino API for internal timing, so it's best avoided unless you have a good reason and know what you're doing.