Introduction: Getting Started With the Tinusaur Board

The Tinusaur is a small board that has a DIP-8 socket for an Atmel ATtiny85 (or ATtiny25/45, even 13) microcontroller with the minimum required parts to work which is pretty much 2 capacitors for the power source and one 10K pull-up resistor to the RESET signal of the microcontroller.

On both sides of the MCU socket there are 2 double row female headers that could be used to connect external components like LEDs, buttons, sensors, etc. The inner rows are the signals from the MCU while the outer rows are the GND. Those headers could be used (in same cases) like a breadboard.

There is also 10-pin male header to connect the external ISP programmer such as USBasp.

On the bottom of the board there is a battery holder for CR2032 - a button cell lithium battery rated at 3.0 volts.

A pair of 2-pin male headers are available to connect an external power source and (with additional jumper) to disconnect the coin cell battery.

At the corners there are 4 holes - 3 mm each, that could be used for mounting the board.

The goal of The Tinusaur Project is to give you everything you need to start your first microcontroller project - very simple and very easy to do - from assembling the board, through setting up the development environment, to writing a very simple program - like the one making a LED to blink.

Everything in that project in open source - the designs, the software, etc.

All the necessary parts could be purchased at the popular online stores, but may also be available at some local hobbyists stores.

The only specific part is the PCB - you can make one yourself or order it online from various places. The latest version is available at 123d.circuits.io - http://123d.circuits.io/circuits/328265-tinusaur-board-v0-2-rc4.

All the parts are also available as a kit at the Tinusaur online store: http://tinusaur.org/where-to-buy/.

The Tinusaur is an educational, non-commercial project and it's been used in several high schools and universities around the world as part of some courses. The reason those kits are sold online is convenience for those who what to play with it but don't have access to the components and PCB manufacturing.

Step 1: Parts - What's in the Package

Here is what's in the package - 15 different components ...

  1. PCB - Printed circuit board
  2. MCU - Atmel AVR ATtiny85 microcontroller
  3. Socket, DIP-8 socket for MCU
  4. H1, Header 2×4, Female
  5. H2, Header 2×5, Female
  6. ISP, Header 2×5, Male, for ISP
  7. RESET, Button - Tactile push button, for RESET
  8. Power Header 1×2, Male, for external power
  9. Battery Header 1×2, Male, for battery power on/off
  10. Battery Jumper, 2-pin, for battery power on/off
  11. C1, Capacitor 100nF, Small
  12. C2, Capacitor 100uF, Low profile 5×5 mm
  13. R1, Resistor 10K, Small, 1/8W
  14. Battery holder for CR2032
  15. Battery 3V, CR2032

The only specific for the project component is the PCB but it could be ordered (besides the Tinusaur own website) from various places:

All the other parts are available on Internet. eBay is a good place for cheap ones but there are more reputable sources as well.

Step 2: Assembling the Board

Assembling the board is very easy. At one of the workshops organized by the Tinusaur team there were people of age 16 to 44 who did that without any significant issues.

On the PCB board there are markings where and how to put the components.

There are only 2 components that should be soldered in a specific direction:

  1. The socked for the microcontroller - it has an identifying notch that marks the top, the PCB has a mark for that notch as well.
  2. The 100uF capacitor - it has (+) and (-) signs - there are the same mark on the PCB too..

Here is the recommended order for soldering the parts:

  • MCU socket. Note: do not insert the chip yet.
  • Capacitors C1, C2 and resistor R1.
  • Headers H1, H2.
  • External power header – red.
  • Battery on/off header – yellow.
  • ISP header.
  • Battery holder.
  • RESET button.

Please note that the battery holder should be soldered before the button.

Some more details and recommendations for assembling the board could be found on this page: http://tinusaur.org/guides/tinusaur-board-assembling-guide/.

Step 3: Setting Up the Development Environment

Even for not very experienced computer specialist should be easy to setup the development environment.

But before that we need to install a driver for the ISP programmer that will be used to upload to the microcontroller the programs we create. The programmer that is used here is called USBasp and its home page is at http://www.fischl.de/usbasp/. The driver for MS Windows is available at the same website.

The USBasp programmer itself could be purchased from various places - eBay, etc. It is also part of the Tinusaur Starter kit that is available at the Tinusaur website.

Now - the development environment. It is called WinAVR. Its website is available at this address: http://winavr.sourceforge.net/.

Basically, it is ...

  • the SDK - these are the C/C++ compiler and the libraries;
  • some other tools that help building the program, converting it to a binary format and uploading it to the microcontroller.

There is no built-in text editor - any such could be used. Norepad++ is a good choice.

The building is done at the command using the make command and file called Makefile.

More detailed instructions how to setup the WinAVR are available at the Tinusaur guides page: http://tinusaur.org/guides/winavr-setup-guide/. There you can also find some tests that will help you find out if the setup was correct.

Step 4: Writing the "Hello World!"

The "Hello World!" of the microcontrollers is a program that makes a LED to blink.

For this we also need a LED connected to the GND and to the Vcc through a 300 ohm (or 270 ohm) resistor.

It is a very simple program.

#include <avr/io.h>
#include <util/delay.h>
#define LED1_PORT PB0 int main(void) { DDRB |= (1 << LED1_PORT); while (1) { PORTB |= (1 << LED1_PORT); _delay_ms(200); PORTB &= ~(1 << LED1_PORT); _delay_ms(400); } return (0); }

All the necessary file are available at bitbucket.org / tinusaur / tutorials / tut001_blinking_led_x1 including the Makfile.

Compile/build the program with this command:

make

Check the output in the console window to is if there aren't any errors during the compilation.

Then, upload it to the microcontroller with this command:

avrdude -c usbasp -p t85 -B 0.5 -U flash:w:"main.hex":a

Make sure that the Tinusaur board is properly connected to the USBasp programmer.

More detailed tutorial about the blinking LED program is available at http://tinusaur.org/tutorials/tutorial-001-blinking-led-x1/

Step 5: What's Next ...

What else could you do with this Tinusaur board?

  • You can connect more LEDs, buttons, temperature sensors, relays and many other things.
  • You can even make small shield-like boards to stack on top of the Tinusaur board.

There are some project on the Tinusaur website that you can try but it isn't that hard to create your own.

Got bored?

If you've learned everything there is to learn about ATtiny85 it is probably the time to move to something more advanced like Arduino. The Arduino Uno board is a good start.

If you feel you're limited by the capabilities of the ATtiny85 and the Tinusaur you should probably consider using Arduino. The Arduino Nano board is very good for choice for small sized projects.

Please, don't forget that the Tinusaur is only an educational project.

References

ATtiny85 product page: http://www.atmel.com/devices/attiny85.aspx

The Tinusaur Project: http://tinusaur.org

The Tinusaur Online Store: http://tinusaur.storenvy.com

How to setup WinAVR: http://tinusaur.org/guides/winavr-setup-guide/

Blinking LED program: http://tinusaur.org/tutorials/tutorial-001-blinking-led-x1/

Arduino oficial website: http://www.arduino.cc