Dvogonen / cyclop_plus_plus

Firmware upgrade for Quanum Cyclops FPV googles that adds support for manual channel selection, textual information on main screen and battery level alarm.
MIT License
20 stars 5 forks source link

CYCLOP++ - v2.3

The Quanum Cyclops googles are limited to only the most basic functionality. The limitation is however not dependent on the electronic hardware, which is quite powerful. By replacing the firmware of the receiver board and adding an inexpensive MinimOSD module, the googles become fully featured.

Added Functions

Prepare the MinimOSD PCB

The screen information is added by installing a MinimOSD (aka Mavlink OSD). These modules are commonly used in RC FPV aircraft to add visual information to the FPV video signal. They are available from multiple sources and are inexpensive. You might e.g. use the v1.1 version of the MinimOSD PCB, which looks like this: minimOSD The minimOSD board version used in the build steps below is a bit bigger since it has the so called KV-mod. Either version will work just fine.

Avoid buing the Mikro MinimOSD variants. These are very small, which is convenient. What is less convenient is that they do not have a power regulator. Neither do they have soldering pads for an ISP interface. It is technically possible to overcome these limitations, but how to do that is not described here.

Solder the SJ2 bridge

Some MinimOSD come with the two bridge points marked SJ2 soldered together while either do not. Bridging SJ2 makes it possible to supply power from the video side of the board to the processor sie of the board. This is what we do, so SJ2 MUST be bridged. Without the solder bridge, the minimOSD processor will not work at all.

Mount the Programming Pins

Solder a 2x3 block of pin headers into the holes for the ISP port. The 6 holes for the pin headers are found between the processor and the MAX7456 video circuit. The pins should point upwards on the same PCB side as all the other components are mounted. The bottom right pin is VCC. That is the one below the hole with the square pad.

Program the Processor

The firmware on the MinimOSD must be replaced to make it able to talk to the CYCLOPS board. The firmware file is called minimosd_for_cyclop_v0203.hex (right-click and download). Check the format of the downloaded file. Each line must start with a colon character and only contain letters and numbers and look something like this: :100000000C941F030C9447030C9447030C94470370

If you do not know how to program Atmel controllers there is a guide here

If you want to build the firmware yourself, you can do so. Here is a link to the description

Prepare the CYCLOPS Receiver PCB

Mount the Programming Pins

Solder a 2x3 block of pin headers into the holes for the ISP port. The holes for the ISP connector is found just to the right of the button switch. In the image they are marked as (1). The pins should point upwards on the same side as the receiver tin can is installed. CYCLOPS PCB

The top left pin is VCC. That is the one above the hole with the square pad.

Cut the Video Trace

The trace leading between (2) and (3) carries the video signal. It must be cut since the signal should go via the OSD. Use a sharp knife and cut across the trace. Use a multimeter to check that there is no longer any connection between (2) and (3).

Add the Alarm Buzzer

A 5 volt miniature piezzo buzzer is used as a low battery alarm. Both active buzzers, and passive piezzo speakers can be used. The later kind is often refered to as "PC Motherboard Speakers". An example of a piezo buzzer is this:

Buzzer Example

Program the Processor

The firmware file is called cyclop_plus_plus_v0203.hex (right-click and download). Check the format of the downloaded file. Each line must start with a colon character and only contain letters and numbers and look something like this: :100000000C941F030C9447030C9447030C94470370

If you do not know how to program Atmel controllers there is a guide here

If you want to build the firmware yourself, you can do so. Here is a link to the description

Connect the two boards

Keep the wires as short as possible to avoid interference on the video and serial lines.

End Result

I recommend mounting the minimOSD with double sided mounting tape on top of the radio shielding can. If you do, this how your finished double PCB will look like: Finished PCBs Here are a few images of the intermediate build steps: Soldering

Use CYCLOP++

Options Menu

Words of Warning

Use of the FW is naturally on your own risk. It is possible to destroy the receiver electronics and the MinimOSB electronics by making faulty connections. Carefully check that everything is connected correctly and that nothing is shorted. It is possible to "Brick" the processors by tampering with the so called processor fuses. There is no need to change any fuses from their original values (0xE2 0xD9 0x07 for the receiver board). Leave them alone.

Version History

License

This project was forked from v1.4 of the CYCLOP+ project. The original project uses an extra OLED screen to display information instead of the google screen.

The MIT License (MIT)

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.