var best = "simple & cheap";

I have a server in my apartment that I have an XBEE hooked up to. I use it to communicate with another XBEE plugged into an Arduino. I am trying to hook up many things to my server, but I don't want to have 10 XBEEs hooked up to 10 Arduinos, because that's expensive. I also don't want to have wires running all over the place to hook up sensors/etc to my one Arduino.

My first thought was to buy some Arduino Minis, and wire something like these to them:
RF Link Transmitter
RF Link Receiver

Would there be a betters solution? Do you have any particular resources I should go read? The endpoint devices would have to do things like read sensors, trigger switches, and even display data. Also, I'm not sure if I would use batteries for these or try to get power adapters for these.

Please comment if I should include more information about anything! :)

  • \$\begingroup\$ Similar \$\endgroup\$ – Matt Jun 17 '14 at 21:01
  • \$\begingroup\$ Try the Jeenode, arduino based boards with radio links for cheap. Jeelabs has an amazing blog and tons of examples and info. \$\endgroup\$ – Passerby Jun 17 '14 at 22:36

Bluetooth LE (Low Energy) is actually perfect for this type of application. It's meant for low power and low bandwidth communication needs, where each device only needs to send very small bursts of information periodically. It's also very highly optimized to run off of coin cell batteries so you might not need AC adapters if the sensor's duties are simple enough. We recently did a project that used lots of Bluetooth LE beacons and each one lasted for about 2 months off of a coin cell battery.

The hardware we used was already built for us but there are BLE solutions for the Arduino: http://www.adafruit.com/products/1697

Best part is you can use it with any device that has Bluetooth 4.0! (iPhone, Android phone, BT 4.0 dongle). And you'd only need one receiver since Bluetooth is already highly optimized to share the RF spectrum.

I used this book to get acquainted with BLE, it was pretty useful (very detailed but you can skim through what you need): http://amzn.com/013288836X

One important thing to note if you want to use Android: There was a rather annoying bug with its BLE implementation so you need the latest Android (4.4.3) to get the best results. Although, it only affects you if you have tons (over 2000) unique BLE device IDs floating around (which can happen if some devices want to rotate their MAC address for privacy reasons).

  • \$\begingroup\$ Thanks for the answer. I was thinking about staying away from Bluetooth. I'm not going to be using bluetooth devices to connect to the endpoint devices. I was wanting to stick to regular RF com because of its cost and range. Also, I would only consider a battery option if it lasts for like a year. \$\endgroup\$ – Andrew Koroluk Jun 17 '14 at 18:02
  • \$\begingroup\$ Depending on the usage scenario you can get a year out of BLE devices with a few AA batteries. \$\endgroup\$ – HL-SDK Jun 17 '14 at 18:21
  • \$\begingroup\$ @AndrewKoroluk If you want simple and cheap, this is the best way to go, it is supported on many platforms and by lots of different hardware and is well supported by OEM's. Any RF solution will require you to maintain custom hardware, drivers, etc because there is no standard for RF communications. If you want something working today for very little money and minimal effort drop a BT LE on it and call it a day. \$\endgroup\$ – crasic Jun 17 '14 at 18:28
  • 1
    \$\begingroup\$ And to clarify, bluetooth is RF, but it has a standard defined communication stack. If you use raw RF transponders you will have to design your own communication stack (which means drivers and arduino code). And you will not be winning much in terms of power. LE is designed for low power! Why not trust an entire industry of engineers to provide a better solution to what is an uninteresting interface problem in your device? \$\endgroup\$ – crasic Jun 17 '14 at 18:41
  • 1
    \$\begingroup\$ You still need other hardware to do encoding/decoding, frequency multiplexing and a bunch of other things that already implemented for you in BT LE. Of course, if the goal is to learn how to do this, there are certainly ways to make it work, if the goal is "simple and cheap" as you state in the first sentence of your post this is not the way to go. \$\endgroup\$ – crasic Jun 17 '14 at 19:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.