A local outlet of cheap stuff (Action) carried a quadcopter a while ago. They called it the concept Drone 011, but it looks suspiciously like a Skytech M67. There is a board marking that reads JR-XY5040RI.
The quad flies like a pig with the propguards installed, but gets a little nippier without. Without propguards it is very prone to burn out a motor or fall apart upon crash.
However the board features an ST32F031K4 processor so it might just be a perfect candidate for non-stock firmware. This is the silverxxx firmware found here.
- Processor: STM32F031K4
- Mosfets: 2312 N-FET, 4 - 6A continuous
- Radio: XN297
- 6DOF gyro: M540
(STM32F010 pinout, main controller datasheet)
(Radio chip XN297 pinout)
(Reference schematic for XN297)
(Mosfet properties, 2312 type)
- 19 - M1 - PA9
- 20 - M2 - PA10
- 18 - M3 - PA8
- 21 - M4 - PA11
Radio - SPI
The radio chip is the XN297.
- 25 - PA15 - SPI1_NSS -> XN297_2 Chip select
- 26 - PB3 - SPI1_SCK -> XN297_3 Clock
- 27 - PB4 - SPI1_MISO -> XN297_5 MISO
- 28 - PB5 - SPI1_MOSI -> XN297_4 MOSI
- 32 - PB8 -> XN297_1 Chip enable
6DOF gyro and accelerometer
Chip is the M540.
- 29 - PB6 - SCL -> Pin 23
- 30 - PB7 - DAT -> Pin 24
- 6 - PA0 -> Pin 12
All 6 LEDs are switched through 1 transistor and are connected to pin 15 (PB1) of the microcontroller.
Battery monitoring is done through pin 13 (PA7). Two resistors of 10k each form a voltage divider.
(Top of the board)
(Bottom of the board, mirrored)
(Top and bottom overlayed)
To be able to use the silverxxx firmware on our quad we need to adjust it to match the hardware layout of the flight controller. The modifications of this file can be found here.
Basically it all boils down to comment and uncomment the correct statements in the OpenMicro/src/hardware.h file to reflect the finding as documented above.
To program the firmware with your ST-Link V2 you need to install a programming adapter on the PCB. This is the three pin connector shown in the picture above.
- SWCLK goes to the DAT pad
- SWDIO connects to CLK
- GND connects to V-
It flies nice and stable with the default PID settings.