Cyclop+ firmware for Quanum Cyclops FPV goggles

Quanum Cyclop+ firmware modification

In this tutorial we will modify the Quanum Cyclops FPV goggles sold by HobbyKing. We will install the Cyclop+ custom firmware written by Dvonogen which can be found on his GitHub page.

The Quanum Cyclops is a low-budget FPV goggle with a build in 40 channel receiver and is compatible with race band. By default it is not possible to manually select a channel but thanks to the brilliant work done by Dvonogen we can manually select channels with his modified Cyclop+ firmware.

We will also add a OLED display which will show the current channel, RSSI value and a battery monitor for the battery powering the goggles. It is possible to only flash the Cyclop+ firmware and don’t add the OLED display but I would highly recommend to add it because the useful information it provides. The modified Cyclop+ firmware will add the following features:

Hard and software needed for the mod

The USBASP programmer is the device we need to flash the firmware. They come with a 10 pin wire but we only got 6 ICSP programming pins on the receiver board so that’s what the adapter is for. The pin headers aren’t needed and you could solder the needed wires to the board but to keep it nice, clean and easy to unplug I like to use pin headers. This also comes in use for any future upgrades.

AVRDUDESS is a GUI for a command line based flashing tool called AVRDUDES. Zadig is needed to install the correct drivers on a Windows system to get the USBASP working correctly.

Preparing the goggles

WARNING: I AM NOT RESPONSIBLE FOR ANY DAMAGE DONE TO YOUR GOGGLES.YOU SHOULD BE AWARE OF THE RISKS AND DOUBLE CHECK EVERY CONNECTION BEFORE YOU POWER UP THE GOGGLES!

To get to the receiver board we have to unscrew the 4 screws on the bottom of the goggles.

Unscrew the 4 screws in the corners on the bottom of the goggles.

Now we can open the case and take a look inside the goggles.

Here you see the Quanum Cyclops opened up. You can already see the LCD diplay and the receiver & PDB

Now we have to disconnect the power and video cables from the receiver board.Note: Never try to flash firmware while the power and video cable are connected! Make sure all cables are disconnected from the board!

Here you see the receiver and PDB of the Quanum Cyclops without any modification.

Soldering the pin headers to the receiver board

Pull the board out of the case and unscrew it from the sledge it sits on. Once you’ve done that we will solder the ICSP pin headers to the board and the pin headers to connect the OLED display to. See the next pictures for the positions of the headers.

Here you see all the important pads we need for this mod.In the top left corner we will solder the pins for the USBASP programmer.On top in the middle you see the pads for the OLED display. In the top right you see the 5 volt output we need for the OLED display.In the middle of the board you’ll see a 3.3v output which we will need later on to make sure the USBASP is connected correctly.Here you see all the pin headers soldered to the board and the functions of the pins.

Now all that is left is a little wire connecting the empty pin we just soldered on to the 5v output on the top right of the board.

Wiring up the 5 volt VCC to the new added pin headers to power the OLED screen

When I was putting the goggles back together after I finished I accidentally broke of the pin headers of the OLED display. It also ripped of the soldering pads so I wasn’t able to solder the pins back on in a solid way. On the back of the board there is a SDA and SCL connection as well but the text on the board is swapped! That means SDA = SCL and SCL = SDA on the back of the board!

I screwed up with the pin headers connecting the OLED display so I had to find another way to connect it. More info soon!

Testing the USBASP and the 10 to 6 pin adapter

First you’ve got to make sure that the voltage output on the USBASP is 3.3 volts! My USBASP programmer has a little switch to switch between 3,3v and 5v. Then we’ve got to make sure that the USBASP VCC output actually is connected to the VCC on the receiver board of the Cyclops. If you connect the VCC to the wrong pin you will fry the receiver board of your Cyclops so we’re going to check both the USBASP and the adapter outputs.

The top left ICSP pin on the receiver board is the VCC pin. To verify that this is indeed the VCC pin we have to grab a multimeter and put it into ohm mode to measure the resistance.

Verifying the VCC output of the Cyclops receiver board by connecting the 3.3v output and the VCC pin with the multimeter. If the multimeter gives back a number the pins are correct.Verifying the VCC output of the USBASP programmer and the receiver board of the Cyclops.

After we verified the outputs of the board we’re going to verify the USBASP programmer and the adapter to make sure nothing is swapped. We use the same method as before so keep your multimeter in ohm mode.

Plug in the USBASP adapter to the receiver board but do not connect it to your computer yet! Take a close look at the USBASP programmer and the adapter to search for the VCC outputs. If you’ve found the correct pins on the USBASP or adapter hold the other wire of the multimeter on the 3.3.v output on the receiver board we’ve used before.

If you get any feedback from the multimeter everything is wired up correctly. If the multimeter doesn’t give back a number of resistance than don’t proceed but find out first what goes wrong!

Verifying the VCC output of the USBASP programmer and the receiver board of the Cyclops.

Last but not least unplug the USBASP adapter from the receiver board and connect the USBASP to a USB port on your computer with the voltage output set to 3.3v. Now measure the voltage output with a multimeter to make sure the output voltage is 3.3 volts.

Verifying the VCC output of the USBASP to be 3.3 volts and on the correct port.

Installing the driver for the USBASP

The first thing we need to do before we can flash the Cyclops board is installing the driver for the USBASP programmer. The easiest way to install the driver is to use the software program Zadig. Download the latest version of Zadig from their website and open up the exe file once your download is finished.Note: OSX and Linux users can use the USBASP straight ahead.

Connect the USBASP to an USB port. Sometimes Zadig automatically detects the USBASP device otherwise you have to go to options in the menu and click on “list all devices”. You’ll notice that a list of devices is now selectable in the drop down menu on the main screen. Open the drop down menu and select the USBASP programmer from the list.

Now select the libusbK driver in the right column of the driver section. The left column is showing the driver currently installed. Click the replace driver button and wait a couple of minutes for the drivers to install.

1. Click on the options button and click “List All Devices”2. Select the USBASP from the drop down menu3. Select the libusbK driver4. Install the driver by clicking the replace button.

Flashing the Cyclop+ firmware with AVRDUDESS

Once the driver is installed we have to download the firmware by Dvonogen from GitHub.There are two way to flash the Cyclop+ firmware. The first way is to build the firmware yourself so you could edit code if you would like to and the second way is just flashing the firmware file pre build with AVRDUDESS. I will only discus the second and easiest method because I won’t edit anything in the code. If you like to try the hard method please check Dvonogen’s GitHub for more details about building your own Cyclop+ firmware.

All we need from GitHub is the firmware file which is a *.hex file called cyclop_plus.hex. You can find it on the main page of Dvonogen’s project on GitHub or right click and save as this link. 😉

Open the file with a text editor like Notepad and verify all line start with with a colon character ( : ) and make sure all lines look like this: 1001C0006C1680169416A816BC16D016E416F816EF.

Now connect the 10 to 6 pin adapter to the receiver board of the Cyclops and make sure you connect VCC to the correct plug on the board (top left ICSP pin or see pictures above). Connect the adapter to the USBASP and connect it up to your computer.

Now open up AVRDUDESS so we can configure the tool to flash to Cyclops board.

First we have to select the USBASP programmer in the drop down menu at the top of the window. (it’s almost at the bottom of the menu) Once you’ve selected the programmer we have to select the MCU which is an ATMega 328p. In the flash area we now open the cyclop_plus.hex file we downloaded earlier. Now select Intel Hex in the flashing area in the format menu and we’re ready to execute the write command by clicking the go button next to format.

Once you’ve clicked on the Go button a LED on the receiver board will light up, right next to the ICSP pins on the top left of the board. Wait for this light to start blinking before disconnecting the USBASP. AVRDUDESS will tell you the firmware has flashed correctly before the LED starts blinking.

If everything went oke you now have the Quanum Cyclop+ firmware installed and we can start connecting back the LCD screen wire and the power cable to the receiver board. After plugging those back in all we have to do before testing is connecting the OLED display. Connect the cables to the pin headers we soldered on the board earlier.

This is how to connect the OLED screen to the receiver board of the Cyclops. Left: 5v VCC 2nd from left: Ground 3rd from left: SDA Right: SCLThis is how to connect the receiver to the OLED display. Left: Ground 2nd from left: 5v VCC 3rd from left: SCL Right: SDA

The OLED display should turn on and show a boot logo before it starts showing the information it is receiving from the goggles once you power up the goggles. If the OLED display doesn’t light up you can still check if the firmware was installed correctly by single pressing the channel button of the goggle to see if it doesn’t start an automatic scan. If it doesn’t start scanning your probably good and something went wrong with connecting the OLED display. Check all the wiring and the soldering.

Using the Cyclop+ firmware

To get into the options menu to set up the OLED display, power off your goggles and press the white channel button while turning on the power again. The option menu should show up where you can configure some options displaying on the OLED screen. To scroll through the menu just press the channel button. To adjust the settings long press the channel button, release it and the option will change. Once you’re finished scroll to Exit and long press the channel button to boot up normally.Note: The battery warning option isn’t functional yet and will be added with a future upgrade.

Here you see the option menu to configure the OLED display. To enter this menu power off the goggles, hold the channel button and power up again.

To manually select a channel short press the channel button and it will jump one channel forward. If you double press the channel button you will jump a channel back. To let the Cyclops automatically scan for a channel like it used to do press and hold the channel button for a second or two. If you press the channel button for longer then two seconds a frequency scanner will show up, showing you a waveform with the signal strength on certain channels. This can be useful to verify the automatic channel scan chose the strongest signal.

The main screen of the Cyclop+ firmware showing the current channel the receiver is listening to, how strong the signal is to the VTX and a battery indicator to keep an eye on the battery level of your goggles.And that’s it!The Quanum Cyclop+ firmware is succesfully running.

That’s it for now! I hope this tutorial was useful and you can enjoy from your improved Quanum Cyclop FPV goggles.

If you have any questions or comments leave a reply, send me an email or contact me on social media.

Related posts

30 comments

Awap30th July 2016 at 23:31

Hi, all is working now fine. Very happy with this hack. I reduced the 6 Vols of the board to 5.5 Volts by turning the little potmeter 1 mm clockwise. Since 6 Volts is the upper limit of the OLED screen, according my info. Also I had to install the libusb-win32 (v1.2.6.0) driver, using Zadig, to get AVRDUDE working.

BIG thanks for Dvogonen for sharing his knowledge and time. But also BIG thanks for your clear manual, this hack would be more nerve-wracking without it !

Thanks for the work you and Dvonogen have done. I too had to use libusb-win32 (v1.2.6.0) to get Avrdudess to work. I kept getting an error saying “cannot start program properly (0x0007)” or something like it.

This might be caused by a corrupt or faulty installation of Microsoft Visual C++. More information about this issue can be found here: (copy/paste the full URL)http://www.bitdefender.com/support/how-to-solve-error-message-“the-application-was-unable-to-start-correctly-(0x000007b)-click-ok-to-close-the-application”-1106.html

I hope this solves your issue. If not feel free to contact me. Good luck and thanks for your appreciation!

First thanks for the great guide. I got it all flashed and working. However it doesn’t seem to change channels. The frequency changes on the little display but not on the screen i seem to be locked into c1. I have an eachine racer 250 and was able to use it to scan through and connect and the OSD from the quad says voltage flight time and channel comes up as c1. If i use the Frequency scanner with waveform it looks like im broadcasting on every channel. But im not because i had to manually go thru each channel on the quad end to find what channel the reciver was on. Im confused

That is weird indeed. I can’t think of any reason why this happens. Some pictures or a video could indeed clearify the problem. Which firmware version have you used? I used 1.3 in this tutorial but I recently saw Dvonogan has uploaded 1.4. If you’re already on 1.4 than it might be an idea to downgrade to 1.3 to see if the problem still exists otherwise you could try updating it to 1.4.

Another thing that comes to mind, have you reconnected everything correctly inside the goggles?

I’ve just finished the hack! Thanks a million I am so happy with the result. My voltage was 6v so I’ve regulated to exact 5v. About the error when opening Avrdudess ( “cannot start program properly (0x0007)” or something like it.), I solve it following the instructions in it’s website, just extract the usb library.dll in the folder where is the .exe and rename it. After that Avrdudess open without errors and communicate pwrfectly with the programmer. Thanks again!!

Anyone have the original firmware??? My oled only work 1 in every 5 or 6 times and even when it does the receiver only finds a signal 1% of the time!!! (2 different transmitters used and verified working) I would like to revert everything back to original and then step through each section again

I just have a quick question, what happens if you disconnect from AVRDUDESS before the LED starts blinking on the receiver board?? I got distracted last night while I was doing the flash and saw that it said “Flash Completed” so I just removed it but it wasn’t until after that I remembered that I had to wait for it to start blinking, now it seems that I have an unusable bit of equipment 🙁

Is there a way I can re-flash the receiver board again? I have read somewhere else that I might have to buy another USB programer to accomplish this, is this true or am I looking at having to buy a new set of goggles??

Hey Tyson, sorry for the late reply but I’ve been very busy lately. I hope you have solved your problem already. As far as I know you should be able to reflash it without problems but I’d suggest if you didn’t already to ask Dvonogan, the writer of the firmware.

I haven’t actually checked the voltage once connected the programmer but the voltage might be to low for the receiver to power up as the voltage should be 3.3v. Maybe your programmer is malfunctioning?

my next try was to unsolder the tiny voltage regulator on the back since i figured “already got 3.3V delivered by the USBASP, no need for this guy especially if it’s running hot” but I screwed up and broke the surfacemount bastard… and having it removed didn’t solve the problem

then I researched the component and grabbed a specwise similar voltage regulator @ my local electronics shop (LD1117V33, although the SOT-223 version (LD1117S33) would be better since it would be a direct drop-in) and soldered it in place

everything seemed to work as before, so I gave it a try with the USBASP but no success…

then I removed the DC-DC-board in the bottom right corner, that didn’t help either, soldered it in again and tried like 10 times programming it

and suddenly it worked :’D

I guess the original Voltage regulator wasn’t really the problem… but now I got a bigger one, should run cooler 😛

I can’t give any reasonable advise other than try try try again ^^ if the regulator should fail, you can easily replace it

Interesting… i used your tutorial yesterday and everything went fine. Now i also ripped out the OLED pin headers by accident. Good thing that happened to you too…otherwise i would be crying right now. 😀

I think this is a great mod if I could only get it working. So I’ve done the soldering, checked the resistances. When I run avrdudess I initially get the following return and a quick flash red led on the board.

All right I have been having issues with this and I finally have to call uncle. I thought my originally problem was bad firmware on my usbasp. I have since remedied that and am still having issues. avrdude never recognizes that I have connected the programmer to the main board. I have tried plugging the main board into the programmer then connecting the usb and a whole bunch of other ways. It does connect to a arduino when i plug that in so I know the programmer is fine. The only thing i can think of is I might have had the programmer jumper set to 5v instead of 3.3v at some point but I dont see any destroyed components or smell the dreaded fried electric smell. any suggestions?