Jump to: navigation, search


Not really a full blown Arduino board but its core. A programmable microcontroller that understands Arduino language and can be programmed through your own Arduino!

Okay, here is the story:

  • You can run Arduino projects in a single chip that costs about €1 without any external components like resistors, capacitors, crystal oscillators. This chip is called ATtiny and I am going to use the ATtiny85
  • You need 2.7 to 5.5V as power supply
  • The power consumption is much lower (300 μA @ 1.8V) than the already low consumption of Arduino boards

BUT:

  • You get only up to 6 I/O / PWM pins
  • The supported Arduino functions are limited [1]
  • You only get 8KB for your code which is plenty for simple projects (buttons, LEDs, relays, photosensors)
  • Any shields you may have are either incompatible due to lack of inputs or hard to use due to lack of the physical pins

I found out the following video from this page [2]

How-To: Shrinkify Your Arduino Projects

Instructions[edit]

All the instructions are correct to the best of my knowledge but here is where my problem came up and decided I needed to post the solution. The guy in the video is using an Arduino UNO.

I don't have an UNO but a Leonardo which uses a different chip and the pins are not the same (realising after a few hours banging my head against the wall) [3]

1. You will need the following connections instead

Leonardo isp attiny85.png

Please note the ICSP header is male so your standard (male-to-male) jump wires won't do. You should sort this out easily.

2. For Linux users like me, you only need to change the following. For other OS, use the links below for all the required changes.

Mofidy /usr/share/arduino/examples/ArduinoISP/ArduinoISP.ino and change from this #define RESET SS to this: #define RESET 10

3. Compile and upload ArduinoISP to the Leonardo board as normal

4. Select from the Board menu your chip (ATtiny85 1MHz in my case).

5. Select Arduino ISP as the Programmer and upload you sketch

6. Remove all cable, connect 5V power to ATtiny and any external connection your project needs and Ta Daaaa... it simply works and it really is tiny!

A few more things

  • Select the 1MHz option from the menu as your board otherwise the timing (blink an LED every 1 second) will be very off
  • The capacitor is not needed with the Leonardo
  • The ATtiny series have SMD packages too making it even smaller for wearable and edible (joking) projects


References[edit]

1. Supported Commands:

  • pinMode()
  • digitalWrite()
  • digitalRead()
  • analogRead()
  • analogWrite()
  • shiftOut()
  • pulseIn()
  • millis()
  • micros()
  • delay()
  • delayMicroseconds()

2. Makezine How to shrinkify your Arduino Projects

3. ArduinoISP on the Leonardo

4. ATtiny85

5. ATtiny85 Quick Specs