Adding more features to IOBoard


IOBoard Let's make it better... We need testers...

Awhile ago we made first translating program for IOBoard and since that people have been using it as it was and/or modifying its open software. Now that we have more and more devices supporting FrSky telemetry, converting becomes more fun.

So let's make it. Current roadmap for IOBoard is:

- Have full support for MAVLink/FrSky conversion

- LED driver with configurable patterns

- OpenTX, er9X support

- TLD-02 display support

- Updated Configurator

Currently tested features on Taranis radio:

Heading, Temperature 1, Temperature 2 (shows satellites/fix type), Armed/Disarmed and Throttle values,

Lat/Lon, Altitude, Voltage, Cell volt (avg), Speed

jD-IOBoard can be found from jDrones store

Latest MAVLink/FrSky software is IOBoard_FrSkyMAVLink.v03a 

software can also be found from arducodes repository at google code

Let us know how it works and if you have ideas, post it on..

E-mail me when people leave their comments –

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

Join diydrones


  • @Simon,@Jani

    Thanks for the explanation, makes complete sense now and I do recall this in a previous post... thanks for clarifying. It escaped me...

    Nothing like a little review and perhaps the next person can learn from my hast. ;-)

    I am not sure why the Alt is incorrect… perhaps the GPS reading is not solid, perhaps I need to do a little tuning on it?

    Nonetheless, the rest is coming nicely and I look forward to further progress.

    Honestly, between Lon/Lat, Altitude, Heading and Batt Statuses…. its a great way to get information from the APM without OSD.

    Many Thanks,


  • Try this

    Latitude and Longitude of a Point

  • @ LTMNO

    No, of course the numbers don't 'match' - they're not in the same units are they.

    Take another look at my post.

    MAVLINK sends data in degrees.decimal degrees

    The latest FrSky_Mavlink program will transmit the data as -

    degrees/minutes.seconds/decimal seconds    (note the deliberate use of the decimal point)

    My example (I thought)  showed exactly what this meant.

    Let's turn to your data as shown in your post above and do a little conversion:

    MP GCS Lat = 43.91883 or 43 degrees and 0.91883 decimal degrees.

    0.91883 decimal degrees multiplied by 60 (i.e. convert to minutes) is 55.1298 minutes

    0.1298 decimal minutes is 07.788 seconds

    With rounding, because there are only  2 decimal digits displayed on your screen, and putting these values together in the new format will give a composite value of  4355.08


    Try it with the Lon data and see what you get.

    The Alt value is more of a puzzle.

    On my Tx the altitude value displayed matches the altasl value shown in MP and that agrees with the value shown on the local Ordnance Survey map. The data your pic shows has altasl at 261.88 but the value from the IO board as 1.08/1.12

    Now the value shown by the Tx display will depend on the data picked from the telemetry stream according to the programmer (the excellent Mike B in the case of ersky9x); OpenTx may have picked an alternative 'alt' value e.g. the 0x01 data rather than that given by 0x10 from the FrSky data stream. We need to define what it is we want to be displayed.

    Hope this helps.

  • Developer

    LTMNO FrSky uses different format so you cannot compare them directly with MissionPlanner coordinates. You need to know how to convert them to be decimal values. FrSky uses minutes and seconds format.

  • Hi Simon.... perhaps I don't understand how to read the Lon/Lat?

    I am only comparing the values that are on the screen depicted above.  They are not matching... however... perhaps i am not understanding the translation from IOBoard to FrySky?

    43.9188384  != 4355.08

    -79.8005184 != 7948.02

    43.9188384,-79.8005184 - This value in fact is the coordinates to my home.

  • @ LTMNO

    Please explain why you think that Lat/Lon are incorrect.

  • Developer

    Oh yeah i forget Modes :)

    Yes there are currently debug feed running from Miso/Mosi pins that you can hook up with FTDI cable. I will add more functionality on that later but now it shows atleast most important values and you can check that IOBoard will receive real values from APM/FC. If MAVLink rates are not set correctly most of those values are 0000.

    I have hardware for external display (GLCD 128x64) too but currently no software for it. Anyone willing to help on that? I plan that to be replacement for FLD-02 display as all it's screens are Fixed and we need to change their data :)

  • Not sure if this was what you were looking for regarding OpenTx Telemetry Values

    Each field can be one of the various available parameters, of course the corresponding sensors and/or hub must be installed in the model:

    • Tmr1,2: Both timers
    • SWR: Transmitter antenna quality. Should always be below 51, or a popup warning will appear and an audio alarm will sound to warn you to check the radio's antenna. The value itself is of little meaning.
    • RSSI: Lowest of the RSSI values from the radio and receiver in D8 mode. In X16 mode, RSSI of the receiver.
    • A1,2: Analog ports on D receivers (only A1 available on X8R receivers, with receiver voltage)
    • Alt: Barometric altitude sensor
    • Rpm: Engine speed, number of blades is adjusted in the settings above
    • Fuel: Fuel level
    • T1,T2: Temperature sensors 1 and 2
    • Spd, Dist, GAlt: GPS speed, distance from starting point and GPS altitude
    • Cell: Lowest cell on FLVS-01
    • Cels: Sum of all cells on FLVS-01
    • Vfas: FAS-40/100 voltage measurement
    • Curr: Current, source configured in the settings above (FAS or analog)
    • Cnsp: mAh used totalizer (needs current source configured correctly)
    • Powr: Power, voltage and current sources configured above
    • AccX,Y,Z: Acceleration values from TAS-01
    • Hdg: GPS heading
    • Vspd: Vertical speed (either calculated by the radio or reported by the sensor, depending on the sensor type chosen above)
    • xxx+/xxx-: Min and max values of the available parameters
  • Ignore my previous posts.. now that I have re-read your initial post, I see exactly what you are transmitting from the APM to IOBoard to the FrySky Receiver.  All that information is being transmitted to the Receiver.


    It seems that the follows values are correct.. 







    And the following are incorrect...



    I color matched the FTDI Capture to the APM Screen.  Hope that makes sense?  Midnight here, will take a look again tomorrow.


  • Developer

    Values that are running and known to be correct:

    Accel - X, Y, Z = Accelerometer values, -+ values

    Temperature 1 = Flight controller internal temperature, Celsius

    Temperature 2 = Visible satellite count and GPS Fix style, 2-3 digits where LAST digit is fix status 0-1 No fix, 2 2D Fix, 3 3D Fix. FRONT digits are amount of satellites. For example "63" = 6 satellites, 3D FIx or "103" is 10 satellites, 3D fix or "32" = 3 satellites, 2D fix

    Heading = Your current compass heading

    RPM = Armed/Disarmed status and approximate throttle value when armed. 0 = Disarmed/Motors off, Values between 1020 - 1960 are shown when motors are armed and throttle position. Number represents pulse width so for example around 1500 is middle throttle. This value is NOT exactly same what Mission Planner might show for your throttle channel as we need to use special scaling made by FrSky but it's close to it. Accuracy is -+30 uS.

    Altitude = Altitude detected by your flight controller (works on tabletop tests, not confirmed on real flight yet. Anyone??)

    Lat/Lon = GPS Latitude/Longitude details with N/S, W/E indicators

    Time = Sec/Min/Hours since last reboot of IOBoard

    Things that needs to be fixed/confirmed are:

    Voltage = Battery voltage. It seems to work but startis drifting after awhile. 

    Current = It's seen by IOBoard but not forwarded correctly

    Fuel Level = Seen by IOBoard but not confirmed yet

    Speed = Seen by IOBoard but not confirmed yet

    LED outputs and patterns. Currently still untouched. Work with these begins after FrSky converter is ok.

    There seems to be huge amount of extra parameters that Taranis and er9x style radios can show, anyone happen to have simple document of these?


This reply was deleted.