Creation - RF Pipe

@ Jay Jay - I am working on a personal research project to support mobile ad hoc networking with the RF pipe modules. a mesh network is automatically configured as nodes are recognized, and the topology adapts as nodes move. every node can communicate with every other node.

I now have the messaging done for routing table construction and maintenance, and I am waiting for the delivery of a batch of RF pipes.

availability fall 2013.

Well for me it would be very expensive to do on my own, because of my lack of interest in Arduino and no time to learn Arduino ā€¦

thatā€™s why Iā€™m hoping that one of these days someone will produce such plug and play solution for NETMF on the cheapā€¦ :slight_smile:

cheers,
Jay.

Oooooo looks like Santa is Monitoring our forum :slight_smile: great news Mikeā€¦ canā€™t wait to see what youā€™ll come up withā€¦

Cheers,
Jay.

I believe the RF module that you are using has the same circuit board footprint as this: Shrunk down an Arduino to the size of a finger-tip! by Open Source RF ā€” Kickstarter

It might make for an interesting combo.

@ skeller - its the same radio.

@ Justin - I belive the kickstarter board uses a bluetooth radio?

@ Mike - there are 2 KSā€¦
Rfduino was firstā€¦then BTā€¦
And yes, i have asked about the BT module :wink:

Whatā€™s the benefits of combining those two?

Looking at the driver, looks like the only method to send data is SendData(string).

If you had several of these going at once, can you direct the message to a specific device, or does it broadcast the message to all?

I know that adding a message recipient would be fairly trivial, just curious if it was part of the rf pipe natively.

@ mhectorgato - The module has two modes, mode 2 and 3. There are many others, but they are not applicable to this module.

If a module is in mode 2, it receives from all modules it hears. In mode 3, you can train it to only hears from modules it has ā€œlearnedā€.

When data is received, it does not contain any identification of who sent it. Each module has a unique serial number, but it is not sent in modes 2 and 3.

What makes this module ā€œfunā€ to control is data is sent in packets, which contains error correction information and checksums. This is transparent to the user. If a packet can be verified as correct, is is sent to the serial port. If not, the packet is discarded. The user only sees clean data.

The fun part is when you send data, via the serial port, the data is stored in the chip until a 12 byte packet is built, or 15ms from last data byte has passed. That means, if multiple devices are sending, you have to be able to separate and identify each packet. I decided to send packets with a fixed size of 12. Read 12 bytes, and you have a packet.

As I said earlier, I am building a mesh network protocol with these devices. The 12 byte packets are causing a high overhead. In a normal protocol, three bytes would be a low overhead, but when the packet is 12 bytes long, it is high.

I have some ideas for increasing the logical packet size, but that is for a later version of the protocol.

For transmission between two nodes, these modules are great. For Multipoint topologies, they are a bit more or a challenge.

Thanks for the info Mike! Looking forward to hearing about your progress with this project.

In mode 3, how do you train it?

One thing I want to know about this module is the power consumption of the device when active or ā€œlisteningā€, compared to xbeeā€™s and the likes. If it can be as low as xbee/zigbee in low-power mode and still manage > 100meters long distance connection, then we have a very serious contender in the domain of battery powered radio modules.

@ mhectorgato - push the button on the board to put it in learn mode, send something from the module you want to learn either by send something using code or push its button.

Job done.

@ fradav - 14ma tx and 17ma rx 3v3

So alot less than a 1mw xbee.

Edit: xbee 1mw - 3.3V @ 50mA

@ Justin - The cool thing about the RFDuino is the built in ARM Cortex M0 processor. Wonder if it could be used as a DaisyLink module? Certainly having it handle the communications would allow the host processor to sleep until a message comes in.

@ skeller - Hopefully i will be playing with one of the modules soonā€¦

@ Justin - Very interesting. I have this project which requires a bunch of autonomous wireless devices, collecting data every 10/15 minutes and sending it (it is usually only a few hundred bytes). I was originally intended to go the xbee way, but now Iā€™m inclined to give your solution a go. Will you able to send a batch of ~15/20 devices in a few months ? I can promise anything and I have to test my project with this before, of course :wink:

@ fradav - i only need 4 days heads up for those quantities.

@ Justin - can you also provide the USB dongle?

@ mhectorgato - not currently, but if there is interest i will make oneā€¦