New Product: Tinusaur Shield LEDx2

Tinusaur Shield LEDx2

As we’ve mentioned earlier (What is happening with this project?) we were working on shield-like add-on board for the Tinusaur Board.

So here it is …

Tinusaur Shield LEDx2 Parts

It has only 2 LEDs and 2 resistors for each LED so no much to solder.

This shield aims at 2 things – making it easier to …

This shield has its own page at Products / Tinusaur Shield LEDx2.

Arduino IDE – Setup Guide

Arduino IDEWe have put together a short guide how to setup and use Arduino IDE for programming the Attiny85 microcontroller and the Tinusaur Board in particular.

Note: This guide was tested under Microsoft Windows 8.1 operating system.

Note: The example source code was tested on ATtiny85 microcontroller installed on a Tinusaur Board and programmed using USBasp ISP programmer.

Note: This is not a guide how to use the Arduino IDE but rather how to setup one for use with AТtiny microcontrollers and specifically the Tinusaur.

The guide goes through the:

  • Installation of the Arduino IDE.
  • Setup the IDE for ATtiny and Tinusaur, adding boards definitions.
  • Setup USBasp Programmer, just brief overview.
  • Test the Arduino IDE with the Tinusaur, writing blinking LED program.

The entire Arduino IDE Setup Guide is available under the Guides menu.


(UPDATED) Tutorial 001: Blinking LED

Tinusaur Tutorial 001 schematics

Our first tutorial Tutorial 001: Blinking LED (that’s the older one) was just updated and put under the Tutorials menu.

This is very simple tutorial that shows how to connect a LED to the Tinusaur board and write the “Hello World” of the microcontrollers – very simple program that makes a LED to blink.

Since the Tinusaur board is a very standard ATtiny breakout board this could be applied to almost any other board that has ATtiny microcontroller.

The code was tested to work with ATtiny13, ATtiny25, ATtiny45 and ATtiny85 but will probably work with other microcontrollers too.

Please go to the Tutorial 001: Blinking LED x1 page to see the full document.


Tutorial 001: Blinking LED

Tinusaur Tutorial 001: Blinking LED

UPDATE: New version of this tutorial is available at the Tutorial 001: Blinking LED x1 page.

Tinusaur Tutorial 001: Blinking LEDThis is very simple tutorial how to make a LED blinking.

Since the Tinusaur board is a very standard ATtiny breakout board this could be applied to almost any such other board.

The code was tested to work with ATtiny13, ATtiny25, ATtiny45 and ATtiny85 but will probably work other chips too.

We assume that the Tinusaur board is already assembled, successfully; connected through the ISP programmer to the computer; and development environment . It is not the subject of this tutorial how to assemble the board or how to setup development environment.

The LED should be connected on pin 2 of the ATtiny – this is PB3 – through a resistor, and to the GND.

The LED, marked as D1, is just a standard light emitting diode.

The resistor, marked as R1,  is 270 to 330 ohm.

The most important fragment of the code is this:

	while (1) {
		PORTB |= (1 << LED_PORT);
		PORTB &= ~(1 << LED_PORT);

What is does is this:

  1. Start an infinite loop.
  2. Set the LED wire signal to “1” – that will make it to light.
  3. Wait a little – 200 milliseconds.
  4. Clear the LED wire signal to “0” – that will turn it off.
  5. Wait a little -400 milliseconds.
  6. Do it again.

Here is the entire source code:

 * The Tinusaur Project
 * Tutorial 001: Blinking LED
 * file: main.c
 * created: 2014-01-04

#include <avr/io.h>
#include <util/delay.h>

// ====================================
//                ATtiny
//               25/45/85
//              +--------+
//            --+ o  Vcc +------------
//  LED - PB3 --+        +--
//            --+        +--
//  ------------+ GND    +--
//              +--------+
// ====================================

// Define the I/O port to be used for the LED.
// This a number between 0 and 7 that tells which bit to use.
#define LED_PORT PB3

int main(void) {

	// Set the LED port number as output.
	// The DDRB is the data direction for port B.
	// This ...
	//  - shifts the "1" on left to the desired position and ...
	//  - does bitwise "OR" with the value in the port register.
	DDRB |= (1 << LED_PORT);

	// Start infinite loop.
	// (this is how most programs work)
	while (1) {

		// Set the LED bit to "1" - LED will be "on".
		PORTB |= (1 << LED_PORT);

		// Wait a little.
		// The delay function simply does N-number of "empty" loops.

		// Set the LED bit to "0" - LED will be "off".
		PORTB &= ~(1 << LED_PORT);

		// Wait a little.

		// Do it again ...

	// Return the mandatory for the "main" function value.
	return (0);

Copy the code above to your “main.c” file.

The source code could be also found on Bitbucket at this address:

The circuit schematics, even though very simple, was drown on and it is available at this address: