Available shields and shield ideas

I have fear that they can only drive the chip at 4Mhz because the 230 is so sensitive to digital interference that it can't handle higher clock rates...

I've created a shield board that will be available sometime in November 2009. It is a video overlay board that uses the MAX7456 chip from Maxim. I've not determined pricing yet, but once I have I'll add it here and update my site.
Here is more information about the board:

Thanks,
Eric
Low Voltage Labs

@Inopia

Inopia - when you say "arduino mega based sensor nodes" do you mean every node has an Arduino Mega attached?. Or that each uses a mega mcu?.

Either I suppose. It could be an arduino mega with some sort of wireless shield, or an arduino with a wireless chip on-board.

Sounds like you have to decide.

Satisfying your 2 original Requirements, points towards each node using an Atmel mega mcu and capability for one to interface to an Arduino Mega at the 'Main' node to interface to a computer.
Having each node consist of an actual Arduino Mega would be too costly.

Do you envisage a board with mcu, transceiver, antenna, power supply connector, header (for local sensors), and some means of interfacing to an Arduino Mega (on the main node) - presumably UART?.

I've created a shield board that will be available sometime in November 2009. It is a video overlay board that uses the MAX7456 chip from Maxim. I've not determined pricing yet, but once I have I'll add it here and update my site.

I had seen that and I thought that I had added it to the list already but apparently not... It looks good.
I will be buying one of those, It would also be a good prank board!

Mowcius

Note that the AT86RF230 + an avr such as the 128 is essentially Atmel's Zigbit offering. The RF chip is just a simple packet radio, all the zigbee stuff (routing, etc) is handled by the avr. The zigbit software stack isn't open source afaik, but I could be wrong. Personally I'm interested in developing my own routing protocols so not a big issue for me.

As I see it there are three options so far when it comes to using this chip:

  • An arduino shield with just the RF chip. The bundle arduino mega + shield would then essentially be a zigbit module.
  • A break-out board for the avr+rf modules. Should be cheap to produce, but can't be fully compatible with arduino shields because not all the neccesairy pins are broken out. The modules are dirt cheap, so I think it is a compelling option in terms of cost. It does run at 4MHz apparently so this might be a bit slow for some.
  • A completely new Arduino board, using the Arduino Mega as a template but using an ATmega128RZAV (ATmega 1281 + RF) instead of a vanilla ATmega 1281.

Any of the above would be fine for me, so I'll let your electrical engineers tackle the design bit.

Link to modules: http://shop.strato.de/epages/61427429.sf/en_GB/?ObjectPath=/Shops/61427429/Categories/ZigBee/"ATMEL%20ZigBit"/"ZigBee%20Module"
Link to all-in-one chips: http://www.atmel.com/dyn/products/product_card.asp?part_id=3949

@Inopia

Personally I'm interested in developing my own routing protocols so not a big issue for me.

Why not use Zigbee?.

Because Zigbee is boring :3

I would like to use this hardware for sensor networks research. There are many different types of networks that you can build such as multi hop collection trees, multi hop or single hop many-to-many routing, etc. Parameters such as power consumption, bandwidth, burstiness, and network density all influence how well a protocol performs. Then there are different metrics for deciding what constitutes 'good'. This can be delivery rate, power consumption, resilience to churn, dealing with mobile nodes, resilience to interference from other networks, etc. Finally you could look at things like reducing overhearing and contention by using multiple channels, indoor localisation (fingerprinting), etc.

@Inopia
I figure you're either in the military or academia. They're always re-inventing the wheel. ;D

Zigbee may be "boring" as you see it, but that's where the Wireless Sensor Networks are heading. I suggest that your cheap node implementation be at least Zigbee compatible so it is marketable.

You can separately load your own customised stacks as you wish.

@novice: if it wasn't for academia there wouldn't have been Zigbee in the first place.

Why don't you get an xbee shield if you want Zigbee?

@Inopia: can you open source your work so our little device will have some pretty cool sensor network infrastructure? Or are you working behind an iron curtain? :slight_smile: I'm interested in cooperative robotic, formation flying RC airplanes, etc so the kind of advanced sensor network that you are talking about is an essential building block.

I had seen that and I thought that I had added it to the list already but apparently not... It looks good.
I will be buying one of those, It would also be a good prank board!
Mowcius

I hadn't thought about using this for pranks? :wink:
If you do create a prank with this board I'd love to see it in action.

  • Eric

@Inopia

Why don't you get an xbee shield if you want Zigbee?

I know I can.

As previously stated "I suggest that your cheap node implementation be at least Zigbee compatible so it is marketable."

I'm only suggesting this to help you.

@novice, vixr: Zigbee compatibility comes on two levels. On one hand you have the radio that implements the physical and MAC layers, and a network layer that performs routing, among other things. On the other hand you have modules such as xbee that allow you to talk over zigbee from an MCU, usually via serial. These modules have their own MCU that implements all the zigbee stuff in software.

