Sunday, July 24, 2016

Prototype replica bush-telegraph insulators

A little side project we have been looking at is using Serval to support tourism activities in regional and remote Australia.

The idea is that we want to create infrastructure-independent communications nodes at points of interest around Australia, that together we would call "The New Bush Telegraph" or "The New Overland Telegraph."  

Each station would consist of a replica bush telegraph pole, preferably manufactured in regional Australia (more on that in a moment), that has a variant of the Mesh Extender that can serve tourist information via Wi-Fi, and be itself updated via the Serval Mesh, so that the maintenance of the system is as simple as possible.

We had a student work on part of this earlier this year, working out what dimensions we would need for the replica insulator, so that it could fit the necessary electronics (Mesh Extender + batteries) inside, to keep them out of the weather.

We then contracted the Pilliga Pottery to make the prototype earthenware insulators.  The Pilliga Pottery are themselves a regional/remote Australian business, and are also the largest pottery in Australia -- so they were a natural choice for us to work with.  I had also seen some of their work during a family holiday last year, so I knew that they could do the kind of work that we were looking for.

Anyway, while I was away in Samoa and Arkaroola on work trips, the prototype insulators have arrived!

Here are our two nice boxes direct from the Pilliga Scrub (fortunately the dingrel didn't get them):

You can tell it has come from regional Australia, because it is tied with bailing twine:

And padded with egg cartons from Coonabarabran:

Finally we got down to where our new insulators were hiding:

We had told the pottery to choose whatever colours and painting they wished, so it was a moment of surprise to see what colours they had chosen:

Well, it looks like they have given us three quite different and interesting colours.  This is really nice, because we want each station to be distinctive, to add a further bit of interest to the stations.  Here they all are lined up on our bench:

So the next step is to get some poles, hopefully made by Arrium Steelworks in Whyalla, solar panels and electronics, so that we can make complete prototype units. This will be much easier once we have the new Mesh Extender prototypes, that should include solar regulators and LiFePO4 battery charger circuits (more on that in another blog post), and might need to wait until we have a student to continue to drive the project forward.

Wednesday, July 6, 2016

Mesh Extender Mark-II design progress

Again a rather short post, just to say that we are working with our contractors on the PCB and case design for the new generation of Mesh Extender prototypes that we will use in the Pacific next year, and likely in a variety of other places as well.

Together with everything else, this has me rather busy at the moment, so apologies for the lack of pictures and detailed information just yet.

Hopefully in a couple of weeks I will be able to share some of our design notes, to give you an idea of what we are hoping to build.

One big challenge is to make something that is both cheap, and sufficiently rugged to endure tropical maritime conditions in the pacific, and the boiling hot / freezing cold and very dusty conditions of the Australian Outback.

Another challenge is working around the short-comings of the USB mass storage capability of the Atheros 9311 SoC, for devices like the Mesh Extender, where power could be cut at any moment without notice.  This rather upsets some brands of USB memory sticks, potentially causing them to go read-only forever.

MeshMS over 4km via UHF

Another short post as I try to get on top of everything at the moment to say that on our last trip to Arkaroola we successfully tested the UHF packet radio functionality over a distance of about 4km.  This was from the observatory ridge to Coulthard's Lookout.

With the setup we were using, we had about 50% packet loss, and jet LBARD kept persevering, and delivering MeshMS messages within a minute or so.

We did see a recurrence of a bug affecting a corner case of LBARD operation, where sometimes you have to send a 2nd message to flush out a stuck first message.  However, this should not be too hard to fix.

This weekend I fly out to Samoa to meet some folks there to talk about our AusAID / Pacific Humanitarian Challenge grant to run a pilot using Mesh Extenders there, and it will be nice to show off the UHF functionality while there.

Wednesday, June 15, 2016

Rhizome over ad-hoc UHF is FINALLY working

 As many of you will already know, we have been working away in the background on getting the RFD900 radios working in something that approximates ad-hoc mode on Wi-Fi, but using the ISM 915 MHz band, so that we can have Mesh Extenders communicate over long distance, without any limit on the number of Mesh Extenders, and without them having to be in specially paired groups.

FINALLY at 4am this morning I fixed the remaining bugs that were stopping this from working in most cases.  There are still a few little niggly issues of course, but it is now working.

Together with some work-experience students, we have tested the units in and around the lab today.

First, we set one unit up on the bench in our lab on the fourth floor, together with an Android tablet running Serval Mesh that could receive MeshMS messages, and therefore cause automatic delivery acknowledgements to be pushed back to the message sender.

We then went for a wander with another Mesh Extender and a phone, and sent messages to the tablet, and waited for delivery confirmation to come through.  This typically took a couple of minutes, although in many cases the MeshMS text message itself is delivered in about 15 seconds.

Here we are one floor down from the lab:

And then two floors down.  Note that our building has 1/2 metre thick concrete floor decks.

And yet another floor down:

 And a bit closer in on the same floor:

And then down on the first floor -- with three thick floor decks between us and the Mesh Extender.

We also went outside on the ground floor under the metal main assembly building roof, and saw radio packets, and the units attempting to transfer messages, but no messages came through.  We think that the bundle synchronisation process needs a bit of help when faced with >50% packet loss.  This should be quite possible to achieve.

Then we went to a local supermarket to buy lunch, and took the Mesh Extenders with us.  One stayed in the car in the underground car park, and the other we took with us into the shopping centre.  Here is our Mesh Extender in its special shopping centre disguise vehicle:

This was quite nice, with one of our work experience students sending text messages down to the car park, and receiving delivery confirmations in the supermarket.

So, in other words, it lives!  Hopefully we will have more updates soon, as we start testing the resulting capabilities more thoroughly and in different contexts, particularly outdoors.

Wednesday, June 1, 2016

Mesh Extenders for the Pacific

Recently we were named a winner in the Pacific Humanitarian Challenge, receiving a grant from the Australian Department of Foreign Affairs to undertake a pilot of the Serval Mesh in one or more Pacific nations.

We're now starting to get underway in our planning for this, in particular, how we can make the Mesh Extender easily manufacturable in reasonable quantities (we need about 100 for the pilot), and as robust and reliable as possible, without making it too expensive.  Of course, we know that at these small quantities, the cost will still be much higher than we would like.

We have begun talking with our good friends at RFDesign about making an all-in-one Mesh Extender PCB, including both RFD900X + Atheros 9k based embedded Linux computer.  I think we have some good ideas about how we can go about that within the budget constraints of this project.  In many ways, this is the most important part, because it simply isn't realistic to hand-build 100+ Mesh Extenders the way that we have been prototyping them so far.

A picture of an injection moulding machine (Cjp24 CC-BY-SA 3.0), because this post was too boring with just text.

One of the really interesting ideas we are exploring is including a solar and battery controller in the unit, so that you can just plug in a solar panel, car battery or other supply to run the unit, in addition to the normal 5V USB supply.  You would then also be able to connect two LiFePO4 cells, that the unit would charge from the supply, and use to operate when there is no power supply available.  We have yet to work out what impact this will have on the cost, although at this stage, the RFD900 radio is by far the single most expensive component, so we are hopeful that we can make it fit.

I have also been introduced to the world of injection moulding through a helpful colleague here in the department.  Together with a local injection moulding company, we think we have found a way to get full-custom polycarbonate injection-moulded cases designed and manufactured at a relatively affordable price.  We are currently aiming for IP65 or IP66 rating for the case, so that it can be safely used in dusty outback conditions, as well as in tropical maritime climates.

However, injection moulding is not cheap, so "relatively affordable" is still code for "will stretch our budget to the very limit".  Our current estimate is that it will take at least AUD$30,000 for us to get the tools designed, built, and then squeeze out several hundred complete cases.  Given that it was previously looking like $50,000 to just get the tools made, and then only being able to do large production runs, this is a huge step forward. Also, with the injection moulding company being within easy riding distance, and being able to do very small production runs, and pick them up in beloved my cargo bike, this all spells good news for the Mesh Extender being able to be turned into a real, purchasable product, with some very nice characteristics and capabilities.

There are some other hurdles to jump through before we would be able to offer it as a complete product, including regulatory certification from the FCC and our Australian equivalent, and ideally, also EC approval from Europe.  Given the current shenanigans with the FCC, TP-LINK and locking down router firmware to prevent undesired 3rd-party access, we are thinking very carefully about how we can avoid that whole problem, but still have common hardware between the totally incompatible US/Australia/New Zealand/Canada versus Europe radio bands that we need to use for the UHF radio.

One approach that we are thinking about is having the power/data cable that feeds the Mesh Extender be wired differently for each regulatory domain.  That way, the firmware and everything can be completely common, and the radio firmware can simply probe the cable to work out which bands it should be operating on.  Given that owners of Mesh Extenders are likely in many cases to be internationally mobile, especially when trying to respond to disaster events, we think that this is a sensible approach.

We would also likely have another cable wiring that would tell the unit to accept unsigned firmware, so that people who wish to replace the firmware and experiment can do so, but there would be no risk of someone accidentally flashing the unit with firmware that would make it operate outside of authorised bands.

We understand that this whole area is a rather sensitive one for all of us in the open-source community, so we invite your feedback on whether what we are proposing in this regard, and whether there might be any better ways of doing it, without risking the FCC of EC folks refusing certification.

Also, I'll be picking the brains of some other folks who have created open-source consumer products to try to find out about and avoid any likely hazards along the way.  If you have any wisdom or experience to offer here, it would also be very welcome.


Serval Mesh 0.93 Released

After much too long, the next official release of the Serval Mesh app for Android has been released on Google Play.

This includes many, many bug fixes incorporated during that time, and also the following major improvements:
  • Greatly reduced power usage, particularly when no peers are present. In previous versions of the software, a CPU lock would be held whenever the software was enabled and connected to a viable Wi-Fi network. This would completely prevent the CPU from suspending, draining the battery in a matter of hours. In this release, Android alarms are used to wake up the CPU, holding a CPU lock for only a short time. While there are still improvements to be made in this area, the software may be able to remain enabled and connected to a Wi-Fi network without significantly impacting battery life.
  • Bluetooth has been added as a usable network transport. The addition of bluetooth support has the potential to greatly simplify the process of discovering and connecting to other phones.
  • Better support for more recent versions of Android. Android 5.0 requires that native binaries are compiled in a way that isn't supported on version before 4.1. So we must now include 2 sets of compiled binaries.
  • Improved user feedback while networks are turning on and off.

You can read full release notes at:,

and get the app itself at:

Thursday, May 12, 2016

The Australian Prime Minister used Serval this morning

Today we had a surprise visit from our Prime Minister to the University to make some announcements of local importance in the lead up to the election.  He also made a brief tour of a couple of research labs, including ours, at the suggestion of the University.  The end result: The Prime Minister and I had a short exchange using MeshMS on the Serval app:

And the result:

Not how I was expecting this morning to be, but very nice all the same.