Embedded Programming

Week 8

We had two main goals this week: (1) Read a data sheet for our ATTiny44 microcontroller, link, and (2) program our board to do something.

I spent that majority of my time focusing on the Arduino programming environment since I felt fairly comfortable with it but had never actually used the software on any circuit board except those that I'd bought from Sparkfun. Sometimes it's best to limit your independent variables.

So I decided to tackle programming my silly circular board from two weeks ago that I'd stuffed with two bright white led's on pins 11 and 12 and a push button on pin 5.

To get started, I followed a couple of people's tutorials, all of which seemed helpful in different ways: Amir's, Charles', and High Low Tech's. All of which involved manipulating the bootloader in Arduino, changing fuse bits, setting up an external clock, baud and working a with avrdude.

I then wrote a dead simple program in Arduino to cycle between which led was on depending on the state of the pushbutton. After a few false starts, using Felix's nice (reliable) programmer instead of my FabISP, and just wholesaling remilling and restuffing my board to get a fresh state, it was a go!