Monday, July 21, 2014

Design files for free and open-source collapsable communications tower

After rather a long time, we finally have the design files for the communications tower online at:

We also have a paper that we will present at the IEEE Global Humanitarian Technology Conference in San Jose in October 2014.

Once the conference has been held, we will post a link to an open-access copy of the paper.  However, you can already get more detail from the thesis of Greg, the lead student on the project.  His thesis is included as a PDF in the GitHub repository mentioned above.

Wednesday, June 4, 2014

Serval Rugged Battery Pack

One of the tasks we have been funding from our crowd funding campaign last year is the design of a rugged battery pack that can run from a solar panel, car battery, hand crank or other various power sources.  This is desired to run Serval Mesh Extenders and other wireless nodes in the field.  Musti has been doing the work on this, putting in much more effort and time than we have paid, and has made some really great progress as the image and video below show.

Image (C) Musti, CC-BY-NC-SA from

The unit should be able to run a Mesh Extender for 2 - 4 days when the design is complete.

As with all we do, the entire design is open-source.  The source code is available at, along with some more pictures of the device in action.

Wednesday, May 28, 2014

Tunnelling IP traffic over the Serval Overlay Mesh

We have been asked a number of times over the past few years if it is possible to carry IP traffic over a Serval Mesh network.  

Our answer has always been along the lines of "yes, you could in principle tunnel it, but we haven't added support for it, and we have other tasks higher on our priority list."  Thanks to a research agreement with the New America Foundation's Commotion Wireless project, and a lot of excellent work by Jeremy, this has now changed.  

We are now able to tunnel IP traffic over the newly implemented Mesh Streaming Protocol (MSP).  MSP is kind of like TCP for Serval Mesh, in that it provides reliable in-order delivery of a data stream.  It isn't exactly like TCP, however.  For example, we intend to add a kind of hybrid mode where it tries to reliably deliver traffic, but is okay with missing the occasional packet if it will delay the whole stream too much.  That sort of feature is good for streaming live audio, for example.

To tunnel IP traffic over a mesh we need more than just MSP, we need some sort of port-forwarding between IP and MSP, in other words a protocol converter.  We also need a proxy server, and ideally, some sort of access control mechanism to decide who can use the service.  It would also be great to have an automatic service discovery mechanism.

Jeremy has implemented all of these things, as can be seen in the video below.

Talking about the access control, one of the nice things about the Serval overlay mesh protocols is that node addresses are public keys.  This means that you can reliably limit services to a particular node, just by filtering on network address, because no one can spoof the network address of any other party.

Another happy side effect is that all traffic over the tunnel is automatically end-to-end encrypted.  As can be seen in the video, there is nothing the user needs to do in order to get the encryption.

Friday, May 23, 2014

Stopping Samsung Galaxy S2 data partition filling up

We have a number of Galaxy S2's that we use for Serval.  Some of those we keep "stock", so no root or anything fancy, for testing Serval Mesh on. The one of those I use as my day-to-day phone has recently been filling up the internal storage so that I couldn't install even small apps, even though I had very little installed on the phone.

After a bit of digging around, I discovered that this can be fixed by dialling *#9900# and then choosing the option to delete logcat.  Suddenly my phone was back to having 1.6GB of free space on the internal storage :)

Hopefully this will help others who encounter the same problem.

Thursday, May 1, 2014

Humanitarian UAVs

A good friend pointed me to this blog post this morning about the use of UAVs in Humanitarian contexts:

This is something that we have been thinking about for a while, and talking to a few folks about, including Patrick (the author of the blog).

We agree that Serval's store-and-forward Rhizome file distribution service seems a good fit for this kind of use case.  It would allow UAVs to opportunistically transfer data between them while in flight whenever they were able, and similarly to opportunistically and automatically downlink data whenever in range of a suitable base station (which could just be a mobile phone someone is carrying).

All up, this could make it very feasible to collect imagery, cellular signal strength maps and other useful data in a fairly automatic and continuous basis, especially if combined with some intelligent flight control and coordination software.

Sunday, April 13, 2014

The DARPA Spectrum Challenge is interesting

The DARPA Spectrum Challenge was held last week.  This is an interesting event encouraging innovation in using spectrum much more efficiently.

This is one of those events where it would have been nice to have been there, and talk to some of the people involved in the various entries.

The technologies being developed have huge potential impact for "unlicensed" (really public licensed) spectrum, both existing and future.

Perhaps the biggest outcome was the further validation that cooperating radios can share spectrum, without any central authority or database.  Of course, we already knew that, but this is an extra data point to give regulators courage to make TV white space and other shared spectrum resources available for general use.

Sunday, March 23, 2014

Imitation is the best form of flattery

Recently Jeremy and I attended RightsCon 2014.  Among a variety of good things we were able to do and good people to meet with, we caught up with Miles, who has replicated our Mesh Extenders using the open documentation we have created.  While we know the documentation can always be better, it was pleasing that there was enough information for Miles to be able to replicate our work.  You can see our yellow mesh extender next to the one that Miles built himself.  Hopefully this is the first of many replications of our work.  Thanks again Miles for all your work on this and other things!