Developer

MinimOSD in DIYDrones Store!

Hello guys!
I'm very happy to tell you that the MinimOSD is now in stock in the DIY Drones store!
3689439887?profile=originalAnd 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! ;)

E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones

Comments

  • As the file extensions ends on .ino i assumed it was supposed to be used with the newer Arduino IDE.

  • I did a SVN checkout for http://arducam-osd.googlecode.com/svn/trunk/ arducam-osd-read-only

    I installed the libraries needed for the OSD sw in the Arduino 1.0.1 catalog.

     

    http://code.google.com/p/arducam-osd/source/browse/trunk/ArduCAM_OS...

    Is where i found the ArduCAM_OSD.

    As i undertstand this code works for both cam and minim OSD. Also looks like mavlink 1.0 is supported. I thought it might be a good one.

    Taken from header in ArduCAM_OSD.ino:

    Program : ArduCAM-OSD (Supports the variant: minimOSD)

    Version : V1.9, 14 February 2012

    When i upload the code in Arduino IDE, works like a charm, I get no compilation errors or any messages that indicate anything is incorrect. I looks fine and board also do the reset as it should.


    Makes sense as you say, as the OSD board works and accept arduino code via IDE as well as resets, but there is some kind of incompatibility between uploaded Arduino code and the OSD GUI. Are thee different versions of the GUI maybe?

    Or is it some differences in compilation result, between 1.0.1 and 0.22 that makes a difference for the OSD GUI?

    Is it the correct code I' refering to? i couldn't find anyting else that looked to be more current than that.

  • Fine if it's working, but I wasn't talking about OSD GUI, just a side effect due to a wrong compilation. If there's a wrong compilation in Arduino IDE, OSD GUI can't talk to your device and that's the message you get.

    Is it working with an official firmware ? You could also try with Arduino 022, that's the version I'm using.

  • It works for me in arduino IDE, i.e I'm using the correct board.

    Its only using OSD GUI that doesn't work for me. OSD GUI (not arduino IDE) reports probs with boatloader.

    As far as I know, there is no option in OSD gui, that could be incorrect as board etc..

  • Got the same problem, when developing my custom firmware. Problem was a wrong selection of the board in Arduino, check board is "Arduino Pro or Pro Mini (5V, 16 MHz) w/ ATmega328"

  • I got a problem with OSD GUI reporting "Failed to talk to bootloader".

    I use all 6 pins from sparkfun FTDI adapter, and autoreset works for me.

    Arduino 1.0.1 works fine, i have uploaded code i have taken from SVN to the OSD, and autoreset does work when i use Arduino to upload code.

    GUI complaints all the time, regardless of what done to OSD, any ideas?

  • @Chris Kreuzer, new version posted here : http://diydrones.com/profiles/blogs/display-rssi-with-arducam-osd

  • Charset mode on boot is a known issue.  See this post.

  • *never* seen such behaviour - check for excessive ripple or brown out condition.

  • If you boot APM telemetry and minimOSD simultaneously
    minimOSD change in charset Mode and must reboot...
This reply was deleted.