LumiNet (based on attiny84)

Thanks again for the feedback.

All nodes once have to be programmed by ISP just like any Arduino because a bootloader has to be present on each device. The bootloader for the attiny84 will be published together with the IDE. We use AVR dragon and stk500 ISP programmers but I will test the FTDI bit bang in the next weeks as well.

I wrote a software UART based on an Atmel Application node that allows serial communication in all four directions. This software UART is also used by the programming by infection loader. Of course this assembler routines are wrapped to C and C++ and this is the reason why I added assembler support to the Arduino IDE.

Programming by infection uploads the same code to all nodes. There is one exception: Sensor nodes. These nodes have to be programmed by hand since they read sensor hardware and propagate the values into the network. Overwriting the program code of sensor nodes would destroy them :slight_smile:

The nodes are not self aware of each other. They only know in which direction they have a direct neighbor. But it is possible to use dynamic addresses at the application layer. This is a task the application designer has to handle. I will add support if needed but the basic idea is to use bio-inspired algorithms. I am not sure if a cell in the arm of our body is aware of a cell in the finger of our body... one might think of LumiNet as a neural network but of course the hardware is not limited to that idea.

An I2C master is not a problem with LumiNet. The software UART is running great and this is the more demanding protocol. I guess I will write a I2C library that can be called from C and C++ when the project is finished. Or you can look out for exisiting software I2C libs, they should work on LumiNet or can be easily ported.

Can you explain what your main interest in my IDE patches is? Do you only need the attiny support or are there also other parts that you find interesting?