LumiNet (based on attiny84)

Good to see its been released. I'm very much looking forward to using this in an upcoming project. I haven't had a chance to look at the new IDE yet, but any chance we could have some info such as what additions you've used and what the pin allocations are?

Thanks for you work!

Dave

What pin allocations do you mean? For the ATtiny chip? Or for the BitBang?

Sorry, i meant for which pin in the ide relates to the pin on the chip, for instance if i do a digitalwrite(1, HIGH) which physical pin will go high? Also which pins are which ADC, and does i2c work?

Also do you have any hardware designed as a prototype board? i'm halfway through designing one to use in a breadboard, as with the arduino nano, but i would like to see your take on the hardware.

Thanks

Thanks for the IDE - looks like it will be helpful to many of us. For just general purpose ATTinyx5 work, which LumiNet board should be selected as a target? I have a board with an ATTiny85V on it and I wanted to test out the IDE but I wasn't sure what device to target.

Thanks again!

Select the SENSOR board, then you can burn the sketch (and the bootloader) via ISP programmer (e.g. stk500 or FTDI BitBang) to your chip when you hit the Upload Button

I will support other mcus soon. If you have an ATtiny-based project then I will support you to use the modified IDE, just ask whatever you need to know.

Really looking forward to some ATtiny support with the IDE!!! Purdy please!

Really looking forward to some ATtiny support with the IDE!!! Purdy please!

Didn't you see the download links above?

You must download the modified IDE and then you got ATtiny support. Select the "LumiNet Sensor Node" Board if you have an ATtiny-powered Arduino board and want to upload sketches to it via ISP (select the corresponding ISP Programmer in the Burn Bootloader Menu)

Awesome! Thanks bohne! I'll check it out this week.

Is there any more documentation available? Is I2C working? Thanks

I will upload some documentation soon. What do you need to know? You can ask here.
Almost any thing that you can do with an Arduino can be done with ATtiny based boards. You can use the same sketches and libraries.

The I2C library can be used and is working, I tested it some months ago but did not include it in the release. You must download it from the Arduino Playground...

Brilliant, I think i've got the pinouts from the source code but had to convert it to PDIP/SOIC.

Which pins are used as UART for the bootloader?

Thanks.

"Normal Nodes" can use any pair of pins for serial communication (e.g. pin 6 and pin7 or pin 0 and 1)...

"Vector nodes" receive new payload from the PC using pins 6 and 7, and they send the payload to the normal nodes via pins 2 and 3.

Have a look at pins_arduino.c for the pin mapping...

Just a reminder: the attiny84 does not have a U(S)ART. Serial Communication is implemented in software (assembler) and I testet it up to 115000baud at 8 MHz (internal RC clock), but the default is 9600 baud. In order to change the baud rate, you must change the variable "b" in COMasm.S
just search for this line:

b      =14      ;9600 bps @ 1 MHz crystal

Thanks for the good work! It was almost what I was looking for a few modules that I need to build.

Looks like tiny84 is not going to meet my needs since it has 2 functions on the same pin and I need them both active... I am looking to use 16 bit PWM and I2C or serial communications. So I have to work with tiny861. What do I have to change to get it working with your release? Also, how do I use the serial comm? Just like a regular hardware serial or like the softwareserial?

Thanks again!

You must change the pins_arduino.c file and maybe some other files to get it working with the tiny861.

I am working on a port to the attiny2313 right now. This will be released very soon. If you can use this mcu, then you should wait and take my files when I release them later this week...

I have changed the microcontroller to tiny2313. I have to wait like 3 weeks until the PCB is fabbed, so there is plenty of time until I'll need to code it. Thinking of it, I will be working on the code on a regular Arduino until the board will be ready.

Thanks!

The tiny2313 port ist finished and works quite well on my board.

You can download the core file on the LumiNet homepage.

The tiny2313 has no ADC. So analogRead() ist not implemented at the moment. You must use external ADC or a software delta sigma if you have to use ADC in your project. I always use something like the Atmel Application Note AVR 400 for ADC on the tiny2313.

Some more details about the new attiny2313 port:

  • supports all pins of the attiny2313
  • supports PWM on 4 pins (via analogWrite)
  • supports internal clock and external clocks
  • supports hardware USART for serial communication (tested up to 115000baud)

I really like the attiny2313, I have 20 of them here and they are all working as if they were real Arduinos.

What should be the next ATtiny mcu that I should port?

What about interrupts on tiny2313? Are they working? At least the external interrupts and a timer interrupt would be nice... Also, I need to work with I2C, is that also available?

Thanks for the great work!

Interrupts have not been supported by my first release. I created a new release today:

  • added Interrupt support for INT0 and INT1.

So you can use
http://www.arduino.cc/en/Reference/AttachInterrupt
just like on the official Arduino.

The Wire Library compiles without problems. So I2C is available. But the example sketch is too big for the small memory of the attiny2313. So I think that I2C can be used, but you must modify the Wire lib... I can do that for you if you don't know how to do it. The Wire lib can be split into two parts: master and slave... so if you want the tiny2313 to be a I2C slave, then you don't need all the master routines in the memory (because they won't be used in this case)...

I also included this fix to Print.h and Print.cpp:
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1244128096/0#0

Hello

You have asked about feedback to your software (Arduino LumiNet Edition).
I have found some bug – when I was trying to use OneWire library. Some errors occurs during compilation. (I'm useing Duemilanove)
The same code works properly on Arduino 0015.

Best regards
NiechcialA