Pages: [1] 2   Go Down
Author Topic: Arduino Tiny  (Read 13105 times)
0 Members and 1 Guest are viewing this topic.
Global Moderator
Dallas
Offline Offline
Shannon Member
*****
Karma: 197
Posts: 12741
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset


The first Arduino Tiny release is ready...
http://code.google.com/p/arduino-tiny/

Included is a "highly compatible" core for the ATtiny84 processor: most of the functions are very similar or identical to the 0019 core.

Features...
  • All 8 analog pins are supported
  • All 10 digital pins are supported
  • All 4 PWM pins are supported
  • The three analogReference modes work
  • NewSoftSerial works
  • Burn Bootloader can be used to change fuse settings
Limitations...
  • Serial is an empty stub.  A Sketch that references Serial compiles but method calls do nothing but return.
Caveats...
  • tone may not generate the correct frequency.  We need a few more people to test.
« Last Edit: September 23, 2010, 02:23:30 am by bcook » Logged

0
Offline Offline
Full Member
***
Karma: 0
Posts: 102
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Thank you - looking forward to trying this out!

There's been a HUGE missing part of the arduino world is the lack of support for smaller chips.  This is great!
« Last Edit: September 23, 2010, 03:15:09 am by george_graves » Logged

Global Moderator
Dallas
Offline Offline
Shannon Member
*****
Karma: 197
Posts: 12741
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset


Forgot one...

Features...
  • Direct output for tone on pin 4.  Sound quality is a bit better and no CPU time is needed.
Logged

AREA COLOGNE
Offline Offline
Edison Member
*
Karma: 21
Posts: 1125
I am 1 of 10 who understands binary
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

How to burn the bootloader to an attiny85 i will try this because i had one free for these trying. Wich .hex i have to burn with a ISP?
Logged

So ist das Leben:
Manchmal bis du das Denkmal, manchmal die Taube!

0
Offline Offline
Jr. Member
**
Karma: 1
Posts: 81
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Look at the thread http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1274820597/all
Logged

SE USA
Offline Offline
Faraday Member
**
Karma: 41
Posts: 3783
@ssh0le
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I have been using the pre-release of this for about a week now, its very nice

and Thank you very much
Logged


Toronto, Canada
Offline Offline
Full Member
***
Karma: 0
Posts: 144
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Wonderful work!

Is the Servo library working?

Thanks!
Logged


Global Moderator
Dallas
Offline Offline
Shannon Member
*****
Karma: 197
Posts: 12741
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset


Thank you all for the kind words and encouragement.

Quote
Is the Servo library working?
No.  If you (or anyone else) is willing to test I can provide the changes to Servo.cpp that should get it working.

Please take a moment to click a few checkboxes...
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1285276725
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1285316262
« Last Edit: September 24, 2010, 03:20:49 am by bcook » Logged

Toronto, Canada
Offline Offline
Full Member
***
Karma: 0
Posts: 144
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Clicked.

I plan on using Tiny 84 and 85 at 8MHz for tiny robots and I need the Servo Lib, the SoftwareSerial Lib, the EEPROM Lib and the analog read (if there is support) at the moment. After successful tests I'll make dedicated boards for these chips. The idea is to have 6 and 3 servo connectors plus serial or sensor connectors on the boards. All servo positions will be saved in the EEPROM so the user can connect the board to the PC using a FTDI cable and set new servo positions as new moves that are later played back directly on board.

So I am willing to do any tests you can throw at me.
Logged


Global Moderator
Dallas
Offline Offline
Shannon Member
*****
Karma: 197
Posts: 12741
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Clicked.
Thanks!

Quote
I plan on using Tiny 84 and 85 at 8MHz
For the next few weeks, my efforts are restricted to the 84 core.  The 85 processor is next.

Quote
for tiny robots
Excellent!

Quote
and I need the Servo Lib
For Servo to work with the 84 processor a minor change must be made to the Servo.cpp source file.  The file is located in the {ArduinoRoot}\libraries\Servo directory.  On line #103 should be this...

