Smart Audio / Tramp Telemetry

While I’ve read that the two protocols of smart audio or tramp telemetry are useful for controlling some FPC cameras and transmitters, i.e. you can change settings remotely using the protocols, I have not found a decent support document on how to set this up from a generic micro controller. Documentation only exists in the settings needed for setting an quad copter’s flight controller. Has anyone had any luck with implementing these protocols from scratch (like the way Gengis Dhon rewrote his own dynamixel drivers)?

I have found the documentation, and intend to use it on Malum-next. I even have a connector right next to the video switch that’s onboard the new controller board, so I can switch between two different cameras, in case the rules update to say “one channel only.” (The cameras are not genlocked; don’t know exactly how well my receiver will deal with this.)

It’s 4800 bps, single duplex, very similar to the Dynamixel TTL protocol in that sense, but very slow, and defined to be at 3.3V.
It has a very weird feature in that the line must be LOW for a bit before you start communicating. If your driver/pull-up setup doesn’t allow you to do this, then the recommend you to send a “0” byte, which is apparently 0 for long enough that it works.

The protocol for SmartAudio is focused on configuring the transmitter, e g, power level, frequencies, and such. The feedback to the user is largely through text over the output video it transmits. Still, this sure beats fiddling with DIP switches hidden behind layers of heat sinking, polycarbonate, and duct tape …

Here’s the PDF. It’s pretty good, actually: https://www.team-blacksheep.com/tbs_smartaudio_rev08.pdf

jwatte,
That document by team black sheep is very helpful! Thank you. I’m also looking at a multi camera build and video switching! I guess I should post my current design sooner or later. As for the question of Tramp vs SA, I think you answered it. Smart audio may be the preferred protocol because of the documentation for it. Thanks again!
Sincerely,
J

Jwatte,
So it turns out my two transmitters support IRC Tramp but not Smart Audio. I guess I’m looking for the documentation again.
Jimfinoc

And apparently some have tried to solve this problem. While this is not the documentation I was hoping for, I can always try out this code and see if it works.

Huh. A bunch of that is just a custom implementation of soft serial, even though they #include Arduino.h where that ought to already exist.
And it calls a simple checksum a “CRC.”
Crazy.

Have you decoded what the baud rate really is, or looked at a scope? The timer values for the atmega depend on what frequency you run it at …

I hadn’t been able to do anything with the transmitter other than get it tested today. Once I tested it though, I discovered it still works. And with a beefy voltage regulator, I am good with a single battery and a nice firing gun with zero noise seen in the video feed. I hope to do something with the transmitter and the arduino soon but that may have to wait. I also ordered two smaller transmitters that support the smart audio standard. I think the better documentation may be the thing that gets working code faster.

Also I have a video switching system now. Next purchase may be a number of the nano flight cameras.

Doe you know of any cameras that are genlock-able, perhaps through some small hardware hack?

My cameras are not but switching between two camera and testing the setup for 15 minutes didn’t show any noticeable problems with synchronization between the two analog cameras.

1 Like

Success! Well, some success… I was able to implement some simple smart audio capabilities on my transmitter sending signal data from an Arduino Leonardo. I had to first implement this using the hardware serial, so there goes pin 0 and pin 1. Also, I was only able to send commands. So technically, I could do this with only one pin. Next step is to implement it using SoftSerial on any other pin.

Still, I am now able to change power and channel remotely!

Thanks to jwatte for highlighting the tbs documentation.

And thanks to NightHawk32 for his starting point of tbs_test.ino.

1 Like

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.