User Tools

Site Tools


Table of contents


Silverware is going to have support for multiple different hardware platforms. Each copter has slightly different pin-outs, but with the right settings in the hardware.h file, it should be able to support some.

For instructions on flashing a board with the STM32F0xx series processor, look at the bottom of this page.

Hardware support

If a copter uses supported chips, adding it to Silverware should really easy.

STM32F030Yes (some pwm pins not available)
STM32F031K6Yes (32K)
XN297L (8 pin)H8 blue code only
XN297LYes (can be nrf24 compatible directly)
BK2453Only syma x5c protocol, tested with devo only
CG023Yes - some stock tx not working
Bluetooth beaconBayang only
Bayang + telemetryYes - devo and multimodule
CopterH8 acro/dualH101 acro/dualCG023OtherNotes
Eachine/JJRC H8, green boardyes See the dedicated page
Eachine H8 3D mini yes 3D(code)
Floureon H101 yes
Eachine H8S yes
Eachine CG023 yes
Eachine/JJRC H8, blue board yes[1]
Keil Bug, solve it that way, CLK/DAT swapped

See the dedicated page
GW008 Skull Quad yes, forum post
DHD D1 infoacro only
Bayang X9, GD F130 mcu boardyes (post) motor order changed, 16k flash
Eachine 3D X4, CG027R board yes
FQ777-124yes (post) bikemike's fork
CX Model CX023yes (post)
and following
bikemike's fork
Boldclash Bwhoop B-03+B03 pro GithubAlt hold supported using this branch.
Keil Bug, solve it that way
Eachine E011 Githubflashing instructions
Furibee H801yes Githubsame as BWHOOP, identical boards

Multicopter Hardware Table

DHD D1STM32F031K4M540XN297- vreg turned on by cpu
Eachine H8 (Blue board)STM32F030F4P6M688XN297LBW Yes (*)unusual radio ic, 3wire spi (bi-directional)
M9912STM32F031K4 XN297HereMaybeYesMT9912
Global Drone GW008STM32F031K4 HereYes2 versions , one has LT5910? cpu
Bayangtoys X9 (stm32 version)STM32F031K4MPU-6050XN297 Post 1, 2
Bayangtoys X9 (GD32 version)GD32F130G4MxxxXN297 PostNote 16K flash, acc calibration will not work
Bayangtoys X7STM32F031K4MPU-6050XN297Hereharware.h file
Juncheng 3015-2STM32F031K4MPU-6050 Forum Post
Cheerson CX10STM32F031K4MPU-6050XN297 Forum PostMultiple (5+) board versions, see D1
FQ777-124 (Green)STM32F031K4 Not YetMultiple board versions
FQ777-124 (Red)GD32F130G6 Forum PostPCB 'SF123R2.4 V1.2
Fayee FY804STM32F031K4 XN297 May be same as D1see D1 link above
Fayee FY805GD32F130K6 XN297 YesForum Post, hexa board
DM003STM32F031K4 XN297HereYesForum Post
DM007STM32F031K4 XN297 YesForum Post
JJRC X1 Unknown
MJX X900 Unknown
MJX X901 Unknown
XINLIN X165STM32F031K4 BK2425 No
Serial ports onboard
Moontop M9916 Unknown
Syma X5SCSTM32F031K6MPU-6050Beken Forum postnot same as X5C
Hubsan 107C+ (new) also D+ , PSTM32F031K6 A7105 Not yethas barometer onboard
WLtoys Q282 board only STM32F031K4 XN297L Forum postcurrently working as quad, 5v stepup
Eachine 3D X4STM32F031K4M688XN297RCG forum postyes, 3d code here » RCG forum post
Eachine E010LOG5897Mxxxrf/mcu integrated No , No datasheet
Cortex M0 , XN297 RF
Eachine H8 3d miniSTM32F031K4MPU-6052XN297 Yes 3D githubstep-up onboard


These copters should be rebrands and therefore supported if the 'parent' is:

  • DHD D1:
  • possible two board types, quite different visually. Check before flashing
  • Floureon X-10
  • 2FAST2FUN Color Quad XS
  • Fayee Fy804
  • Eachine H8 blue:
  • JJRC H8 blue

CX-10 notes

The cx-10 uses a voltage regulator that gets turned on by the cpu. When the switch gets turned on, a capacitor powers the regulator for about 1 second, and in that time, the cpu has to turn a pin on, to keep the regulator on.

For this reason, programming has to use 4 wires (one for power) , or else the quad turns off while flashing.

You can see if it has one of those regulators, because they have 5 pins. Normally they just look like a mosfet. This feature is present in small quads with built in battery and a power switch. Presumably it is to save the battery in case the quad is forgot powered on.

In software, this pin is noted as Vreg pin, and the pin set as such gets turned on as soon as possible.

How to flash a board with the STM32F0xx series processor

Read this post first.

Before flashing, the hardware.h file must be configured to assign the correct pins to the processor for the board you are going to flash. There are instructions at the top of the hardware.h file. For an example of how to set up the LED's, read this post.

Since different quads have different pins of the main processor assigned to different functions (motors, LED's, gyro), silvverxxx made the code configurable. Of course, the default settings are for another Copter and nothing has to be done for a natively supported copter. This is only for if you want to flash a quad that uses an STM32F031 processor and it isn't a natively supported one.

First you need to trace the pcb and find out what pins of the processor go to the gyro, the LED's and the motors. This is not easy on some pcb's as the traces can go from the top side to the bottom side through tiny copper tubes called vias. Other boards are easier and can sometimes be traced just from close-up pics on the internet.

Once you know the connections for the gyro, motors, LED's and battery voltage divider (for low battery voltage warning) you can assign the pins in the firmware by opening up the file hardware.h in Keil.

There are some further instructions in this post.

The “st-link utility” can also be used to erase a STM32 chip, as well as to upload a binary file already compiled ( maybe with gcc). Sometimes, the utility can erase ships that Keil wont. It seems Keil wont erase chips that have both readout protection (RDP) and flash sector write-protect on.

This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
openmicro.txt · Last modified: 2020/02/24 17:03 by fenrisulven