Reference Links
Topics
Programming Prior Class Pages
PM Wiki |
Main /
ATTINYsThe ATTINY series of microcontrollers can do a lot of what an Arduino Uno can do, but they are tiny (smaller than a dime) and mostly cost under $3. Programming and soldering up circuits with them can be really frustrating, but for making a series of interactive PCB's, they are a great resource. The High Tech Low Tech group at MIT Media Lab contributed a lot in terms of making ATTINYs programmable using the Arduino. This is a huge step because many people can benefit from using them, but often times do not know how to program them in C. Using the tutorial linked below, its relatively easy to program ATTINY chips using an Arduino Uno and the Arduino IDE and programming language. High Tech Low Tech Tutorial Forum Discussion on ATTINY analog pins http://forum.arduino.cc/index.php?topic=86812.0 Lessons learned: - ATTINY13 doesn't have much memory... a little over 1Kb... which is not enough for much. Using the "delay" and "analogWrite" functions used up almost all that memory. The cheap cost and 2 PWM output channels were not worth the lack of memory - ATTINY45 is a good fit for programming a couple of fading LED channels. It has 4kb of memory and my simple Arduino LED fading sketches were coming in under that. - Solder headers onto your capacitor if you are programming with the Uno and are using a capacitor to stop the board from resetting when in ISP mode. The legs on some caps are too small to make consistent contact with the Arduino Uno's headers. - I haven't needed to burn the bootloader onto the chip so far - Clock timing speeds are important when you are programming your chip. Make sure to take note of what setting you are using. - Reading an analog sensor was a real pain when using the ATTINY45 Analog Pin 1. I think this was largely because I was also writing out PWM through digital pins 0 and 1. While there is supposed to be a way to do this, I was not able to and could not get my sensor data under control (there's no Serial terminal when using ATTINYs). I solved this by switching the sensor over to Analog Pin 2. |