Oscilloscope-like Circuit – Preview

This is a oscilloscope-like circuit for the Tinusaur, it is not a real oscilloscope but could be used as a base for one.

It is built on top of the Tinusaur board (Atmel AVR ATiny85) and Nokia 3310/5110 LCD (PCD8544 controller).

There is also simple preamplifier for the electret microphone connected to the ADC of the MCU.

The audio signal source is combination of my DSO Quad (it has built-in signal generator) and a speaker.

Tinusaur powers a tiny vibrating robot

Vibrating robot chassis

Here it is – the first Tinusaur powered robot.

This is a vibrating robot that could turn left, right, and move forward.

I decided to build that after watching a video on YouTube about the Kilobot project from Harvard University. Mine is much simpler and a lot less capable. But hey, that’s the first version only. 🙂

First I made a testing chassis for the vibrating motors. As it is seen in the picture they are wired (connected with a thin copper cable) to a battery – this allowed me to make some experiments before deciding how to put them on the final version of the board. It turned out that they should be in angle. I decided to put them in 90 degrees.

Vibrating robot chassis

So, I made another chassis with the 2 motors positioned in 90 degrees (2 x 40 degrees)

I used a double-sided prototyping board and the motors’ contacts fitted nicely into the holes, no soldering was necessary – I just fixed them to the board with isolated wires.

On the top of the chassis, I tied a shield-like board that connects motors to the MCU board. Later I may need to add some components on that shield board, like a driver for motors, sensors, etc.

The Tinusaur – Prototype Board

For the “brain” of this bug, I used one of the prototype boards of the Tinusaur based on Atmel AVR ATtiny25, coupled with a 2xAAA package for batteries.

At the moment the motors are connected directly to the output pins of the MCU, there are no drivers. It works fine for now but may need to change.

The code for this experimental build is very simple – it just turns on and off 2 output pins on the MCU.

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

#define MOTOR_PORT PB3
#define MOTOR_PORT PB4

int main(void)
{
  DDRB |= (1 << MOTOR_PORT);
  DDRB |= (1 << MOTOR_PORT);

  while (1) {
    PORTB |= (1 << MOTOR_PORT);
    PORTB &= ~(1 << MOTOR_PORT);
    _delay_ms(3000);

    PORTB &= ~(1 << MOTOR_PORT);
    PORTB |= (1 << MOTOR_PORT);
    _delay_ms(3000);

    PORTB |= (1 << MOTOR_PORT);
    PORTB |= (1 << MOTOR_PORT);
    _delay_ms(8000);
 }

  return (0);
}

Problems

The 2 vibrating motors, even though I bought them together, do not work the same way. That creates some difficulties controlling the direction of the bot – it turns well in one direction but not that well in the other. There are even bigger problems moving forward.

Tinusaur powered vibrating robot

In the next version, I should definitely make changes in the vibrating motors – use some of those button-like ones and also change their angle. A friend of mine suggested that I should probably play more with the “legs” as they are crucial for the movements with which I agree.

The battery is too big, but the button cell battery is not enough to power the MCU and the motors for a long time, so I should probably think of another power source.

There is a short video on YouTube that shows more photos of how I built this with some footage at the end of the robot moving around.

Any comments and suggestions are really appreciated.

🙂

Tinusaur Proto v0.1 m1 – Prototyping and Design Considerations

I have finally managed to finish the first version of the schematics and PCB‘s and to order the first 3 pieces. This work is based on some previous experiments and designs.

20131108_proto_01sc580x380fx

Schematics

The schematics is nothing special – it is the well known minimal configuration for the ATtiny plus just few addition components – some of them optional.

The required components are the 2 capacitors between Vcc/GND and the 10K resistor on the RESET wire.

There is RESET push-button connected to the micro-controller.

The micro-controller connects to the outside world through 2 headers – H1 an H2. They are in two different sizes for number of rasons: first – to have more connections available for wires, and second – to make sure we won’t mistake H1 and H2.

Next to the headers there is 1×2 connector for external power source.

There is an optional battery for application where built-in power source is needed.

20131108_proto_02sc324x440fx

PCB

The PCB is a fork of my previous work on a simple header board.

There are 4 holes in the corners in case the board should be fixed to another object.

On each side of the IC there are 2-row headers – on 2×4 and the other 2×5.

External power source connector is put along with the H2 header.

The ISP connector is at the top of the board. Between it and the rest of the board there is 1×6 header-like probe – this could be used for testing as well as for easier cutting off the ISP part of the board in case is not (or no longer) needed.

The pads for the optional battery are on the bottom.

The size of the board is approximately 24×36 mm.

The schematics available on 123d.circuits.io website at this address: http://123d.circuits.io/circuits/58269.

The Tinusaur – What is it

Briefly, the Tinusaur is a minimal micro-controller hardware configuration based on Atmel AVR ATtiny family of products and more specifically those with DIP-8 case such as ATtiny25/ATtiny45/ATtiny85, ATtiny13 as well as their variations.

The goal of the Tinusaur project is to have a simple, cheap and accessible quick-start platform for everyone interested in learning and creating things.

There is more information on the About page.