1 Aug 2012

[ part of the orb series ]

With the Orb needing to be wireless, one of the early decisions was what sort of wireless to use.

The first option to consider was Wi-Fi. This would allow the Orb to connect straight to the Internet via the home router – no intermediary is needed. The downside is that the Orb doesn’t have any sort of UI that would allow configuration of the Wi-Fi settings. Some Arduino WiFi shields will read the configuration from an SD card – but that is not at all a nice user experience. Nor is there a lot of space available on the bottom board to fit all of the hardware in. It is also an expensive option. Likewise Bluetooth and ZigBee weren’t really a good fit.

That left a 433Mhz, or similar, radio link. I had played around with some cheap radio transceivers before and they seemed a good way to go. But then I discovered the RFM12B module via JeeLabs. Jean-Claude has written a lot about the module on his blog and has created an Arduino library for driving it – perfect for the Orb. Another benefit is that the Nanode board comes with this module – making it nicely interoperable.

The downside of the module is that it runs at 3.3V – but the rest of the Orb runs at 5V. I considered squeezing in the appropriate voltage regulators to provide both voltages from an unregulated supply. But I decided it would be easier to offload some of that by requiring a regulated 5V power supply. That way, the bottom board only needs a regulator to provide 3.3V to the radio, as well as a set of voltage dividers on each of the signal lines between the radio and the ATmega328. It also opens the option of using a micro-USB port as has become standard with mobile phone chargers – although that’s for the future.

Although I said the Orb has no configuration interface, I decided it needed something. A common pattern with radio-linked devices, such as the CurrentCost meters, is that you press and hold a switch to put the device into a pairing-mode. This mode allows you to not only establish a link between the device and a base station, but also to link multiple devices with a single base, whilst maintaining their individual addressability. To this end, I included a surface-mount switch on the underside of this board so it can be accessed through the bottom of the Orb housing.

As ever, the schematics are on github.

PCB #3 PCB #3 - built

And that’s the final board. All soldered, stacked and ready to do its thing. What’s next? Making a base to house these boards in. But that’s for another day.

Stacked
  1. Steve • August 6, 2012

    Looks like an interesting project.

    I’ve been thinking of doing something similar, but using a Raspberry Pi over WiFi. The Pi can run a web server which provides a way for a computer or smart phone to connect to the Orb and modify the configurations. This would be a standalone design not requiring any external computer, just an Internet connection.

  2. ThomasAugust 22, 2012

    Hi Steve,

    I think what you are doing with the Orb is very interesting. I have a very similar project going on at http://www.tbideas.com – Thought you might be interested!

    Our LED is a 40W RGB from LedEngin (but you could use any other type of 600mA LED) and we have chosen the Roving Networks RN-171 for Wifi connectivity. It works very well but right now the wifi configuration is stored in the micro-controller and it needs to be reflashed to change that.

    All of our source code and schematics are open source (including the iOS app to control it). I would love to have your opinion on what we are doing!

    thomas

  3. leave a comment

    You must be logged in to post a comment.