Need a little help from my friends......

Hello All,

First off, I'd like to thank all of you for unknowingly contributing to my education at Arduino U. I couldn't imagine learning this stuff without you. Introductory sucking up out of the way......

I have this project I've been working on, and I need a little expert advice. I'm constructing decorations for my wedding on the beach in Mexico. Sounds lame, I know, I'm getting to the good part.

My decorations consist of roughly 32 large round Chinese paper lanterns each containing a light box that holds 4 neo pixels. The LEDs are housed in a custom 3D printed "pod" that hangs inside the lanterns. The lights are controlled from a control deck equipped with a Mega and a MSGEQ7 spectrum breakout that splits the music from the DJ's board into 7 frequencies and turns that into a 7 byte array that I'm using to control the RGB values on the LEDs. The control deck has the first 16 "pods" wired directly to it and is powered by a 5v, 8A plug in power supply. The remaining 16 pods are split into 4 satellite "branches" each controlled by their own Nano and powered by 8, 5v 8000mah 2A rechargeable power banks (and a few extra banks too, just in case). Oh.....and my fiance has a Lilypad with 8 more LEDs strung to it in her dress.

Here's the good news........all of THAT......is basically done. Code is written, tested, working, looking great. Pods are printed, LEDs installed, and I even have the first two satellite strings and the master string done (and I printed a box to house the Mega, EQ7, and a few switches to control some different light patterns). After figuring out the amp drop issue by adding the power banks, they all appear to work. It is the largest color organ I've ever seen and that makes me happy.

The only part I'm fuzzy on, and admittedly it is an important one, is how the Arduinos will all talk to each other. My first thought was to use simple RF and just have the Master deck spam the 7 bytes (maybe 8 if I add a control state) constantly, and if the receivers picked up a decent chunk of it, we're golden. These are flashy lights here, and there are a lot of them, so I doubt it would look strange if they missed packets. I'd say the area I'm working with is maybe 40 sq yards. I ordered a bunch of cheapo 433mhz transmitters/receivers, and also some moderately more expensive nrf905 transceivers.....I was going to play around with them to figure out which I could get away with using. I got comfortable using VirtualWire and Radiohead and have versions of my sketches prepped for either.

If that fails......I also have enough wire to just run a line to everything, but I'm worried about the voltage drop on the data line covering that kind of distance......

Which is why I'm here.......I was hoping to get some advice on what YOU guys would do given the situation. Plow forward with RF? And if so, what pitfalls should I be aware of? Or simplify and wire it, and figure out some way to amplify the data line?

Any advice would be greatly appreciated!

I don't see anything wrong with your idea.

The only wireless device I have experience of is the nRF24L01+ which is cheap and should be perfectly suitable. I would expect it to provide reliable communication - especially outdoors. You could either give all the "slaves" the same address and send a "compound" message with data for every slave or give each slave its own address and send a separate message to each in turn.

...R

It looks like you've got the technology well under control. As far as the wireless communication goes, my experience is also limited to different nRF24L01+ RF devices. You have a choice of libraries there, and if you are following any example code, use examples from the library package you have downloaded to avoid any compatibility problems. Well, I hope it all goes well on the big day. As a married man, though, you'll probably find you have less time than before to play with all that Arduino stuff.

Excellent! I have to admit, I was somewhat trepidatious to read replies to this as I had this sinking feeling in the back of my mind that someone was going to point out a glaring problem with the plan I hadn't thought of. Its good to hear that that the plan is sound. Most of it was designed by trial and error......lots and lots of error. Many electrical components have given their lives for this information (specifically about a dozen WS2812Bs, an UNO, a Nano and a literal handful of resistors and capacitors).

I'm looking up nRF24L01+ units right now, I'm going to order a bunch of those just for peace of mind. If you guys say its the one to go with, I'm on board. I considered Xbee as well, and I KNOW those would work for this, but they are also super pricey.

I have a video of the initial prototype strip working around here somewhere (I put them in rolled up printer paper because the paper lanterns hadn't arrived yet). I'll try to find a place to host it, but its tricky because of the music playing in the background........don't want to have it taken down immediately.

As to Arduino time? Well, I believe I am buying some Arduino goodwill with the better half doing this. I wanted to do it just to see if I could, and I don't think she saw the vision at first. But when I turned on the first few strips and set them to one of her favorite songs.........well, I think she's beginning to believe that I am a wizard :)

