silver13 / CG023

Dual mode firmware for CG023(STM32)
MIT License
35 stars 23 forks source link

Build Status

Branches:

CG023

Firmware for CG023

This is an alternate firmware for the Eachine CG023 quadcopter. It is a port of the Eachine H8 firmware, also by me ( silverxxx).

The quadcopter is based around the STM32F031 chip, Cortex M0 processor with 16K flash memory.

Compiling:

Compile using MDK-ARM toolchain aka Keil uVision. A special version is available for stm32F0xx devices ( full free version ), but it's not necessary since the 32K limit of the free version is above the cpu's 16K. STM32 support may need to be installed using the "pack installer"

Opening the project file in Keil will also ask to install the pack if not present.

Radio protocol:

Current options are stock cg023 transmitter ,H8 mini transmitter / devo, CX-10 (later "blue" variant) and H7. Protocol is by default H8 mini protocol, and can be changed in file config.h

Accelerometer calibration:

Move the pitch stick down 3 times within about 2 seconds. Needs to be done on a level surface. Saved so it only needs to be done once. You may need to use high rates in order to reach the treshold.

Differences from H8 version:

Hardware settings

The STM32 port ( this firmware ) is designed to be configurable in order to be adaptable to other boards.Hardware configuration settings are found in file hardware.h . Right now, only xn297 radio and invensense gyro (sometimes marked M5xx or M6xx) are supported. Pwm pins can be set to PA0 - PA11 , PB0 , PB1. Radio SPI and gyro I2C can be set to any PAx or PBx pins.

Linux/gcc version

The gcc version compiles close to 16k, and may need turning off features in order to make it fit. Read install.md for additional information.

Installation and Support

Currently this port is covered by the it's own thread on rcgroups. http://www.rcgroups.com/forums/showthread.php?t=2634611#post34381034

Wiki

http://sirdomsen.diskstation.me/dokuwiki/doku.php?id=start

History:

02.01.17

02.12.16

.10.16

15.08.16

03.08.16

05.07.16

01.07.16

30.06.16

27.06.16

21.05.16

09.05.16

29.04.16

21.04.16

19.04.16

19.04.16

13.04.16

03.04.16

01.04.16

29.03.16

26.03.16

23.03.16

20.03.16:

20.03.16: