Tag Archives: update firmware

Flash CC3D with Cleanflight using OpenPilot GCS

In one of my previous post, I described how to flash the Cleanflight firmware on the CC3D flight controller and why I prefer the CC3D over Naze32 at the moment. I used my Arduino Nano as FTDI adapter to do this, but Bill posted a video in the comments, how the board can be flashed only through the USB-Port. I have tried it yesterday and will show you, how to do this if you don’t want to watch the video.

First download the OpenPilot GCS 15.02.02 (the newest 15.05 does not support the CC3D board) and install it on your computer. Here is a manual how to install it, if you have some problems with that.

We also need the STM32 Virtual Com Port driver. Download it from the official ST-webpage and install it.

Install the Cleanflight Configurator from the Chrome Web Store and download the latest Cleanflight firmware for the CC3D board. Download the “cleanflight_CC3D.bin” from GitHub.

Open the OpenPilot GCS software, connect the CC3D board through the USB-Port, go to the “Firmware”-Tab and click the “Halt” button.


Now you can open the downloaded cleanflight_CC3D.bin. Check the “I know what I’m doing!” box and then “Flash” button. That’s it, now you have the Cleanflight firmware on your CC3D board.

Important: To use the board through the UBS-Port, you need to power it with external battery. Then you can connect it to the Cleanflight Configurator.


If for some reason you want to go back to the OpenPilot firmware, go to this page and follow the exact instructions “How to Upgrade the Bootloader and Erase Settings”.

Thanks to Bill, who told me about the video and to FranzArians for sharing his way to install the firmware!

FrSky CPPM firmware update with Arduino

I have an FrSky D8R-II Plus receiver on my “SG Adventure” quad. I read on the DIY Drones site, that it is possible to update this receiver with the firmware for the FrSky D8R-XP, so I could use with CPPM signal. With CPPM you only use one wire for all the channels and not separate wires for every channel.

You can easily buy this FrSky Update Cable or you can save a bit money and time by updating/flashing the receiver with Arduino, which has an FTDI chip on board. I have an Arduino Uno, but my revision of the board doesn’t have an FTDI chip. So I decided to simply use my actual flight controller – the Multiwii Megapirate AIO board. You can use any Arduino based board with FTDI chip.


First you need to download the 27ms CPPM firmware from the FrSky website. This firmware is actually for the D8R-XP receiver as mentioned, but it works with the D8R-II Plus too. Please keep in mind, that is officially not supported for the D8R-II Plus and I am not responsible for any damages on your hardware by doing this too. If you agree keep reading 🙂

Download the official FTDI Prog.  – EEPROM Programming Utility and install it on your computer.

There is a jumper on the side of your receiver. Take it out and place the jumper on the signal pins for channel 7 and 8, so these are bridged. This will then take the receiver into update mode.

Then connect the TX, RX and GND pins from your Arduino board to the TX, RX and GND pins on the side of your D8R-II Plus receiver. Important: Do not reverse the TX and RX as usual by Arduino. Connect TX to TX and RX to RX. To power your receiver: you can use a 5V battery or connect it as usual to the flight controller.


To use the Arduino board for this we only need the FTDI chip, so we will suppress the Atmega chip by a constant press on the reset button. After the reset button is pressed, connect your board to the USB port of your computer. It could possibly install some drivers, so give it some time. Keep pressing the reset button 🙂

Open the FTDI Prog. Scan for FTDI Devices. Then invert the TX and RX as shown on the screenshots below and click on the flash icon. In the new opened window click “Program”. (Tipp: Remember to undone this procedure after flashing your receiver.)


Keep pressing the reset button 🙂 Now go to the folder, where you downloaded the firmware file from the FrSky website, extract it and start the .exe file.


Chose the right COM port in the dropdown menu, chose the firmware file from the same folder by clicking on “File”. If everything is fine, you should see the UID number in the bottom of window. If so, just click “Download” to upload the firmware. (For more info about these last steps, there is a pdf-manual in the folder, where the .exe file is. At the end you should have a working CPPM FrSky D8R-II Plus receiver. Now you can release the reset button of your Arduino or Multiwii Megapirate AIO board. I hope I have helped you, save some time and money with this method.

p.s. To use your receiver in CPPM mode after flashing, place the jumper on signal pins CH3 and CH4, so these are bridged. The CPPM signal will be on CH1 pin.

Update 12.08.2014: I updated the same way my new FrSky D4R-II receiver. It is smaller than the D8R-II Plus, weights only 5 gram and with the CPPM 27ms firmware has 8 Channels and the exact same functionality as the D8R-II Plus. Check how my SG Adventure carbon frame look now with the Pixhawk and the D4R-II receiver here.