EDIT: Link to the prototype vid (the color definition isn't as good as in real life, but you get the idea)https://goo.gl/photos/E7ySAMut3dYowtea7

I got my nRF24s working with this Tutorial

I suggest you use the TMRh20 version of the RF24 library - it solves some problems from the ManiacBug version

The pair of programs in this link may be useful - although there principal purpose is 2-way communication which you may not need. It would not be difficult to modify them for master to slave only.

...R

Ok, the nrf24l01s are on their way......and as a bonus, they take less pins than the 905s so I'll definitely be converting. Thanks for the advice! The antenna is even similar enough to the 905s that it'll fit right into the socket I made for it in the control box.

Oh shoot.......I'm going to have a bunch of extra RF modules to play with, darn.

I'll be sure to get some vids of the final product, it should be quite the sight.......a bunch of LED orbs strung around palm trees on the beach dancing to music. Now I just have to figure out how to install LEDs in a dress I'm not allowed to see........... :)

WadeWatts: in a dress I'm not allowed to see........... :)

A close shave, nail polish, lipstick and then turn up for a fiiting :)

...R

Kind of unrelated, but since you guys are about the only people I know who even know what this stuff is, I thought I might ask here. I checked all the FAA regulations and although they may do a double check on the wires and LEDs those shouldn't be a problem, they don't break any rules. The battery packs do, but only if brought in one bag, so I've worked out that I'm going to send a few with a bunch of our guest in multiple carry on bags.........so I think that's covered. The RF stuff should be ok if powered down I believe, but the FAA regs don't really outline anything about them. Thankfully they will all be inside 3D printed enclosures so technically they will be "installed inside a device", which they mention is ok.

What I'm unsure of is Mexican customs........anyone know if I should expect any issues with them? I'm fine with paying an import duty or whatever, but it would be great to know ahead of time if they are going to throw a fit about any of it.

I know, random question......but I thought I'd throw it out there.

Thought I would post a quick update to this project.

The first of the 433mhz transmitters and receivers arrived on Friday and I did some tinkering with them over the weekend. I thought it might be a good idea to at least see the proof of concept using RF before the nrf24s arrived.

It does appear that it is at least partially successful. I got them rigged up using Virtual Wire first (easiest to setup), and after tweaking the speed around a bit to get a good fit, the lights all came to life.......and with an admirably low latency as well.

One major issue that may or may not be fixed with the better modules is the signal reliability though.

At about 5m apart, I get really good packet retention for chunks of maybe 30-45 seconds each, and then I'm loosing the packets for 5-10 seconds before they come back. I had originally planned for packet loss, but not up to 10 seconds straight. I guess I had assumed I would lose a packet here or there, not a bunch of them all in a row. That is certainly noticeable. I'm guessing if I added a 12v step up to the board and powered the transmitter that way I might be able to cut that down dramatically, but why bother if I have better modules coming anyway? I also live right in the middle of downtown Denver, so I could be experiencing a lot of interference I hopefully won't be seeing on a beach in Mexico.

I did try using the RadioHead ASK library, but quickly ran into an issue.........it appears I may have a timer conflict between RadioHead and FastLED. I eventually did get it working by moving the FastLED.show() call onto the end of my goRFIn() call......but that's kind of hacky and I'd rather fix the problem outright. Am I correct in assuming the nrf24s will require Radiohead to run? Virtual Wire doesn't support them does it?

I know a British citizen who lives in Mexico. He travels a lot, and deals with customs a lot. When it comes to all Mexican agencies, bribery usually works, and frequently is needed. But the Mexican equivalent of a $20 bill will do, maybe less.

Another update on this project:

nrf24l01's arrived a few days ago. Wow, are these things perfect! Thank you all so much for the suggestion, they really are exactly what I needed. The bandwidth is more than I need for this application and I actually haven't found a spot on my whole property where the signal isn't incredibly strong.........even through every wall in the house!

I don't think there is any doubt that these will shoot my signal easily across the beach to all of the LED boxes.

Thanks again all!

I'll let ya know how the finished product turns out.