Program MinimOSD using Arduino without FTDI Cable

One great feature that we should add to FPV would be flight data on the screen display (OSD). By programming the MinimOSD, not only you get more accurate data on the screen, you can also select, edit what kind of data you want to have on the screen. The Crius AIOP board is supposed to work well with the MinimOSD, so I gave it a try.

I realized that you need a FTDI cable to do the programming, but if you happen to have an Arduino Uno like I do, then it’s your lucky day because you can easily turn your Arduino in to a FTDI programmer. I will show you how after the break. You can buy an Arduino from Newark.

arducam-osd

Connecting Arduino with MinimOSD

How does it work?

A bit of technical background, skip if you like.

The Arduino UNO has an FTDI USB-TTL chip on it to communicate between a PC and the ATMEGA chip on the board. Because all of the necessary pins on the FTDI chip are connected to various pins on the edge of the board, we can just connect the MinimOSD up to the right pins and away we go! No need to spend extra money on the FTDI cable!

Let’s connect them

The connection is very simple. But first of all, if you don’t have an Arduino Uno but other Arduino boards, you need to make sure it has a FTDI chip otherwise I am afraid you are out of luck.

Connect your arduino to the computer, remember what COM port it has been assigned. Then unplug the Arduino from your PC.

Remove the ATMEGA chip from the socket. If yours is soldered directly to the board then you may still be able to continue, but you will also program the ATMEGA chip at the same time which you probably don’t want to do. This way we are just passing the data through the board to the output pins. Removing the chip means you won’t accidentally bugger up the ATMEGA chip.

Connect your MinimOSD to the Arduino board as follows:

Ardunio-MinimOSD

Note that BLK on the MinimOSD is not connected to anything. Also note that TX is connected to TX, RX to RX – you don’t need to reverse them!

Connect the Arduino to your PC again. Your PC should recognize the device as usual and assign it the COM port we noted down earlier.

You should now be able to program the MinimOSD. However the way of programming it depends on the firmware, read on to see how.

Different Firmware for MinimOSD

Here comes the confusing part. There are some many different firmware suggested by people, I had no idea which one to use. After a lot of research, it turned out that we should flash the MinimOSD with different firmware, to work with different flight controller firmware. These firmwares are both open source, so it’s free to get them.

For MegaPirateNG, you should be using ArduCam-OSD, or MinimOSD-Extra. This firmware provides a very handy GUI tool, which allows you to flash firmware, and program the MinimOSD. All you need to do is to select the COM Port, browse to the firmware file, and click “upload firmware”.

For Multiwii, you should be using Rush-OSD. With this firmware you need to use the Arduino IDE to open the firmware files as a sketch, and upload them like you do with a normal Arduino.

It works great with this wiring diagram when using MegaPirateNG. But it just WON’T work with Multiwii for some reason. No matter which Serial port I plug the MinimOSD to, the ST LED didn’t light up, I get no image from the OSD. Although it’s working fine when testing with the Rush-OSD Gui and I can see the ST LED blinking. I think the Crius AIO Board is not talking to the MinimOSD, because the MinimOSD only accept certain data format (maybe telemetry data), and I couldn’t see any settings in the Multiwii config.h file either. After a couple of hours of trying and researching, I decided to leave it there. I don’t need it right now anyway.

Crius-aio-wiring-MPNG

I think that’s it, if I made any mistakes in explaining please let me know because I have only looked into this in the last few hours.

Thoughts about these open source OSD projects

I am sure the developers must have put much efforts and time into these projects, they do this not for money but for the convenience of others, and we are all very grateful.

However It’s not very straightforward to work these things out, because they are not well documented, and what is documented is not user friendly, at all. The “instructions are all over the place, you need to read through some 100-page long forum threads. Most of the time you need to guess, and do lots of trial and errors. After hours of trying only find out it’s not working. Very frustrating.

That is the problem with open source stuff, and sometimes it’s wiser to pay a little bit more and save the troubles.