If you save money by eliminating that MCU and doing everything on the AVR you're going to have to run a network stack on the AVR along with your application, so the second case of zigbee compatibility obviously does not apply. The first case is a matter of implementing a standard. The biggest problem is that if you run both the network layer and applications on one chip you're going to need something that enables multiple threads of control (and no, interrupts aren't going to cut it). Several such systems have been proposed using 'real' multitasking/threading (Mantis, freertos), protothreads (Contiki), and event-based programming (TinyOS). Personally I prefer Contiki although my goal is to just do everything in Java and use green threads.

So 'Zigbee compatibility' requires either a second MCU (which is what xbee modules have) or a more advanced 'os' or runtime or library or whatever that lets you do multithreading in a sane way. If you want complex network features you're going to need something other than the Arduino language. For robotics/wsn I'd suggest you take a look at Contiki (http://www.sics.se/contiki/about-contiki.html), which has a wireless stack called RIME that's already running on the AVR Raven boards which use about the same setup as what we've been talking about (avr+atmel 2.4ghz rf), so should be trivial to port. It's IPV6 baby :3

For just simple point-to-point communication in the absence of another 2.4ghz network on the same channel you can just send raw packets over the radio. Control your Philips ambilight and such :slight_smile: It's perfectly fine for applications such as controlling your coffeemaker wirelessly. You only need Zigbee or something like that for large scale, multi-hop networks, or for integration with existing Zigbee stuff.

As for open sourcing I already open source my efforts under the LGPL license, my JVM can be found at http://darjeeling.sourceforge.net/.

So I've done a little digging and found a software library for the AT86RF2xx chips from Atmel:

It seems to do all sorts of cool stuff from low-level to high-level, such as mesh networking or simple wireless uart.

Inopia,
does that communications library put you in a position to make hardware decisions?. It appears that vxir is 'keen as mustard' to help you on the h/w side.

Hi guys, I've worked up some spreadsheets of components and prices. I'm ok with the AT86 chips, esp since they also do Zigbee (802.15).

The key question is "can the SW be done within a single AVR or is a separate dedicated 1281 required?"

Frankly, there seem to be a lot of hardware choices in the "not-quite Arduino compatible" department (dig into Inopia's link and you see a bunch), and there is the Arduino/XBee solution.

So we have to fit in this ecosystem. I think that that means 100% Arduino or Arduino Mega compatible and cheaper than the Arduino/XBee.

Looking at the prices -- this means no module (after all, the atmel module is not much cheaper than the xbee). Just an AVR, the RF230, voltage level converter CPLD, (and maybe option to have USB -- or use the USB FTDI cable).

What is extremely interesting about this to me is that the 328 base cost of materials is $8 if we made 50-100 or so. This is just those chips; the addition of the Arduino-compatible female headers, voltage regulator chip etc would push the hardware cost to about $11-$12.

At that price point (say $10-$15) you really could think about buying 5 to 20 of them on an garage-tinkerer's budget, for wireless sensor fun!

And of course we could also do a 1280 (its a $10 chip) version both for inopia's work and also perhaps as the "base station" for all of these smaller nodes.

This would be a lot cooler than the current XBee stuff... when I've looked at the projects (and don't get me wrong, they are cool!) they are mostly controlling [one thing] through an iphone; probably because it takes $90 to buy 2 of them so people only buy 2 and hook 1 up to the computer as the "router" and have one sensor.

I'd like to truly enable Arduino users to do sensor networks cheaply...

@vxir: we can also go for the single chip solution: http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=ATMEGA128RZAV-8AU-ND

Unit price for >25 units is $7.61, which gives you an ATMega1281 + AT86RF230 in a single chip. You could just drop that chip into the arduino mega schematics, add an antenna jack and there you are.

I also found this: http://www.dresden-elektronik.de/shop/prod28.html - it's the company that seems to produce atmel's zigbee demonstration kits. They have cheap nodes (although the programmer board is a tad expensive at 60 euros).

I must say that your price assessment seems very low though, so I'm inclined to multiply it by two in my head :3

@vxir: you could also just drop an AT86RF230/1 onto a shield as it needs only SPI and two I/O lines :3

Now that everyone sabotaged my post I shal try to gain it back again with a new shield :stuck_out_tongue:

Arduino Multiplexer shield (48 analog inputs/digital inputs or outputs)
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1248736243/0

Mowcius

Arduino Multiplexer shield (48 analog inputs/digital inputs or outputs)
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1248736243/0

Thanks for the good word mowcius.

More info is also here:

Also, now that this project is finished, I am interested in designing and implementing more shields. So if I can help in any way like PCB layout, manufacturing, or doing small production runs, let me know!