Hello guys!
I'm very happy to tell you that the MinimOSD is now in stock in the DIY Drones store!
And more: It goes with a nice customized CharSet and an open source OSD firmware already flashed! ;)
The firmware is Arduino compatible and it uses the original APM MAVLink messages to bring out with some nice features.
Here you can see the Artificial Horizon being tested on HIL side by side with the XPlane AH gauge.
Let me talk a bit more about the firmware that goes flashed on the board:
The current open sourced OSD implementation is part of the ArduCAM OSD project which has support from all the DIYD Dev Team.
The requested APM MAVLink messages are grabbed, translated and it's displayed pretty fast.
But... why it supposed to be fast?
Firstly, the OSD class descends from BetterStream from Mike Smith, which turns it able to format and print better than the Arduino's avr-libc variant does.
Second, the CharSet was rearranged to match the ASCII table. It eliminates the need for a "translation" layer.
There is also a smart way to write individual panels with less SPI transactions (that is conventionally used only to write the full screen at once).
The MAVLink parsing uses a reduced number of buffers, which fits better m328p's resources.
Those things above improves considerably the OSD job.
Our friend Jani already wrote the EEPROM routines to make it configurable. So, it has the base for an external configuration tool.
There is much more work to be done for adding functions and improve it.
We're pretty sure that it will be improved a lot in the hands of the awesome DIYD comunity.
Well, let's talk about features:
MinimOSD is able to work attached to the ArduPilot telemetry port in two modes:
1 - as master i.e. requesting rates of all required messages from APM (both TX and RX from OSD board are connected);
2 - as "sniffer" i.e. just listening to all the messages requested from the GCS (only TX from OSD board is connected).
The firmware auto-detects PAL or NTSC and adjusts the panels.
Until now it has this panels:
- MAVBeats pulse
- Altitude
- Speed
- Battery voltage
- Battery Remaining
- Throttle
- Number of Visible Satellites
- GPS Fix data
- Latitude
- Longitude
- Artificial Horizon
- Heading (0-360)
- Compass (N,E,S,W)
- Pitch
- Roll
- Distance to home*
- Direction to home*
*Based on spherical coords with geographic distortion corrected;
The hard work continues... but, the fun is already granted, of course!
Grab yours right now and happy flights! ;)
Comments
Just hooked mine up and it works perfectly! I was using a gopro hero2, board powered by APM 5v, PAL and connecting the APM telem port to the ftdi in on the minimosd board. All works! It's AWESOME. I can't wait for my tx/rx gear to arrive so I can try this in the air.
Thanks to Sandro and everyone else who helped with this project.
@Graham, Aahhh... now that's the info. So, it has a respectable internal boosting. Thanks by those infos.
@Sandro, This is my first LRS so I don't have any advice, sorry.
I hadn't heard of ChainLink until your post but looked it up just now. Seems it has three power modes, 500mw, 200mw and 0.1mw (for range testing). The TSLRS also has three power settings 2000mw, 1000mw and 500mw, I think this higher transmit power is the reason for the gorgeous milled heatsink case. The 1 and 2 watt modes are meant for emergency use only to comply with regs. TS also do a 7 watt booster for ultra long range!
I believe its possible to inject headtracker PPM's into the TSLRS too.
@Graham, TSLRS is great! I'm wondering why it has that super-cooling cage. Do you know if ChainLink or DragonLink runs super-hot? I'm thinking on buying a ChainLink due it also has an input for head-tracking. Do you have any advising about ChainLink?
@Sandro, Thanks for the confirmation! Good tip about the ranges of the 3 different TX/RX's most users will have, Video, Xbee and main control TX.
I'm fitting a TSLRS diversity UHF soon (just waiting on the V6 unit) and have a Yellow jacket diversity system for my video with fancy clover leaf an CP patch antenna. The Xbee may be the weakest link as you say.
Damn I knew there would be a catch, may give it a try though ;o)
@Vaeddyn, no problem. Those headers are a power pass-through to the camera, but it also feeds the second stage(analog) of MinimOSD. The first stage (digital) draws its power from the APM's telemetry port.
If for any reason you want to feed the entire MinimOSD with the same source, you can "tie" the two stages by setting two jumpers on each side of the board like explained on this wiki page.
Just so I don't misunderstand, then, that's just a power pass-through to the camera, the OSD draws its power from the 5v rail of the telemetry port? Thanks for taking the time to answer, by the way, I appreciate it.
@vaeddyn, The OSD will just deliver the same input voltage to your camera. You can use up to 12V there on the input/output video headers.
Quote from Vertcnc: "If you inject the MAVLink data into the video signal on the aircraft and use this data from the VRX on the ground for the GCS."
@Vertcnc, You're mistaking a bit.When an OSD injects any data on a video signal it's NOT recoverable, due it's "encoded" to a video signal. It's like a picture of the data, not the data by itself.
@Tomas: Of course we can do it. Your idea is great! However, I think isn't the time yet. The OSD needs to achieve maturity and be configurable first. And we have other stuff in line... E.g.: APM2.0 will demand some extra code even to those things we already have on the panels plus the new panels. There is also a new compilation needed for MAVLink 1.0 which is a totally new one with huge changes. ACM needs to sync with ArduPlane so we could enable displaying of "Nav Modes", etc...
So, there is a lot of things in line already... but, I'm sure at some point we'll start to brainstorming and adding crazy stuff. ;)