W7.A.Bahle

Embedded.Programming

This week was embedded programming and the goal was to program our ATtiny44 microcontrolers from the elctronics design week using out fabISP board from the electonics production week. I encountered two problems early on that I hadn't fixed two weeks ago because I didn't have time to program my board.

THe first problem was that I had used a polarized capacitor for my powersource filter because I dropped my other capacitor and only had polarized ones on hand back at my lab. I hadn't been careful however so I put it on backwards and when I tried to program my board this week I burned the capacitor (see panel 1). I fixed this problem useing the soldering tongs in EDS which I have never used before. They were far simpler to use than a reflow gun.

After fixing this I realized that my 6 pin cable had on of its adaptors in the wrong orientation. Making a new cable allowed me to successfully program the board with the echo hello world program! Success I thought... My board must work... For the rest of the HW I decided to use my own laptop to program becuase I was using a computer in EDS and I wanted to make sure I could replicated everything myself

So the first complication is that my laptop only has a thunderbolt port and not a USB port so I had to use an adaptor. First I tried programming my board using Arduino's online dev. This didn't work so I downloaded their software and followed the tutorial of an previously student in the class about how to add ATtiny44 support. I changed the clock to 20MHz but I still counldn't get it to talk with my board. Next I downloaded AVRdude and pyterm and tried to redo everything using these tools but I wasnt even able to detect my board leading me to think that something went wrong between my programming at EDS and my attempts to program at home.

Alot of people seemed to have trouble programming on mac in class for some reasons. After class I was able to get everything programming correctly both from the command line and through arduino. Arduino is a nice crutch since I have some trouble understanding everything that is happening in the example code that neil provides. I often want to adapt his code but am usually left feeling that I haven't understood well enought to do what I want. A faster route is to use arduino which is documented for people like me who have no experience with c programming buut hopefull I can eventually kick this habit and start writing C directly.