Microcontroller cheat sheet

Posted by on Jun 18, 2009 in Arduino, avr | 23 Comments

Often, when I am tinkering with a controller on a breadboard, I have to open up the according datasheet, only to look up the pinout. So I designed a simple page with all of of the pinouts that I use most. It has:

  • 8-pin AVRs, ATtiny25/ATtiny45/ATtiny85
  • 20-pin AVR, ATtiny2313
  • 28-pin AVRs, ATmega48/ATmega88/ATmega168/ATmega328
  • Arduino to ATmega mapping
  • ISP header, 6-pin and 10-pin
  • FTDI-cable

Maybe it’s helpful for others as well. You can download it as:

If you like it, you will also like the Tod’s cool Arduino chip sticker.

Update 2010/01/24

The new version includes the pinout of the Bus Pirate. Thanks Philipp for the update.


  1. Tex
    18. June 2009

    There is an error on the 6 pin ISP diagram. MOSI is entered twice. Pin #1 should be labeled MISO.

  2. Stephen Eaton
    18. June 2009

    Great work! very handy (BTW there appears to be an error on the 6 pin ISP header – no miso)

    Well done

  3. Alex
    18. June 2009

    Thanks for catching that, fixed.

  4. Al
    18. June 2009

    This is great! I’ve printed a copy to replace my scrap of paper with badly cut-n-pasted datasheet screengrabs and scribbles.


  5. Microcontroller cheat sheet - Hack a Day
    18. June 2009

    [...] put together this handy cheat sheet to make pinout lookups much quicker. It covers the most common chips from the AVR line, ISP [...]

  6. Microcontroller cheat sheet | Diy all the Way
    18. June 2009

    [...] put together this handy cheat sheet to make pinout lookups much quicker. It covers the most common chips from the AVR line, ISP [...]

  7. Bertrand
    19. June 2009

    Thanks for this “simple” page of paper that will save lot of time.
    I discover your blog yesterday and learn a lot of things, thanks for that too.

  8. Chip
    19. June 2009

    Very cool, simple idea. Thanks! (Gonna start watching your blog now!)

  9. Alex
    20. June 2009

    Just uploaded version 1.01. PD5 replaced with PB5 for the ATmega.

  10. Jeff
    22. June 2009

    Alex – This is really handy, thanks for sharing!

  11. drug123
    8. July 2009

    Yai! Right in time!

  12. 320volt
    18. September 2009

    Great hanks for information

  13. ShadeTree EE » A microcontroller cheat sheet & Arduino stickers
    12. October 2009

    [...] for something like this today and decided to share it all with you. Alexander Weber posted an awesome microcontroller cheat sheet over at his blog, [...]

  14. PaulBo
    14. October 2009

    Just re-discovered this cheat sheet. Great job! This is very handy!

  15. Peter
    13. November 2009

    Very useful. It will be good to stick it on top of the IC (with some modification to fit with the IC).

  16. Connecting Multiple AVR/Arduinos via I2C/TWI | Jochen Toppe's Blog
    30. December 2009

    [...] controller, SDA is pin B5 (pin 17, also MOSI), and SCL is on pin B7 (pin 19) — also refer to Alex’s cheat sheet for the pins. Just connect SDA to SDA and SCL to [...]

  17. Philipp
    22. January 2010

    Hey, great work.
    Could you add the BusPirate Header Pinout?
    I think it would be really useful.

    Oder einfach auf Deutsch:
    Tolle Arbeit! Ein sehr übersichtliches Blatt, weitaus besser als die 3-4 blätter die ich bisher benutzte. Ich persönlich vermisse noch die BusPirate Steckerbelegung. Ich denke die Jungs bei Hack-a-Day würde es freuen, mich ebenso.
    Ich fänds toll wenn du das noch auf deinem Blatt unterkriegen würdest, ansonsten wäre ich dir sehr dankbar wenn du mir es als editierbares Dokument schicken könntest. Ich würde es dir dann selbstverständlich bearbeitet zurückschicken.

    Lg, Philipp

  18. Evan
    18. October 2010

    This is way better than my 8 by 8 foot wall covered in scratch papers with diagrams on it

  19. brownsofa.org » The Compleat ATTiny13 LED Flasher
    5. January 2011

    [...] have a printout of tinkerlog.com’s microcontroller cheat sheet on my desk.  It has pinouts of most common ATTiny and ATMega chips, and ISP headers, and I’m [...]

  20. Using pocket programmer with ATMega328P | Just Push Buttons
    25. March 2011

    [...] with blinking an LED to make sure I had it right. Then I uploaded some code to turn a servo. Use this awesome page to figure out how the pins from your arduino translate to pins on the [...]

  21. Thomas
    8. April 2011

    Very handy, thanks :D

  22. Salvaging a Brother printer’s LCD » Just Push Buttons
    20. May 2012

    [...] pin 1 high after the text was already being displayed. I wired pin 1 to pin 12 on my ATMega chip (arduino pin 6) and rewrote my program to turn on  pin 6 after the text was being displayed. At this point [...]