23 thoughts on “Program MinimOSD using Arduino without FTDI Cable

  1. chris Stolle

    I got past the error screens on arduino by plugging back in the atmega chip and removing the rx pin. Then it flashed!

    Reply
  2. Luciano Abadio

    Hi Oscar

    I’m from Brazil, and I lost hours with an FTDI adapter Serial to USB. It was terrible and I didn’t get work, but now I found this tutorial and now I’m working fine with arduino UNO and MiniOsd. Thank you!

    Reply
  3. Bruno Santos

    Thank you ! I don’t have a FTDI adapter (although I have a USB To RS232/TTL PL2303HX cable – it didn’t work) but a lot of arduinos ! :)

    Best regards

    Reply
  4. Muchen

    I cannot get this to work with my Arduino Uno. An error occurs when I tried to upload the firmware from Arduino IDE to the Arduino:

    avrdude: stk500_getsync(): not in sync: resp=0x00

    Internet search results says that this error occurs when there is something connected to TX and RX pins on the Arduino. Indeed, once I disconnected the two wires from TX and RX pins from Arduino, the IDE would upload successfully. But without TX and RX pins connected, its basically useless.

    Did I miss anything?

    But overall, great tutorial. Thank you!

    Reply
    1. Damian

      Hey Muchen,
      If your still looking for a solution to this problem. I would try reversing your tx and rx cables. I was getting that same error till I swapped those two pins.
      Good Luck

      Reply
    2. Terry Huang

      Hi Oscar,
      finally i found the solution to avoid arduino error
      avrdude: stk500_getsync(): not in sync: resp=0x00
      when you click the upload from Arduino IDE, after you saw the tx led start to blink, you
      have to click down the reset button on arduino board, and the it down till the the whole program uploaded.

      Open MW_OSD_GUI, after click READ, the same you have to click reset button till the READ finished.
      WRITE the same

      Reply
  5. J

    Hi Oscar,

    You wrote about using an Arduino Uno here and said if one is unavailable, to ensure that whatever Arduino is used has an FTDI USB to TTL chip.

    All Arduino Uno revisions use ATmega 16u2 or 8u2 chips and not FTDI.

    Are you using an older Arduino in this guide (one that uses an FTDI chip, e.g. Arduino Duemilanove) or will this procedure indeed work with an Uno?

    Thanks!
    J

    Reply
  6. asdf

    You mention how you are out of luck if you have an Arduino board that doesn’t have an FTDI chip, but describe a method using an Uno. As far as I know, the Uno models don’t use FTDI chips and instead use ATmega 16u2 or 8u2 chip for USB to serial.

    Does that mean that you don’t need an Arduino with an FTDI chip, or are you using a different Arduino model?

    Thanks,
    asdf

    Reply
  7. Ryan

    Will this work with an arduino nano? If I cant remove the atmega chip and it gets flashed, will blheli reflash it fine? I mostly use the nano to flash my blue series esc’s over signal wire. I just want to make sure I can still do this after I flash minimosd.

    Thanks,

    Ryan

    Reply
  8. ana

    hi.I would like information of a sensor which is sent to the serial port of the laptop by micro AVR, simultaneously display subtitles on the video camera ? What method should I use?
    Thanks for your guidance

    Reply
  9. Dallas

    Thank you so much for this thread! I was pointed here from another FB group. I was looking for an FTDI adapter and like most didnot want to wait for one online. I just happend to have an arduino and this is awesome. Again thanks

    Reply
  10. Dave

    Wow Oscar, thanks for saving my sanity. After two nights of unsuccessfully getting my FTDI cables drivers to work I found your post and within 5 minutes had my minim OSD updated. You are a star!

    Reply
  11. Mathieu

    Thanks A TON Oscar,
    Wanted to update and configure my MinimOSD but didn’t have an FTDI cable.
    Fortunately I have an arduino board and I found your blog.

    Regarding the lack of documentation for open source project, I chose to use the MinimOSD-extra firmware (I use a Pixhawk flight controller).
    It’s very user-friendly (there’s a config tool for setting up the MinimOSD parameters) and well documented here (wiki)
    https://code.google.com/p/minimosd-extra/

    Thanks again for sharing Oscar!
    Cheers,
    Mathieu

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

Are you Robot? *

I only check blog comments once or twice a week, if you want a quick reply you can post your question on this forum IntoFPV.com... You might get a faster response from me there (multirotor related only).