SIGNAL (TIMER1_COMPA_vect)

Change it to this...

#if defined( TIMER1_COMPA_vect )
SIGNAL (TIMER1_COMPA_vect)
#else
SIGNAL (TIM1_COMPA_vect)
#endif


Once this change has been tested, I'll ask for it to be applied the official version.

Quote
the SoftwareSerial Lib
I've been using NewSoftSerial (@ 9600 baud) with success.  I'll switch to SoftwareSerial and report back.

Bear in mind that, from the factory, the internal oscillator may not be accurate enough for serial communications.  The oscillator can be tuned (using the OSCCAL register) to be accurate enough.

Quote
the EEPROM Lib
There is a bug in <avr/eeprom.h> that prevents it from working with the 84 processor.  There's a replacement file in the Arduino Tiny download that I belive fixes the problem.

Quote
and the analog read (if there is support)
There is support.  I've tested the three analogReference modes1 and all eight analog input pins.  It all seems to work.

Quote
After successful tests I'll make dedicated boards for these chips. The idea is to have 6 and 3 servo connectors plus serial or sensor connectors on the boards. All servo positions will be saved in the EEPROM so the user can connect the board to the PC using a FTDI cable and set new servo positions as new moves that are later played back directly on board.
Nice!

Quote
So I am willing to do any tests you can throw at me.
Two things need to be tested...

1. tone may not be working correctly.  I need someone to measure the frequency generated.  Ideally with the processor at 1 MHz and 8 MHz.

2. Servo.  I currently don't have the means to test the Servo library with the 84 processor.

Any help you're willing to contribute is greatly appreciated!


1 Be sure to read the datasheet!  The analogReference modes for the 84 processor are a bit different from the 168 / 328 processor.
Logged

Greenwood, Indiana
Offline Offline
God Member
*****
Karma: 0
Posts: 508
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ATTiny84 has SPI. I've not seen where one of these has been used with any Arduino yet.

http://www.maxim-ic.com/datasheet/index.mvp/id/2052

MAX3110E, MAX3111E  
Logged

If it was designed by man it can be repaired by man.

Global Moderator
Dallas
Offline Offline
Shannon Member
*****
Karma: 197
Posts: 12741
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
I'll switch to SoftwareSerial and report back
...testing has not gone well.  

NewSoftSerial works at least to 9600 baud (I haven't tried higher rates).  SoftwareSerial won't work at 2400 baud.  Unfortunately, NewSoftSerial adds almost 2K; SoftwareSerial is considerably smaller.
Logged

0
Offline Offline
Edison Member
*
Karma: 0
Posts: 1103
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

SPI
.. is a quite trivial matter. It is a part of 019 now, isn't it? Here a library
http://www.arduino.cc/playground/Code/Spi

NSS
.. can be simplified a little bit, especially when you constrain to a few bit-rates only. It can be re-written using USI. The size of the receive buffer must most likely also be reduced.

I have ordered some 84 chips - I cannot start testing before next week.
Logged

SE USA
Offline Offline
Faraday Member
**
Karma: 41
Posts: 3783
@ssh0le
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

spi lib doesnt work with the 84, as its handled though the USI, course you can bit bang it nearly as fast on any pins you want
« Last Edit: September 27, 2010, 08:25:48 am by Osgeld » Logged


Global Moderator
Dallas
Offline Offline
Shannon Member
*****
Karma: 197
Posts: 12741
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
NSS.. can be simplified a little bit, especially when you constrain to a few bit-rates only
Trimming the bit-rate tables will help but not by much.

There are a few spots in the SoftwareSerial source where it looks like the person who wrote it assumed the clock would be a specific rate (probably 16 MHz).  I suspect SofwareSerial can be made more reliable with less effort than trying to trim NewSoftSerial.

Quote
It can be re-written using USI
Not for me.  I need PA6 and Timer 1 for tone.

Quote
The size of the receive buffer must most likely also be reduced.
In my case, it can be eliminated!  I'm only sending for debug purposes.

Logged

Pages: [1] 2   Go Up
Jump to: