Hey folks, I have tried to contact people at GT in the past, with no success. Now that we have a community, I may be able to give this another try.
I write native Apple software. I’m fairly good at it.
I have developed a low-level Bluetooth SDK. It’s generic (not specialized for any particular implementation). It’s designed to go under higher-level adapters for specific use cases.
It’s native Apple (Swift), so it only applies to Apple stuff (iOS/iPadOS, Mac, Watch or TV). No Android (sorry).
I’m just working on the last couple of test harnesses (I’m currently developing the Watch app). The SDK has already been used to develop a released app, even though I have not yet officially released the SDK.
All that was a set up for my request: I want to write the next level SDK layer for GT devices. In order to do that, I need to know about the Bluetooth commands and data transfer protocols.
I want to avoid using the SDK. The driver that I’m writing is meant to work on ALL Apple devices, like Watches and AppleTV. I’m pretty good at this stuff. I’ve been writing SDKs for over 30 years (same with device control software, and Apple software).
Everything I write is open-source (MIT License). Look up my GitHub ID under “ChrisMarshallNY”. I keep busy. I’m also fairly intense about Quality. I worked for Nikon for a long time, so Quality is a religious obligation, to me.
If you guys help me out, you probably won’t regret it.
Really excited about every new effort in this direction. Welcome aboard!
Bad news first: unfortunately, for legal and commercial reasons, goTenna are forbidden to provide any direct information on the subject in a public forum, however, they do encourage experimentation and hacking of their devices. We just need to figure everything out on our own.
The good news: some scattered open source and documentation projects do exist; here are a few to get you started:
Apologies for failed attempts to contact goTenna. Please email us at support@gotenna.com . Happy to put you in contact with one of our Product managers, who will be able to provide you more information on Bluetooth specs.
Chris, all I said was not in a public forum. There’s a lot to learn by engaging with the technical guys in a more privacy-preserving manner.
Check out the forum history, including my older posts, see how many technical inquiry threads seem to end abruptly. It’s because at least some of them are resolved off-site.
Please, don’t be discouraged by my previous post and definitely give @nazrink’s advice a try.
Oh, yeah. Just FYI. This project went golden a couple of days ago.
It is not, in itself, a mesh driver, but it does all the heavy lifting. The mesh driver would be a façade, layered over the driver (I work in layers).
The test harnesses are pretty heavy-duty apps, in their own right. I have already released the iOS harness as an app on the App Store (completely free, and 100% open source), and am working on the Watch version, now.
Yup. There will be a standalone Apple Watch bluetooth sniffer app, soon.
If it gets to where I need to do an NDA to complete the project, I’ll probably just throw in the towel and do something else. I’m not a FOSSer, but I think that stuff like this helps people, and I write software to help people that help people. I think providing an open SDK is a great way to do that. I’ve been writing SDKs for more than thirty years, so I can probably make something nice.
I’ll be working in a private repo, for a while, until I feel the project is stable enough to expose as a public repo. The eventual work will be MIT-licensed open-source, like almost everything else I do.