RS-485 or Ethernet?

Hello world!

I'm new to micro controllers and programming in general, and on a very steep learning curve, I was hoping someone may be able to help...

I have a big project (interactive theatre) where eventually I would like around 100 Arduinos networked. All nodes need to tx/rx with all other nodes, preferably in a multi-drop/daisy chain setup, but a star may be ok too.

What are my options here?

RS-485? Perhaps using something like this http://www.futurlec.com/Mini_RS422.shtml, but then I think I'll be limited to 30 odd nodes(?).

Ethernet? Putting a shield on each, it'll get expensive but will handle that many nodes no sweat right? What about routing & switching, is that going to be a headache? Wiznet vs. Xport? DHCP vs. TCP/IP?

XBee? I must say, I'd be more at easy with the network being physical, but how bout these XBees? That mesh sounds cool and they reckon that a 1000 node network has been tested. Thing is... this will be an overseas touring show, so needs to comply with local laws regarding wireless compliance blah blah.

Any other bright ideas?

Whatever I end up with, I'm basically starting from scratch in terms of knowledge which is kind of terrifying/exciting.

Thanks,

Rob.

I have a big project (interactive theatre) where eventually I would like around 100 Arduinos networked. All nodes need to tx/rx with all other nodes, preferably in a multi-drop/daisy chain setup, but a star may be ok too. ... Whatever I end up with, I'm basically starting from scratch in terms of knowledge which is kind of terrifying/exciting.

That sounds cool!

If this is your first experience with programming/electronics I would probably say: 'prepare to get frustrated, angry and then maybe pleased'

That was a pretty big project if you're starting from scratch. :) There is nothing wrong with that!

I would suggest that you break your project into smaller problems, and be sure to make a sketch for each solution. And comment all logic that is not self explanatory. (That way it's easy to browse old code, and see what worked and what failed. And if commentet well, why it should work)

100 networked arduinoes... Tell me more about your project? It sounds interesting;D

The ~30 node limitation on RS485 is mainly an electrical limitation. You can make an RS485 repeater and extend the network to many more nodes. There's a simple repeater concept on page 18 of this datasheet: http://www.datasheetcatalog.org/datasheet/maxim/MAX3080-MAX3089.pdf

Yeah, just a little ambitious me.

Check out our website for info on the show http://www.hackman.co.nz/ (follow the links to Apollo 13 : Mission Control)

We mounted this show last year in Wellington, New Zealand. I made a system of transistor switched LEDs (about 400 leds grouped into 12 chs) and set them inside about 60 consoles that the audience sit at. Response was fantastic, amazing actually, but there was a big call for more interactivity (enter Arduino).

So in July/August this year we have the next seasons, this time with 100+ consoles. Budget/time constraints will dictate a hybrid of the old LED system and about 5-10 Arduinos, but after that it's all on! Future proof is the key... I'm designing everything technical in the show, and do a spot of acting too, so believe it or not, this Arduino system that I'm spec'ing is about 1/10 of my job.

I'm fully expecting to be frustrated, angry and hopefully pleased (hmmm definitely pleased) Luckily I'm not a total beginner with electronics!

Thanks for your advice AB! do you ever leave little //haikus to cheer yourself up when code isn't going so well?

I have a big project (interactive theatre) where eventually I would like around 100 Arduinos networked. All nodes need to tx/rx with all other nodes, preferably in a multi-drop/daisy chain setup, but a star may be ok too.

RS485 is nice, and I've seen it pushed over 100 devices with repeaters.

Another option, is to daisy chain using two RS232 ports per arduino and creating a repeater out of each arduino. It's more complicated because you only have one HW uart, but it should be doable. On dual uart systems I've worked on 80+ node systems made this way. Latency is kind of high and band width kind of low though.

@macegr

Thanks, that's good to know, I'll be experimenting with RS-485 for sure, I only recently re-discovered that it's what DMX uses, which I use a lot in my line of work. If only I had taken more of an interest in it years ago...

Latency is kind of high and band width kind of low though.

Yeah, I really need to take latency into consideration. Thanks for your comments [smiley=thumbsup.gif]

If you would like an Ethernet solution and cost is an issue, have a look at using the low cost ENC28J60 chip. This doesn't have as much of the TCP/IP stack as the WIZnet ethernet shields, but you can get a shield that does UDP or TCP networking for less than $20 one off . The enc28j60 chip is around $2.50 in 100 off quantities so you may be able to negotiate a good price on 100 boards.

http://www.nuelectronics.com/estore/index.php?main_page=product_info&products_id=4

http://www.nuelectronics.com/estore/index.php?main_page=product_info&products_id...

Oooh, the price is right.

Would you/or anyone mind doing a quick feature comparison of the nuelectronics, WIZnet and XPort modules in the scenario I have described? Ease of addressing, and ease of use in general are more of a priority than cost.

Also, any thoughts on switching/routing in a LAN like this?

Thanks for the replies thus far everyone, much appreciated.

Rob.

I would REALLY like to have a update on your project. I am embarking on a 2000 LED project. Knowing you accomplished your goal would be inspirational.

TheBallofLight.com

Just remember that if you go for RS485 and have a 100 node "anybody can talk to anbody" network, you need to implement some kind of collision prevention / detection scheme. This is not easy to implement.

Hi! Wow, I can't believe I was asking these questions only a year ago. I went with a 100+ node DMX based RS485 setup. It worked beautifully.

http://www.flickr.com/photos/flashtui/sets/72157622799873947/.

I adapted code from Max Piersons's blog:

http://blog.wingedvictorydesign.com/2009/03/20/receive-dmx-512-with-an-arduino/

and designed my own boards. I have not, as yet, embarked on each node transmitting (although this is definitely still on the cards). The next stage is to use LED drivers to extend the number of LED's. Control is from a LanBox. I can give a more detailed description of the system later... If there is interest? r

Wow that is one awesome project you got there well done!