You have no items in your shopping cart.
RadioBlock: Simple Radio for any Embedded System
RadioBlock with SimpleMesh
So what’s different? Well the bones of our hardware is like most other products: we have a radio chip, and we have a microcontroller. The microcontroller handles all the complex stuff for you, so you just send it simple easy commands – Tell it the address to send data to and the network finds a path to to get it there.
The first major difference is we don’t hide the software in our microcontroller. It’s completely open-source. Most competitors don’t give that away – you are stuck with the features they chose. You can modify the software to your heart’s content, and we even make it easy to do so (see ‘debugging’ later). You can even implement your entire project on the RadioBlock device.
Second, we throw away everything we don’t need. Most protocols have different addressing modes, because they want you to be able to support networks of millions of nodes. Yeah, sure. We only have one address per node – you want to turn your toaster on? Alright, well just write down a 4-digit number. That is your toasters address. That’s it.
SimpleMesh doesn’t have a special ‘central’ node; you just send data to addresses. Sure one of those devices can be a computer that receives all the data, but there is nothing special about it according to SimpleMesh.
RadioBlock HW Features
First off – this product is FCC certified. We aren’t selling some fly-by-night product here you can only experiment with. You can install 10000 of these downtown tomorrow for your next great product.
The board comes in two versions. One has a battery holder on the back – this version has female headers (so you won’t short out anything), and is designed so it can be deployed on it’s own.
RadioBlock & Arduino
You don’t need to plug this thing into a shield. You can just plug it into any four digital Arduino pins. This magic works because the device can be powered by setting the arduino pins high/low. The current consumption is low enough that it doesn’t stress the AVR, and the device has a regulator on-board so it isn’t bothered by the fact the voltage won’t be reliable this way.
Then the other two pins are the serial link. If you want of course you can just connect up power & the two serial lines in a more ‘classic’ way, which really means you only need two pins on any arudino to control the radio. You can use it with both 3.3V and 5V arduinos. The RadioBlock internally regulates the external power down to 3V, but the I/O lines can work with 5V logic.
The library leaves the hardware serial port on the Arudino free, so you can still use that to talk to your computer. You can even connect more than one RadioBlock to a single Arduino, if perhaps, you want to run several different networks from one device.
We have a basic library now. The idea is to make it easy – just plug your RadioBlock in, and send data somewhere. We’re expanding the library to add more functions, but of course it’s all open-source so you can help too.
Really, you don’t need a shield. You can just connect up a few wires. But we’re making a shield anyway. Not because we’re greedy mind you – but because we want to add more features. In particular we’ve designed a shield that adds a AAA battery pack, which can power the Arduino & RadioBlock. Critically this shield lets the RadioBlock shut down power to the Arduino, and later turn on the system when you receive data, or even just after some delay. Powering an Arudino directly with AAA batteries would only last a few days – with this shield, the batteries could last a year, since the system can be off most of the time. We’ve got a design & prototype, but need to finish testing and get some production levels. This board is not part of this offering or part of this kickstarter project!
Many people aren’t into Ardunios. That’s fine – you don’t need them to use this product. You can directly interface a node to a computer using a serial-to-USB converter. Our example Python app sends data in the proper format & parses the responses.
You can use this sort of connection to add a RadioBlock to your Linux computer too – think about having a Raspberry Pi as one device on your network. This way you could easily connect your wireless network to the internet, and have it send you an e-mail when it detects something amiss. Even if you have a hacked router firmware (DD-WRT) you could interface to this, since most of those routers provide a few serial port lines.
RadioBlock & Other Devices
Most of our lives we’ve never used Arduinos, we’ve just used microcontroller development kits. The truth is that the RadioBlock can be connected to basically anything embedded. It works at both 3V, 3.3V, and 5V (common embedded power supplies) and just needs a serial link. The simple pin-out means you might need a few wires at most – sometimes it will plug directly into other boards with existing connectors!
We’re working on example C code to talk to the RadioBlock. So you don’t really need to implement anything – you just drop down our interface code, point it to your serial port, and you’re done. Remember the software in the RadioBlock is open source, so you might even just write code on the RadioBlock itself.
Here it is plugged into a FPGA board for example, the device happens to fit into Digilent Inc PMod connectors. AVRs, PICs, 8051s, ARMs…. “RadioBlock don’t care, it’ll plug into anything!” It’s a bit promiscuous like that.
The RadioBlock has some expansion ports. We’ve already designed a 3-axis accelerometer board & an IO expansion board to fit in here. The expansion ports will let you run code entirely on the RadioBlock without needing an external microcontroller.
The following shows the 3-axis accelerometer module on the left (yes it’s that small), and the I/O expansion module on the right. The I/O expansion includes 6 LEDs and a push-button along with 8 GPIO lines. Note only the ‘battery’ based boards include the female header that fits these. (But, based on your demand we can supply the headers…)
The microprocessor on this board is a LPC1114. For $30 you can buy a ‘LPCXpresso’ kit which includes a USB JTAG & a compiler license. With that you can plug the RadioBlock into the JTAG and do full-blown debugging on the board itself:
RadioBlock & IEEE 802.15.4
The radio on the RadioBlock is a real Atmel IEEE 802.15.4 device. This means a few things: for one you can run all sorts of other software on the RadioBlock (you’ll want the $30 debugger for this) such as Contiki or TinyOS. The IEEE 802.15.4 standard also means you can use any IEEE 802.15.4 sniffer if you want, or you will be able to use our device as an IEEE 802.15.4 sniffer.
Or you could use the RadioBlock as a way to add an IEEE 802.15.4 device to an embedded Linux computer, think of having a 6LoWPAN router (again the Rasberry Pi comes to mind here). For now you’ll need to do some extra coding, because we’re focusing on the SimpleMesh software. But the hardware would fully support your endeavours.
Oh and it can directly plug into the Raspberry Pi with the current revision, or in the future may require a wire if 5V pin changes location.
We love documentation. Too many products have poor documentation. So we’re writing as much as we can. To give you an idea, here are some links to beta versions. We’ve got more coming though, so hold onto your seat.