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
question re: power for the minimOSD: My video Tx passes 5v to my camera. Does the MinimOSD require 12v between camera and Tx or will it take 5v on that line as well? I think my camera can do either but the wiring harness is a lot simpler if I can use the existing 5v.
Sandro,
Re: " The OSD board injects translated MAVLink data on the output signal of your video RX."
This it i was refering to in an earlier post. 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.I realize it would be only one way communication, but it would save you the use of Xbee's. The same data could also be overlay on the video if desired. Am I missing something.
Ok Sandro, understand.
Maybe it is time for general overhaul on telemetry data transmission and presentation? A good scene for some community brainstorming, one might think ;)
@Awni, for now, you can do it by editing the code. Like Jani said, it's a job for a future GUI. The base code is the same, though it can be delivered as an "OSD Config Tool" or even as an extra screen on "ArduPilot Mission Planer". The second option would be my choice, for sure. Let's keep working on... stay tuned.
@Graham, yes, you can use for sure your MinimOSD on groumd. I already did it. The OSD board injects translated MAVLink data on the output signal of your video RX. MinimOSD will get MAVLink data from a "Wireless Serial Link" (like two XBees). It will act like a GCS, requesting the infos and showing it on screen.
Just take in mind that --depending on your setup-- maybe your "Video Link" will go fine on further long range than your "Wireless Serial Link".
@Leonardo, nice that you got it working fine! =) Many thanks by the heads up on the inverted "VIN/VOUT". Those illustrations are OK now.
@Tomas, all that is possible. However, we need to add new on-screen infos at same time that ArduPlane/ArduCopter enable those infos on MAVLink. E.g: APM2.0 has planed two inputs for each power reading i.e. "Voltage 1 and 2" plus "Current 1 and 2". Also, "RSSI" and some other stuff. ;)
Awni, yes there is. Like Sandro said, we created panel system that you can enable/disable panels and move them around. Control program is still a bit under construction and will be announced later.
Just look documentation changes, when there are updates. Document will be updated too.
Is there a way to customize the MinimOSD display parameters, for example remove the Longitude and latitude.
Do I remember someone saying this can be used at the ground station?
Makes sense in theory. All the telemetry and video is available on the ground so why not save a little weight.
Another side benefit would be you only need one MinimOSD for all of your ArduCopter/Plane/Rover/Blimp kit!
And, as I keep saying whenever I get the opportunity: It would be really nice to have motor current and sonar range values on display in the OSD (and in the MP). This would require an upgrade of the Mavlink software modules so it transmits these parameters, which I hereby, again, beg the dev team to take on.
Please! !