goTenna Mesh SDK talk


If anyone here happens to be in London for MozFest — the biggest conference around a healthy, open internet, and which has a whole area dedicated to decentralization this year — we are hosting a session tomorrow, Saturday, at 3:15 on how to use the goTenna Mesh SDK:

(Edit: fixed URL)


Sorry for commenting on an old post, but I found some Android emulators that run on Windows. That may be a workaround? Will try this weekend on my PC at home.

Here is a potential $40 option for a dedicated station:

Need this:

and this:

Also see:


The is another way. Buy an Android TV box or cheap Android phone then run software on it so you can log in remotely to control it. For a remote application the phone is a plus because it can have dedicated internet access. Buy a Freedompop phone and it can even be free internet access for a remote station. Alternatively you could use point to point WiFi for a remote connection.


Tried Bluestacks to emulate the android environment and the emulators failed. Everything was working fine until the program called up the bluetooth connection. The bluetooth 4.0 on a PC will not connect to the environment in the current build.

This is a flaw with the emulator and not the app!

Shopping for a cheap android device, what is the minimum practical Android build that will accept the updated apps for the next 12 months? I subscribe to pro and would like this node to connect to the internet.



@maingear check out the G4 from Motorola.
We extensively test the goTenna app on this model.


We are currently putting the final touches on a proposal to add real-time mesh networking support to an existing app we developed for marine mammal observation and tracking.

Right now we are looking at using the GoTenna Mesh for development, and possibly swapping over to the GoTenna Pro for deployment on a large project in 2019.

Our goal is to build a “common operating picture” for all observers on the project, showing the locations of marine mammals, observers, and other field targets the science-types want to keep track of.

I’m really looking forward to getting my hands on some units so we can start building.
I’m curious if existing developers using the SDK have any feedback on using the mesh network in the real world given the data throughput and message frequency limitations.

In the back of my mind I’m a little concerned about the ability of the mesh network to keep up with the operational tempo of a large survey event. Especially if we need to “catch up” after a blackout period or if a device re-joins the network after moving out of range.


@maingear : The Raspberry Pi Zero W or Pi 3 both have BLE built-in, you don’t need any additional hardware to make them talk to a GoTenna. The standard Android Studio that is used for development contains an Android emulator, but I would not rely on it for Bluetooth at all -not even sure it is implemented - , there already is a huge variance from one tablet/phone to the next in how Bluetooth behaves, as I’m sure the Gotenna team knows very well :wink:

I have spent some time on the BLE protocol. It is not overly complicated - a simple HDLC framing system - , and mostly uses TLV structures (Tag-Length-Value) plus a couple of other oddities, but for instance building a NodeJS library that uses the ‘noble’ BLE API would require quite a bit of work, since this is a really low level protocol. I would love to implement a Gotennna driver in my framework but I simply lack the time.

And of course, since this is undocumented/unsupported, there is always a chance this will break with any firmware upgrade. The Android/iOS SDKs already support multiple firmware versions and models transparently, which indicates that the underlying protocol can definitely change a bit from one version to the next.

In practice, since the Gotenna needs a power supply if you want to operate for long periods of time, a USB SDK would probably make more sense, as long as it can be used on popular languages - C, python, Node, etc.


@madmapper @elafargue

We will be easing these restrictions as our protocol matures. Watch for an update in early 2018.

A USB SDK for goTenna Mesh will be available in early 2018. This will be in the form of documented Python libraries.


“The Raspberry Pi Zero W or Pi 3 both have BLE built-in, you don’t need any additional hardware to make them talk to a GoTenna.”

A Pi image would be the simplest/cheapest solution for a stationary node with internet access.

I sponsored a NAVIO+ auto pilot project and I don’t do well with details in code. :dizzy_face: Best to support the SMEs and let them do there magic!

Looking forward to see what happens next!



@Rahul_Subramany by the way, none of my GoTenna Mesh units enumerate on USB on my Mac… Do the units need to be configured in a specific way to show up on USB?

The error on the MacOS console is:

      AppleUSBHostPort::disconnect: persistent enumeration failures

… and Linux complains pretty much of the same too. I suppose USB will be implemented in a future firmware update?


It seems as though there’s quite a few of us waiting for USB SDK. I’m pretty excited to start playing with the SDK when I don’t have to code for Android or IOS.


Guys, i am also looking forward to the python USB SDK!!


@elafargue @akraut @flare1 am looking forward to this as well.
USB will be implemented via a future firmware update. It’s not turned ON in the version you have today.


Check out the goTenna Mesh SDK challenge.


My experience says Gotenna Mesh units work well with the G4 and G4 plus versions. The plus version will get Android 8.0 support eventually although it will be the last phone in Motorolas lineup to get it. It was not a planned update.



If any developer here is interested in building a bitcoin application, I have an idea and would love to discuss it with someone. Please DM me.


Sharing @GliderBen’s post about an Android app he’s building for sailplanes using the Mesh SDK … (oh and no big deal, he just set the new goTenna Mesh point-to-point range record while using his app!)


My current plan isn’t particularly ground breaking but as a smallish project to learn the SDK and merge it with other projects I’ve been exploring. I have a small app I’ve been dabbling with using mobile mesh peer to peer communications to achieve roughly what GoTenna does (though with a much shorter range or course) using only the device’s bluetooth. I’d like to incorporate GoTennas into this so that a phone can effectively act as a virtual gotenna unit.

The use case would be, a party of three in the back country. Two members of the party have GoTenna devices but the third doesn’t. All three users have the virtual mesh unit app on their phones. In this way, the user without a Gotenna unit would be able to communicate with either of the other users so long as he/she is in BlueTooth range of one of them.


So it turned out I don’t need two devices for testing. I’m just running my diagnostic app and my test app on the same device. Each app is connected to a separate Gotenna mesh. This is very useful for basic application testing(convenience). My “diagnostic” app doesn’t do anything but pop up a toast notification with the information I want but that’s all I need most of the time.


I was hoping someone would write an app like this! This would be very useful for emergency communications in areas affected by natural disasters where a few people might have goTennas but the majority of the people will only have their smartphones.

Will you be utilizing Apple’s Multipeer Connectivity Framework?

When you end up needing Beta testers for the iOS app you can count me in!

Good luck with your project and please continue to post your progress updates here.

James Hannibal
Twitter: @Tech_Examiner