Build a FPV Micro Quadcopter CJMCU- Smallest Quad that runs CleanFlight!

by Oscar

Micro Quadcopters (with brushed motors) are probably the first flying experience for many RC hobbyists, it’s affordable, resistant to crashes and great fun flying it indoor. By adding FPV capability to it, it makes it an excellent FPV trainer, and it’s extremely addictive.

Some of the links on this page are affiliate links. I receive a commission (at no extra cost to you) if you make a purchase after clicking on one of these affiliate links. This helps support the free content for the community on this website. Please read our Affiliate Link Policy for more information.

If you are new to this hobby, take a look at this beginner flying guide first. If you are into Micro Brushed quads, check out the parts list.

So Why build your own Micro Quad?

Many available micro quads with brushed motors, have FPV built into them such as the Hubsan X4 h107d, or Walkera QR Ladybird. But they are expensive, limited in flight settings, and they only fly in self-level mode (never flew one, just guessing). It’s cheaper to build your own, and it allows you much better flexibility in terms of quad performance settings. The most popular micro quadcopter flight controller boards are 8-bit ATmega32u4 based, such as the Hobby King Micro MWC, NanoWii and AlienWii.

These nano quad flight controllers can Multiwii firmware, which gives you access to PID tuning, different flight modes etc. They have integrated FET (equivalent to ESC on a regular quadcopter) which makes building much easier. Some of these FC even come with a Spektrum compliant DSM2 receiver as well!

If you are looking for a more powerful setup (using 8.5mm motors), check out this new build of mine using Beef Brushed Board.

But the FC I am going to use is a STM32 processor (32 bit), which allows you to run Cleanflight on it. For beginners it’s good news because you can familiarize yourself with Cleanflight before buidling a bigger rig. For advance users, it’s GREAT news, because it’s going to be piece of cake setting it up and configuring it.

finished-top-cjmcu-micro-quad fpv-micro-quadcopter-nano-build-setup-top

Content Index

Tiny Nano Quad that runs CleanFlight!

As I was browsing through Cleanflight’s documentation recently, I discovered it also supports a micro quadcopter controller called the CJMCU board.

This is probably one of the smallest quadcopters that runs on 32-bit Flight controller with Cleanflight. While those big fast machines being so popular, it’s quite amazing yet amusing to see Cleanflight running on this tiny little quad.

A quick LOS test flight.

And My Maiden FPV flight. Wind was very strong (25mph), the buildings probably helped blocking it, but still it was very hard to fly straight. But that’s a normal day here, what can we do :D

Parts list

Here was my shopping list.

Quadcopter Body – $43

FPV Gear – $48


Flight Controller and Frame

The CJMCU is a tiny 80mm micro quad frame that runs a STM32F103 processor. It also has a Compass (HMC5883L) and an Accelerometer / Gyro sensor (MPU6050). This board is currently only available on a few sellers on eBay and GoodluckBuy. It weights 8.5g.

Warning (15 Jun 2015): People have been reporting issue with these boards from Goodluckbuy, they can arm the quad, but motors don’t spin. It appears to be an issue with the FET on recent batches, or soldering. Purchase this board at your own risk. Please let us know if you know what this issue is and if you find a solution.

cjmcu-stm32-micro-quad-quadcopter-frame cjmcu-stm32-micro-quad-quadcopter-frame-back

This board was originally developed and sold in China for some unknown projects. It comes with NO firmware installed, but luckily it was made possible to flash Baseflight and Cleanflight firmware on it. And Cleanflight took it further to even support it in the GUI (configurator), making the whole firmware flashing process much easier.

Unlike some other micro quad FC, this one doesn’t have radio receiver integrated.



Some have concern over the PCB-as-frame idea, I must say it’s pretty tough. This frame is made of silicon, I have been flying and crashing this frame a few days now, not a scratch. There is a on-board LiPo charger, flip a switch and your LiPo can be charged by a 5V USB power supply just like any other RTF micro quad.

Note that this frame only supports 7mm diameter motors. Replacement brushed coreless motors for the Hubsan fit perfectly.

Flight Controller Pin Layout

You don’t need to worry too much about the pins. What we are going to use are just the 2 serial connection pins for flashing firmware and connecting to Cleanflight configurator (and the 5V / GND pins as well), the 4 radio inputs (1 if you are using PPM), and the 4 pairs of motor pins.

Serial Connections

USART1 (along with power) is on the following pins.

  • TX1
  • RX1
  • GND
  • 3V3 – Power +3.3v
  • 5V – Power +5v

USART2 is the following pins.


Radio Receiver Connections

  • PA0 RC Channel 1
  • PA1 RC Channel 2
  • PA2 RC Channel 3 / USART2 TX
  • PA3 RC Channel 4 / USART2 RX
  • VCC
  • GND

Note that the radio receiver VCC Pin voltage is not regulated, it will supply what ever voltage is provided to the board. That also means if there is no battery connected, this VCC pin will not supply any power. Be careful if you are using a voltage sensitive RX, alternatively you can use the regulated 3.3v supply on the top pin of column 1, just below the RX GND pin.

Flashing Cleanflight Firmware on Nano Quad

USB Serial Adapter to flash CJMCU

This board does not have an onboard USB-Serial converter, so an external adapter is needed. I didn’t have one, so I tried to exploit the FTDI FT232RL chip on the Arduino UNO as my Serial Converter, but somehow it just didn’t work. I kept getting the error “no response from bootloader programming failed”. I didn’t spend much time on this, and I just moved on and bought a $5 Serial USB adapter on eBay.


Before you flash the firmware, make sure you have the boot loader pins disconnected (BOOT0). The board I got has boot jumper pads pre soldered with pins, so I just removed the jumper. When first connected this should power up the board, and will be in bootloader mode. Also make sure the charge switch is set to POW.


The Cleanflight documentation is quite clear, the process is similar to how you flash a Naze32 or CC3D board.:

  • Open Cleanflight Configurator
  • Choose the latest CJMCU firmware from the list.
  • Select “Load Firmware [Online]” and wait for the firmware to download.
  • Tick “No Reboot Sequence” and “Full Chip Erase”
  • Connect the USB Serial adapter to the CJMCU board, RX and TX should be cross wired between adapter and the CJMCU board. You can either use the 5V or 3.3V power.
  • Select the COM port of your serial converter
  • Click “Flash Firmware”
  • You should see “Programming: SUCCESSFUL” in the log box


  • Click “Connect” -> This should open the “Initial Setup” tab and you should see sensor data from the quad shown
  • Unplug the quad and bridge the 2 “BOOT0” pins again by connecting the included jumper to the two pre-soldered pins

This prevents the board from going into bootloader mode on next boot, if anything goes wrong, simply disconnect these two pins and the bootloader will start, allowing you to re-flash. You cannot overwrite the bootloader.  After the flashing process has been completed, this will allow access via the Cleanflight configurator to change settings or flash a new firmware.

Radio Receiver – Light weight!

For this mini quad, we have 2 options depends on what radio transmitter you have. For FrSky series, we have FrSky VD5M. And for DSMX, we have the Lemon Satellite. Both RX are under 3g and accepts 1S LiPo input.

FrSky VD5M 2.4Ghz 5CH Micro Receiver cables parts unbox accessory

I use Frsky DJT, so I went for the VD5M. It has 5 channels, which allows me to use the extra channel for flight modes. The range is about 200 meters, it’s light and small which is about the size of a postage stamp. But I really went to the limit, and striped out all the packages and connector pins.

I strongly recommend leaving the connectors on, it’s very difficult to remove them. Weight saving is very limited anyway.

FrSky VD5M 2.4Ghz 5CH Micro Receiver weight FrSky VD5M 2.4Ghz 5CH Micro Receiver strip connector case remove weight

And then solder the wires directly to the pads. We only need to connect one VCC and one GND on the receiver.

radio-receiver-solder-cjmcu-micro-quad radio-receiver-solder-fpv-cjmcu-micro-quad

* Update (14 Feb)

I have been having strange issues with the receiver, when battery voltage drops too low. The receiver must be sensitive to voltage supply level and when the motors draw too much current (high throttle), the receiver reset itself and failsafe kicks in. Solution is to use the regulated 3.3V power on the board, it’s situated on the second column top pin.


Here is the VD5M manual in case I need it again in the future.

FrSky VD5M 2.4Ghz 5CH Micro Receiver manual

Motors and Props for Micro Quadcopter

Brushed motors in this quad are much simpler and smaller than Brushless motors I normally use.

micro-quad-quadcopter-motor-banggood-hubsan x4 micro-quad-quadcopter-motor-weight-banggood-hubsan x4

Motor Connections and Rotations

In Cleanflight standard quadrupole configuration, the motors are mapped as below

In Cleanflight On CJMCU Rotation
Motor 1 Motor 3 Clockwise
Motor 2 Motor 2 Anti-Clockwise
Motor 3 Motor 4 Clockwise
Motor 4 Motor 1 Anti-Clockwise

naze-motor-layout motor-rotation-mapping-cjmcu-micro-quad

For the Hubsan X4 or Ladybird replacement motors, the motor rotations can be differentiated by the wire colours, such as clockwise are Blue (GND) and Red (VCC), anticlockwise are Black (GND) and White (VCC). The colour also gives you the polarity as well (VCC or GND).

If you have wired as above, Motor1 and Motor2 on the board will be forward.

When installing the motors, after the motor has gone through the hole, there is still a very tiny gap between the motor and the frame. I simply use a piece of rubber skin taken from a discarded wire, to insert into the gap.

motor-stop-fix-holder-cjmcu-micro-quad motor-stop-fix-holder-insert-cjmcu-micro-quad motor-stop-fix-holder-secure-cjmcu-micro-quad

And then cut the motor wires to a suitable length. It’s recommended to leave the wires twisted as shown in the picture, it help reducing the noise.


Motor Choices

For motors, I just went for the cheapest from Banggood (Hubsan H107L Upgraded). They seem to run quite smoothly, I have yet to report back their life time. (but I heard The maximum lifetime of those motors have around 10 hours of flight time). I also have a few coming from Hobbyking, so hopefully I can test and compare those too.

There are not a lot of choices for 7mm size class motors, and I suspect some of them even with different names, are actually identical motors. I will list a few unique ones I found here. Note that the HK and Crazyflie motors are 16mm long, the others are 20mm long which might suggest the 16mm are weaker in terms of max thrust.

Motor Name Weight Price/unit
HK 0716 Brushed n/a $1.4
Hubsan H107L Upgraded 3.4g $2.3
Crazyflie 2.0 2.7g $3.5
CL-0720-14 3.4g $5.8

For the sake of cost, I ordered from Banggood (hubsan H107L Upgrade), because of the free shipping. woodsturning did a great job comparing some of the micro quad motors with their thrust.

Propeller Choices

I am using props from Banggood and Hobbyking. Both come unbalanced but the Banggood props runs smoother, you can fly it without perfect prop balancing. After setting up good PID with the Banggood props, and switch to the Hobbyking props, the quad just vibrates and makes a loud high pitch noise. It’s flyable and it gives you more thrust, but it just doesn’t fly as smooth and efficient.

However, the Banggood props come loose very easily off the motor shafts, and they are very fragile comparing to the HK ones.

micro-quad-prop-propeller-weight-banggood-hubsan-x4 Banggood Props

hobbyking-proket-quad-propellers-mini-cjmcu-micro-quad Hobbyking Props

Balancing Prop

Propellers of this size are difficult to manufacture well balanced. The vibration can decrease the performance as they affect the sensor readings. To solve it you can try to balance your propellers.

  • Place your propeller on a needle (as thin as possible so your prop doesn’t get stuck on it), and start with horizontal position.
  • If it turns with one side towards gravity it is unbalanced.
  • Cut a little piece of tape and stick it on the light side of the prop, and do the test again, add or reduce tape until you are satisfy with the balance.
  • It takes practice, after a few props it should get easy and quick.

Now weight it before putting the FPV gear on.


Choose Battery

LiPo Battery Choices

I bought a few batteries from different sellers. I will share my result once I have tested all of them. So far we have 300mah 1S batteries from Hobbyking, 380mah 1S and 500mah 1S from Banggood.

I don’t recommend the Banggood batteries, I think they have much lower C rating than advertised. Get the Turnigy 300mah from Hobbyking, so much better!

You will also need some battery connector, what I do is I cut them off the LiPo charging cable, much cheaper than buying them separately :)

LiPo Charging IC

As mentioned, the CJMCU has a LiPo battery charging IC that can charge a 1S battery at max 1A using a provided 5V supply attached to the 5V serial pin input.

  • Set the power switch to OFF
  • Set the charge switch to CHG
  • Plug in a 5V supply to the 5V serial pins

The charger will finish when either the battery reaches 4.2V.

The two nearby LEDs indicates the charging status.

  • 5V Power is not connected: Both Off
  • LiPo Battery is not connected, Both Flashes
  • Charging: Green On Red Off
  • Finished: Green Off, Red On

Cleanflight Configuration and PID

First thing I did was to Enabling the MOTOR_STOP feature. It helps with crashes so it doesn’t try to keep spinning on its back.

Also make sure you enabled the correct RX feature e.g. PPM or PWM.

When I was stripping out the pins on the receiver, I think I must damaged Channel 1 accidentally. I couldn’t get any output when I was testing it. As a last resort, I gave up Ch1, and only use Ch2 to Ch5. So how do I switch flight modes with only 4 channels? Use “Profiles” in Cleanflight!

Firstly, setup profile 1 to use manual mode (aka rate / acro mode). Then setup profile 2 to use another flight mode such as horizon mode by assigning an unused AUX switch, with range around 1500. Because an unused Aux switch will always give an input of 1500 by default, the flight mode will always on.

This will work for any 4 channel receiver as well, only drawback is, you have to land to change flight modes.

Lastly, I have been using PID Controller 3 with great result, yaw is super responsive comparing to PID=0 and PID=1.


feature MOTOR_STOP
set pid_controller=3
set acc_lpf_factor=100
set looptime=2500

PID and rates

PID Controller 3
3.4 0.035 30
3.8 0.035 30
8.0 0.040 5
PR rate 0.37
yaw rate 0.28
RC rate 1.05
RC expo 0.65

FPV Gear – Video Transmitter VTX & FPV Camera

There are few options for nano quad but making your own is the cheapest. However building the FPV system is not straight forward, so I wrote a detail DIY 5.8Ghz FPV Combo build log hope that gives you some ideas.



I only realize how much noise those brushed motors can make, right after take off, I totally lost video. All I could see is snow and jumping lines on the monitor.

There are two ways to tackle this problem:

  • Have a proper LC filter, although I can’t guarantee the result.
  • Use a separate Lipo battery just for the FPV gear.

Micro LC filter for Power – Failed

First we need to make a light weight inductor. I chose the air core inductor because it’s easy to make and lighter without the Ferrite core. Take some magnet wire and make some coils around the screw driver. Magnet wire is not naked copper wire, it’s actually coated with a very thin insulation layer.

diy-micro-inductor-light-weight-lc-filter-power-noise coil-diy-micro-inductor-light-weight-lc-filter-power-noise

The inductance can be calculated by this formula.

inductance inductor coil_single_formula


The inductor I made has 10 turns, diameter is 8mm, length is 11mm. So inductance is 0.3uH, which is very little compared to those ferrite ring type i have been using on my mini quad (~200uH)

Cover it with heatshrink so the shape doesn’t change. Connect it up with a capacitor and there you have it a simple micro size LC filter.

heatshrink-diy-micro-inductor-light-weight-lc-filter-power-noise weight-with-capacitor-diy-micro-inductor-light-weight-lc-filter-power-noise

Unfortunately it doesn’t work as good as I hoped for. Maybe the inductance is too little, or maybe air core type inductor is just not as effective as the Ferromagnetic core inductors for filter purposes.


Now we need to wait patiently for the small lipo to arrive.

Update – 13 Feb 2015 – Some photos

Putting the FPV system on, and it’s looking good!

finished-front-top-cjmcu-micro-quad finished-back-cjmcu-micro-quad finished-front-cjmcu-micro-quad finished-side-cjmcu-micro-quad size-comparison-1-mouse-cjmcu-micro-quad

The noise is bad (from motors), and I will need a separate Lipo battery for the FPV gear. Now waiting for the delivery.

Update – 15 Feb 2015 – Warning for Beginners

Not trying to be negative or discouraging, but I would only recommend this build to someone with quadcopter building experience and good understanding of electronics. If you only have flying experience with a RTF quadcopter, maybe consider building a regular brushless quad as your first build, because there is more resource and help when you hit a problem.

But I definitely would recommend this build, it’s fun, affordable and challenging. If you decided to go ahead, here are some assembly and building tips.

  • Get some epoxy glue or Hot glue ready, apply on the connectors and solder joints as they are fragile.
  • It’s important to keep the quad as light as possible, weight makes a substantial difference having less weight. It’ll improve flight time, manoeuvrability, and speed.
  • The centre of gravity also affects performance. If it is well balanced it will take off straight up vertically. If it’s not balanced you can adjust the battery position back or forth, left and right, until it does.

Update – 16 Feb 2015 – Battery Contest

Ordered two more types of battery to test with from Hobbyking, and did some comparison.

Turnigy nano-tech 300mah 1S 45~90C

First comes the Turnigy nano-tech 300mah 1S 45~90C Lipo Battery, it weights 9 grams. I absolutely LOVE this battery! Lots of punch and it last a solid 5 to 6 mins on my micro quad without FPV gear on (AUW: 36g). With FPV gear on (AUW: 43g) I still get 3 to 4 mins.

Warning! This battery has reverse polarity to what I use, and I needed to swap the wires around. Make sure you check yours before using or charging.

It’s easy to reverse the wires if needed. They’re held in place using a little pin on the wire. Just push down on the exposed metal in the connector and carefully pull out of the wires. Then just re-insert them on the sides you need.

weight-Turnigy nano-tech 300mah 1S 45~90C Lipo change-polarity-connector-Turnigy nano-tech 300mah 1S 45~90C Lipo


Turnigy nano-tech 650mAh 1S 15c Round Cell

Next battery I tested was the Turnigy nano-tech 650mAh 1S 15c Round Cell. From what it states on the package, It has the best capacity to weight ratio, 650mAh for 13g! The 15C C-rating is a bit worrying but I should still be able to draw around 9A current continuously.

There is no connector with this LiPo, and it’s easy to solder it yourself.

However the result is very POOR! Maybe it was due to the low C rating, this battery has no punch, and the voltage runs low really fast and it has similar flight times to the Turnigy Nanotech 300mah 1S 45C. When I recharge it, I found it the charger only put back 200mAh.

weight-solder-connector-Turnigy nano-tech 650mAh 1S 15c Round Cell solder-connector-Turnigy nano-tech 650mAh 1S 15c Round Cell

Update – 17 Feb 2015 – New FPV Setup, No more noise!

FPV Setup V1 – Separate LiPo

Small LiPo finally came in, which I am using as a dedicated battery for the FPV gear. It’s a bit heavier, but works like a charm. This battery should last 30 mins to 40 mins with this setup.

back-TURNIGY NANO-TECH 160mah 1S 25C LIPO micro-fpv-combo-setup-5.8ghz-weight-separate-lipo-battery-nano-quadcopter

FPV Setup V2 – Better Alternative VTX and Camera

Tried a different FPV setup, a more expensive video transmitter and a wide angle mini FPV camera. I can power this setup from the main LiPo and has no noise, crystal clear image! Which was causing a lot of problems previously. Here is the FPV setup V2 Build log.

Good things about this FPV combo is, it’s lighter, and it’s handy to just have 1 battery powering the whole system.

weight-micro-fpv-setup-v2-altituderc-5.8ghz weight-fpv-micro-quad-nano-build-setup fpv-micro-quad-nano-build-setup-side

Leave a Comment

By using this form, you agree with the storage and handling of your data by this website. Note that all comments are held for moderation before appearing.


Chris 9th March 2020 - 10:36 pm

A toothpick! Nice :D

soroush 21st October 2018 - 10:05 pm

hi everybody
can someone explain me about USB Serial Adapter or give me picture of that???

Oscar 23rd October 2018 - 5:23 pm Reply
Ben Logh 16th September 2016 - 2:54 pm

Hello Oscar.
Nice great job mate. Guys I’m new to electronics and had one question.
They are 2 types of the CJMCU board the one you have and the one in the GoodLuckBuy here is an image:

The difference is that red part and those pins. So my problem is that I got your board (the one with red thing) and don’t know whether I can control my board with bluetooth and EZ-GUI and an Android phone or not becuase in EZ GUI web sitge the other board is used. And BTW what is that red part and those pins.
Much grateful for your reply guys.

Oscar 19th September 2016 - 3:13 pm

replied on forum

alen 31st August 2016 - 8:59 am

Hi and hoping good for you
could you please tell me how to install boot loader for cjmcu328 ?

Brian 11th July 2016 - 2:11 am

I’m keep getting a bootloader sequence failed message too. I got it from goodluckbuy. Using a usb to uart bridge. I do have an arduino I could try. Mabye I have a faulty product.

Mike McAllister 19th May 2016 - 4:46 am

This has been a great project. Thank you Oscar. We do a lot of indoor flying and the bang good props are breaking pretty regularly. The firstwo several orders of the props were 58mm long and the bird flies well. It seems they are now making 55mm props that can’t lift the fpv loaded micro. Is there a reliable source for 58mm props. Also, I haven’t tried the hobby king props yet. Maybe they would be a suitable replacement.

shahram 11th April 2016 - 9:52 am

Hi dear OscarLiang,
you are excellent!

i’m a beginner in electronics and i love to build my first quadcopter by myself.
for start i am trying to control speed of 4 dc motors with pwm using L298 and Atmega1284p.

BUT i am confused at first!!!
Please guide me some in selecting right components and how to start.

i am working with proteus and bascom(i khow VB)

in my simulation with L298 and Atmega1284p can not set pwm’s right.

Best Regards.

James Friedman 27th January 2016 - 9:53 pm

Hey Oscar

Quick question. Do you think that if I found a way to mount 8mm motors to the CJMCU, would the FET’s on this board be able to handle the draw? Or would I burn them up? Thanks for all your work!

Oscar 7th February 2016 - 11:00 pm

I don’t think so, the board is designed only for 7mm motors.

8.5mm Motors 8th April 2016 - 5:42 pm


I’m about to mod the board with Husban 8.5mm motors. I have several 6A FETs I will replace components with + match any supporting ones that need it. I am also planning to 3D print little arm extenders with 8.5mm holders on them to give a little more length in the base, and hopefully stability with the higher power motors. I will report on it over the next few weeks (I don’t have too much time, so it will be slow).

alex 12th November 2015 - 8:32 pm

Hi Oscar,

since a few days I fly a CJMCU frame. Thanks to your Blog, it works! But I’am wondering myself why the performance of this board is so poor compared to a of-the-shelf Hubsan X4 h107L? Both quads have the same weight, motors, props and lipo but with a cheap, old S1 lipo the CJMCU does only fly for some seconds before it has not enough power to stay in the air, but the hubsan x4 h107l flies with the same lipo (without charging) for some Minutes.

Of cores, with a new nano-tech the CJMCU flies a bit longer but the thrust is much much weaker than of the X4 h107l.

I used the settings for PIDs and rates mentioned in this article.

There is not a noticeable difference between angel or arco mode regarding the thrust for the CJMCU.

I checked the motors tab in cleanflight-conf of the CJMCU, while i moved the throttle stick on my tx to 100%, the value of the motors goes to 1850 and the visualization shows a filled red bar.

Did i missed some configuration?

Did anyone realized this curiosity? I had expected something like the same performance between this copters (same weight, props, motors and lipo)



Marcel 22nd November 2015 - 3:36 pm


I have the same issue i think. I can fly with a full 45c lipo for about 30 seconds and then is drops. If i go to full throttle then it still drops but slower.
Done some testing and it can be 2 thinks, still to heavy (no fpv on it) or the board is bad.
I’m going to put some weight off and test some more.

pakamon 8th February 2016 - 5:36 pm

Hi Oscar,

I have just finished CJMCU micro FPV build v2.
Drone without battery weight 35g. I am using Turnigy 300mA battery however I am getting only 30s of fun like Alex and Marcel :(
I have connected FPV setup directly to VCC (battery). Perhaps I should use regulated 3.3V output ?

Please advise.

Alex 9th November 2015 - 9:01 am

Hi Oscar and all,
Thanks for the great resource!

My Motors do not start to spin.

I flashed the latest stable CJMCU-firmware on my CJMCU board, soldered the RX and motors. The motors spin if i instruct them under the motos tab (cleanflight configurator). if i move the Sticks on my TX, the bars under the RX tab also move in the right way. But my motors do not start to spin.

Do i have to activate some other features?



Aelx 9th November 2015 - 11:21 am

found the soltution by my own.

keyword: arming


Christoph 6th November 2015 - 10:59 am

Hi Oscar

I am currently using the VCC and GND pins that you used in your first attempt to power the receiver. Apparently my receiver is also sensitive to voltage drops as I experience brownouts as soon as I go full throttle (at least with props on – without props its fine). My problem now is that my receiver needs 3.7v to operate so I cannot use the regulated 3.3v pin that you suggested. Do you have any other ideas what I could do in this situation? Maybe connecting a BEC to the VCC pin?

Regards Christoph

Oscar 6th November 2015 - 3:45 pm

tough… maybe use a standalone, small lipo? 3.7V minimum is not ideal anyway, your lipo can drop to 3.5V so you could lost control towards the end of the flight…
or maybe just use a different RX.

Robert 4th November 2015 - 9:09 pm

Hi Oscar

I’ve uploaded newest cleanflight fw and i see there is VBAT feature in it, but can’t really find if it’s connected to any gpio pin, i’ve tried standard naza PA4 port with 10k/1k voltage divider but no luck, did anyone manage to enable battery voltage monitoring?

Rgds, Robert

Mark Micallef 30th October 2015 - 3:07 pm

Hi Oscar

I can not get the VD5M to work on my board. Connected the VCC and GND and channel 1,2,3,4. The VD5M is binded correctly because I get the green LED when I power on the Taranis however I do not see the values changing under the receiver tab.

Can someone tell me the settings used in the Cleanflight GUI or a screenshot? Any ideas welcome as I literally tried everything.

Mark Micallef 31st October 2015 - 4:10 pm

Found the problem. Issue with the latest Cleanflight FW. Downgraded and everything worked fine.

Pakamon 24th October 2015 - 3:32 pm

Hi Oscar,

I have finished building the cjmcu based drone but I have issues with making it fly :(
For the moment I have successfully connected board to Cleanflight configurator and I can see live stats for gyro accel etc but when I go to Receiver tab I got nothing while operating transmitter
– Transmitter is Turnigy 9x – original firmware
– DJT TX binded with VD5M RX – green LED on after switching on TX

Any ideas what might be wrong ?


pakamon 25th October 2015 - 12:11 am

Hi Oscar,

I am a total noob. CJMCU was not armed ;)
RTFM hits again…


Oscar 26th October 2015 - 12:10 pm

oops! LOL

pakamon 19th October 2015 - 9:00 pm

Hi Oscar,

I have noticed you are using some sort of isolation foam between RX psb and CJMCU pcb. Is it some sort of special ESD isolation foam ? I found something like this below: but I think 6 mm is kind of thick for such a tiny quadcopter.


Oscar 20th October 2015 - 9:57 am

Hi Pakamon,
not really, any double sided tape should do. The one i used is gyro mounting pad from HK.

Vincent 7th October 2015 - 1:05 pm

Hi Oscar

I’m missing some details.
You guys are talking about the Hobbyking L-C Power Filter 0.7A, but did it actually work using this setup (and not V2)
What is the lifting capacity of this quad? The 300mAh lipo is about 10 grams, turnigy has another of 18 grams and 700mAh, it is worth it or too heavy (would say if I can skip the extra battery because of the power filter, the larger battery is oke)


Oscar 7th October 2015 - 5:08 pm

still too heavy in my opinion… your best bet is go for the V2 setup…
Capacity is not everything, also need to look at C rating.. and the higher C rating, battery gets heavier. 10 grams for battery is close to the limit really for this micro quad setup…

Israel 17th September 2015 - 4:48 pm

I am looking for a pinout of the CJMCU board does anyone have one? I have a 6 channel receiver and i am trying to figure out where channel 5-6 connect on the board.

Örjan Wallén 22nd May 2016 - 10:58 am

I use the Frsky VD5M 5 channel receiver and mounted the 5th channel on pin PA8 to get 1 aux channel for flight mode switching.
Works perfectly.

elo 2nd September 2015 - 8:26 am

Hi Oscar,

I am trying to get the cjmcu working with Microfrx and ppm signal.
Cleanflight Version is 1.9.0
I use PA3 for ppm input.
UART2 is set to serialrx
receiver mode is set to RX_ppm
I don’t get a signal in Configurator
Also tried with d4R-II in ppm mode, also no signal.
Did anyone get ppm run on the cjmcu?

PS: My cjmcu was with faulty FETs, they are changed and the board did work with Spektrum-Satellite

Sevet 5th September 2015 - 10:39 am

Just trying the MicroFrX with the CJMCU myself.
PPM goes to PA0

I have another issue, as soon as the motors start working the MicroFrX looses signal, maybe it doesn’t get enough power (the led on the MicroFrX gets less solid).
I tried putting a small 5 to 3.3 regulator (0.1g) but same results… the regulator also heated until some smoke was visible, but still working.

Elo 8th September 2015 - 6:19 am

Thanks for the tipp.
It works now.
First I tried to use onboard 3.3 Volt.
After about a Minute of flying signal was lost.
So I added a 3.3 Volt pololu ( ) which is directly connected to the battery
and now it has no problems during flight.

Ric verdier 29th August 2015 - 5:59 am

Hi Oscar

I purchased what i thought were the right hubsan replacement motors…the diameter of the new motors is a little larger than the holes on the cjmcu frame …any suggestions and not damage the frame?

Oscar 30th August 2015 - 5:45 pm

best to work out what diameters of those motors, if they are 8mm motors and not 7mm… they might be too big for this board, as they might draw more current than the FET can handle…

Allen 25th August 2015 - 9:09 am


I’m Allen work for Bonka Co., LTD. which is one of the leader biggest battery factory in China.

We sell 1800/2200/3300/4500/5200/8000/10000/12000/18000/22000mah battery for RC Helicopter/FPV mini quadcopter,racing quadcopter,UAVs/airplanes/tricopter,hexacopter,octoptercopter etc.

If you have this side requirement,please kindly contact me, i will serve you. thanks!

Best Wishes

email: sales5
Skype: bonka-allen

Geoff Hargreaves 21st August 2015 - 8:24 pm

Hi Oscar,
I was reading through this post and looking at the pictures of the frame.
My order from Banggood hasn’t arrived yet, but just from looking at pictures – there is no catch diode across the motor to protect the FET from flyback. So some people may be experiencing FETs that have broken down due to flyback.
Also, I can’t read the manufacturer stamp on the top of the FET so there’s no way to tell if this is a suitably sized component, or an unfortunate use of a 2N7002 or similar. My bet would be on flyback and breakdown.
Maybe someone else has put a scope on the drain to source while spinning up?

Oscar 24th August 2015 - 10:33 am

Hi Geoff

someone has found there was some wrong FET used on this board in some batches since May, and pointed out the correct FET should be used in the comment. I have had report saying the issue has been corrected in the latest batches, however i cannot confirm this myself.

monty 12th August 2015 - 1:35 pm

Hi Oscar,

Got this board all set up, but if I punch it, it leans towards the front right motor. After a minute of flight, it starts yawing to the right and becomes really hard to control. I’ve replaced the motor with one from MMW, also replaced the the FET with no results.

Put my scope on the signal, it’s a little noisier than the others, but otherwise ok.

Any other debugging I can do? I’m just about to give up and buy beef’s brushed board, or hold out for an AlienWii. My wallet is not happy with this development :\

Oscar 12th August 2015 - 5:04 pm

what flight mode was it? try Acro mode see if it can fly normal? Could just be the ACC sensor?

monty 14th August 2015 - 1:39 pm

Unfortunately that’s in acro mode – horizon has bad accel tuning, need to fix the accel.

I might try the latest cleanflight and play with gyro/accel low pass filters, but I feel it may have minimal effect.

Kostia 11th August 2015 - 12:46 pm

Just got my CJMCU board from Goodluckbuy and it came without the charge switch. It’s just missing! I wrote them about it let’s see what they say…

Richard 8th August 2015 - 12:17 pm

Hi Oscar, I have 2 CJMCU boards purchased from goodluckbuy and am trying to figure out if I got the MOSFETs or transistors. They visually look like the replacement IRLML2502 but are covered in flux which when removed also removes the text. My best guess of the text on the part is ??F4G.
If you or any kind user could compare with either the proper or faulty part and help me identify this it would help me greatly.


One of the boards is also missing a switch.

Kostia 11th August 2015 - 12:50 pm

Yeah, mine looks exactly the same with the charge switch missing. Have you already tried to flash the board to see if it has the FET problem?

Richard 12th August 2015 - 11:48 am

Hi Kostia, I have flashed the board, that worked fine but I am still waiting on 1s lipos to test if the motors will spin. I could probably do some quick testing with an old crappy 3s, just pulling from 1 cell via the balance lead but I am expecting a delivery in the next day or two with batts. I reply then with a update.
I also received an email from goodluckbuy yesterday on the FET matter and on the missing switch copied below
yes, friend, thanks for your question . for this board, there was one batch of them with the wrong S8550 PNP transistors soldered . but ,we modified this mistake about one month ago. so, the new batch of the boards are with the correct IRLML2502 mosfets soldered . don’t worry . don’t worry about this point . now,for the new batch , what you got maybe will miss one switch . but, the technician said this doesn’t influence the normal use of the board . but, there are the customers said they needs the switch , so , we have to resend them the switch separately. So, when you get the parcel, if you need the switch module , please let us know .
we will satisfy you . ok ?
As for the text on the component in the above imgur link my nieces 12 yr old eyes confidently state that it is G3E4G

Richard 12th August 2015 - 3:19 pm

Hi Kosita, Ignore reply below. I am new to brushed motors, the motors are able to draw power thru the ftdi/usb. I am used to using cleanflight with larger quads with brushless motors that obviously require more volts.
The FETS on my board are good MOTORS ARE SPINNING.
Purchased on 24/07/15 from China warehouse. MOSFET = G3E4G.

Kostia 13th August 2015 - 2:02 pm

Thanks mate,

I’ve started putting mine together and the motors do spin from the Cleanflight GUI which is a good sign.

ToddK 3rd August 2015 - 12:48 am

Hi Oscar
I had the same transistor issue with my board from GoodLuckBuy. It had PNP transistors instead of an NMOS transistor that is needed with how the design is done. I put some replacements on that I had lying around until I can get the correct ones from Digi-Key.

I also could not load code to my board from Cleanflight until I had used the ST utility to load a bin file using the bootloader. I couldn’t find references to anyone else having that issue but it set me back more than a few hours figuring it out. I now assume I will be able to load newer versions using Cleanflight since the board is now recognized.

I want to use an OrangeRX satellite RX since it is as tiny as a fingernail and only needs three wires including power and gnd but I haven’t figured out how to do that yet.

Jesse 28th July 2015 - 4:47 am

Hi Oscar,

Just got a frame like this 2 days ago from GLB, it has the bad transistors not the FETs. Luckily a few eBay sellers near me have them. Just wanted to let people know it may still be an issue.

Ricky 27th July 2015 - 7:50 pm

Hi Oscar

I’m completely new at this, and I’m having trouble flashing the firmware on the CJMCU board.

I’ve connected the board’s TX1, RX1, GND, and 5V pins to my rs-232 serial-usb adapter’s TXD, RXD, GND, and 5V pins (pins 3, 2, 5, and 9 respectively). When I connected these pins, the board did not power on (I didn’t see any LED’s light up) and the Cleanflight Configurator couldn’t establish a connection (though my computer did recognize there was an unknown device in my port). I tried zooming in to your picture to get a better view of which pins you connected, but its resolution was too low for me to determine how your pins were connected to those on the serial-usb adapter.

Am I missing any pin connections? how exactly did you connect your board to your serial-usb adapter in order to flash the Cleanflight firmware?

Thank you,
– Ricky

Oscar 28th July 2015 - 5:25 pm

Hi Ricky
only 4 pins are connected, TX RX GND and 5V.
the board LED is not lit up means something to do with the power from the serial-usb adapter, or the board is faulty.
are you able to check the 5V/GND on the adapter with a multimeter?
Join our group on Facebook “multicopter international” and post some pictures if you still have problems.


monty 23rd July 2015 - 9:09 am

Hi Oscar, received my board today and the FETs have been replaced at the factory – safe to start buying this board again!

Oscar 23rd July 2015 - 11:40 pm


Luz 18th July 2015 - 12:14 pm

Hi Oscar,
thank you for the great build log.
I have the following issue with this CJMCU Board from Goodluck (I probably didn’t have any :-):

I can flash cleanflight 1.79-1.8.1 with success. Then I reconnect the BOOT jumper and plug in the TTL USB Adapter –> the LED1 and LED2 are blinking in turns but I can not connect the Cleanflight GUI, tried all boud rates – nothing.
(I used 5V for flashing and my connection attempts, also tired another PC)

Do you think I got a bad board ore could this be some other issue

axi 7th August 2015 - 8:06 pm

I have the same problem, I had it working and after some hot glue added, it blinks green and red and do nothing.
Did you discovered what was causing the problem?

Christoph 10th July 2015 - 5:05 pm

Hi Oscar,
I bought a CJMCU flight controller board from AliExpress ( and it seems that these we have different revisions of the board. When I connect a USB serial adapter a blue LED named “STA” is flashing (every 1 sec) and the red LED “POW” is on. My problem is that I do not know if i am in the boot loader or not, how can I determine and I do not have any “BOOT0” solder pads, does this mean that I cannot flash this board?

Best regards

Oscar 11th July 2015 - 12:37 am

it looks like a 8 bit micro processor there (mega328), which might only be able to run multiwii and not cleanflight.

Christoph 11th July 2015 - 8:17 am

Hi Oscar,
Yep its an Atmel Mega 328p … it appears everything is working properly, as soon as i connect power all motor 1 to 4 are beginning to spin slowly until full speed is reached (first motor 1, then motor 2 starts to spin and so on) – and I cannot connect to the board using Cleanflight Configuration… so you think its multiwii?

Oscar 13th July 2015 - 10:07 am

That processor is 8 bit, not 32 bit… similar to the Arduino UNO, which can only load Multiwii on it.

Christoph 15th July 2015 - 7:23 pm

Hi Oscar,

Ok, what I found out so far: it’s apparently running MultiWii 2.4 and transmitter input is working so far, but something is wrong with my sensors. I get a lot of I2C errors (counting from negative to positive values and vice versa). I opened a thread at RCGroups (, maybe you could contribute there to solve the issue. I ordered this board, because it looks almost identical to yours, so I kinda feel angry – it seems that I have just wasted 20$

Maybe we could solve my issue, so If other people should stumble across it you can refer to the corresponding thread.

Levi 7th July 2015 - 7:19 pm

Hi Oscar
I was wondering what the state of that fc/board is. This looks like the perfect solution to what I wanted to make but if those boards are shipping bad and you have to mod them to fix it then I’ll try a different approach. Anyone able to help here?

monty 23rd July 2015 - 9:10 am

Got mine today, fixed! No issues.

nallez 7th July 2015 - 11:02 am

Hi Oscar

About the CJMCU issue.
Fix has been implemented for the problematic batch:

“I actually found out what the issue is on the MutiWii Forums. Due to a production issue, one batch of the board shipped with S8550 PNP transistors instead of MOSFETS. They are rated only for 500mA. Apparently, replacing them with IRLML2502 MOSFETs fixes the issue.”

“We got a batch of boards with this problem too. I replaced the components with these:…stors/6106693/ and it all seems to work fine.”

Vic 2nd July 2015 - 3:24 pm

Hi I found this site looks like about FC above
hope this help for someone

badz 29th June 2015 - 2:29 pm

Just came back with my version of this quad.
just a few quick remarks:
– 1S bangood battery have proven to be useless. I am not sure why, but flight time is less than 1min. The 300 nanotech are quite good . 3mins flight maybe.
– holding the cam + VTX on this is quite tricky. the hotglue does not hold well, rubber band is a good alternative indeed.
– the PID and rate above are a bit too high for me to fly indoor.
Thx for this blog !

Oscar 1st July 2015 - 1:38 am

i can confirm your findings on battery :) love those little nanotech batteries :)

fpv cambodia 28th June 2015 - 5:46 am

Hi Oscar, thanks ever so much for this build log, I wanted a Nanao for a long time, so I went with your setup and have ordered the components. I also went with the Frsky receiver, for which I would like to connect it in PPM to the board. Indeed, I understand by bridging channel 3&4 channel one will output RSSI (PWM) and channel 2 would be output CPPM, BUT how should I wire the Board on the quad, please with the 3 CPPM wire, just on channel one PA0 + VCC + Gnd? would this work? Thanks for keeping in touch, and once again, cheers for this well documented build log; much appreciated… Cheers and Safe Flying!

Mike M 28th June 2015 - 6:35 pm

I am trying to figure out the same thing. Bridging channels 3&4 does not appear to enable CPPM as stated in some manuals. Looking at Oscar’s photos, it appears that he used PWM and soldered to 4 channel ports on the RX.

badz 29th June 2015 - 3:00 pm

The VD5M does not do ppm

Mike M 27th June 2015 - 5:01 pm

Confirmed. I received mine last week. I haven’t finished assembly yet but I examined the mosfets with a magnifying glass and saw that they are 2TY and will need to be swapped out with IRLML2502.

cryp 11th June 2015 - 5:08 pm


has anyone an idea why my motors dont’t spin? My receiver works fine and the mincommand & maxcommand values are correct. i have set up an mode “arme”, but nothing works.

I have calibrated the acc and magnetometer.

I have exactly the same setup as above, only my rx is currently an SPEKTRUM AR6100E. I have testet the motor feature in cleanflight but my motors won’t spin – what can i do or check?


Oscar 12th June 2015 - 10:39 am

can you arm your quad at all? you should be able to see “ARM” turn green in GUI if it’s armed.
check your radio transmitter end points as well, make sure they can travel from 1000 to 2000 at least

cryp 12th June 2015 - 11:26 am


yes, i can arm the copter. When i arm the copter, the green LED turns on and in the “motor” tab in cleanflight, i can see the motor outputs – but in the “modes” tab, the “ARM” isn’t green.

my radio endpoints are between 980-2000. I have tested cleanflight 1.8 (the actual stable version) and currently the 1.7.2

I know that the motors works – i have connect the motors directly to a 1s lipo. I saw, that some people have the same problem and nobody knows, where the failure is :(

I have no idea what i can do…

Oscar 16th June 2015 - 1:56 pm

in cleanflight GUI, go to mode tab, connect lipo battery to your quad, see if you can arm your quad? (ARM mode should become green)… also check on motor tab, see after you arm the quad, and raise throttle see if motor outputs change? If they do, but your motors are not spinning, it might suggest there is a problem with motor or power to the motors… also check solder joints…

Alex Z 15th June 2015 - 11:26 am

I’m having the same issue. Motor test does not work and board will arm. The gyroscope works well, but that’s about it. It might be the FET’s, but I can’t tell…

Badzz 19th June 2015 - 10:51 pm

Seems like the FET on the newer boards are wrong

Alex 24th June 2015 - 2:29 pm

Here there was a discussion about it and the reason is faulty FETs, you need to replace them to this one: IRLML2502

Link to the forum discussion. If link doesnt work go to forums, search for “CJMCU microquad board”, it is the bottom of the page 3.

Badz 26th June 2015 - 10:26 pm

Works for me

Winston Churchil 9th June 2015 - 12:51 pm

Can i use Syma X11 motors and Lipo?I no need FPV gear

Oscar 9th June 2015 - 1:22 pm

you need 7mm motors for this frame (diameter), does Syma X11 comes with 6mm or 7mm motors?
Lipo should work though.

Mad 30th May 2015 - 3:01 pm

Are you using the default Cleanflight Channel map AETR1234 or the Naze map TAER1234?

Mad 30th May 2015 - 8:04 pm

Sorry, I think I answered my own question. Use TAER1234 and the channels are remapped in Cleanflight. For what it’s worth, I believe you have the rotation directions of Motors 3 and 4 reversed. It should be Motor 3 in CF CCW and Motor 4 in CF CW.

Gal Pavlin 10th May 2015 - 8:17 pm


Here are cad files for anyone intersted.

I also think I found the sulution for noise. You see there is no capacitors near the motor which are controlled with pwm. I think the main reason for noise is pwm. I solved it by soldering 2 capacitors near each motor between ground and vcc line. I used ceramic capacitors. 10uF 6V x5r for big changes with low frequncy and 1.5nF np0 for high frequncy noises. Didn’t try with a video tx yet.


Frank Heflin 27th April 2015 - 2:52 am

Thanks, Oscar. I just got micro growing. It’s more stable than all my 250s. LOL. LOS, no FPV, but what a great time outside in 8 mph breeze with no problem. I really appreciate you bringing this series to us.

Oscar 27th April 2015 - 5:36 pm

Fantastic! :D
It is pretty fun flying this little machine!

Frank 21st April 2015 - 2:17 am

Never mind. I seen it is not connected to anything.

Frank 21st April 2015 - 2:09 am

Thank you for putting this together. I have ordered all the parts and they just arrived. I am at a loss on one pin connection for the usb – serial setup. What is that pin out on the arm – it looks like S0 under SP12. What is that. What on the serial board is connected to that?
Thank you,

Oscar 21st April 2015 - 6:26 pm

I am not sure either, I am not using them.
To connect serial-usb, you only need to use TX / RX / GND / 5V on the FC.

CreateThis 18th April 2015 - 12:40 am

Is there an available softserial UART3 on the CJMCU? I bought two of these and I think I’d like to try a naked D4R-II with battery telemetry back to my Taranis. I use UART3 as a softserial on my QAV250, so I was wondering if that could work here too.

I hate not knowing what my voltage is.

Havard Lohne 17th April 2015 - 7:11 pm

Great blog!
I am sitting trying to build this quad, got the exact same parts as you but having a problem loading cleanflight. Not sure if I have the correct USB serial connector. I am trying to use this one:

Could someone tell me how to connect this, if it’s even possible?

Oscar 20th April 2015 - 12:44 am

replied in FB group.

sgnel 16th April 2015 - 2:36 am

Has anyone gotten Battery monitoring to work on this little board?

I’m also curious if anyone has hooked up a GPS unit yet.

Oscar 16th April 2015 - 1:14 pm

i don’t think you need to monitor voltage. you will notice it’s running low in battery, as it will become powerless. When it gets to 3.4v-3.5v it won’t be able to take off anyway.

Elad 13th April 2015 - 9:46 pm

Hello again!
I wanted to ask – did the compass on this board ever worked properly for anybody?
I’m not talking about noise from the motors, but standard readings, like when its connected to the configurator and you see the compass raw data and/or compass gauge.

I set the right mag_hardware and also set the declination.

The compass seems to give a constant reading of the same orientation even when the model is rotated, this really puts noise into the system because the accelerometers/gyros do notify the movement.

The gauges make sense only when I disable the compass (by setting mag_hardware= ).

I’ve done a small research and found out:
1. the label printed on my compass is L8832108. I’ve seem on the multiwii forum a picture of the same cjmcu quad with a compass labeled L8832107. SparkFun are selling a compass labeled L883205. All these compasses are marketed under the name “HMC5883L”. I would guess they are different revisions, I just hope they all behave the same in means of interface.

2. Found some people complaining about inconsistency of HMC5883L series concerning I2C address. Datasheet says 0x1E, some found it on 0x1C.

3. Reading the cleanflight code I can say that on CJMCU case if compass is not detected andor read/write fails, there is nothing that alerts about it.

Anyone here with the same issue?

Oscar 16th April 2015 - 12:14 am

do you really need to use compass on this tiny little quad? :D sorry I haven’t tested this sensor… I don’t even use the ACC as i fly in rate mode…

Elad 16th April 2015 - 9:55 pm

Yeah I guess you are right :)
I thought maybe false readings from the compass could make the quad a little unstable even if not in MAG mode.
Also I wanted to see if that MAG mode works…

Well, if someone writes here that the compass gave him good readings that will help…
Or maybe just read the label off the compass chip, can you tell me what your label say?

Fernando Poitivin Gonçalves 3rd April 2015 - 12:20 pm

How do you tune these “ESCs” if the rx is powered by the programer which means having the lipo plugged or not is much of the same ?

Oscar 6th April 2015 - 12:58 am

you mean ESC calibration? i dont think it’s needed for brushed motors, FET.

Fernando Poitivin Goncalves 12th April 2015 - 2:59 pm

ok, was just asking because i have the feeling my motors don’t start all at same time

Oscar 13th April 2015 - 12:32 pm

As long as it flies well in the air, i don’t think it matters too much, it’s so tiny anyway vibration is hardly visible.

Nabakou 30th March 2015 - 12:29 pm

Hi !

Thank You very much for this page, very interesting, orders are done… ;)

Jason 29th March 2015 - 8:50 am

Is there a manual somewhere for the CJMCU? Google didn’t help me.

Oscar 29th March 2015 - 12:29 pm

no there isn’t. It’s some unbranded, open source project.

rekliner 8th April 2015 - 6:15 pm

I THINK the board is a Chinese clone of the Crazyflie open software/hardware project. Their website is well documented if you need info on the hardware but it won’t help you with software. has a few discussions on configuring software for the cjmcu.

Elad 28th March 2015 - 4:24 pm

Hi Oscar,
I’ve seen your great article after bumping into ezio’s cool article which is the same build except control is done by using ezgui software for android (bluetooth remote).

I bought these components – frame, 7mm motors, hubsan props.
for battery I used a 1s 3.7v 350mha of my Syma-x1 (they still work very good with my Syma).
For control link I use a bluetooth module (small and light) connected to my mobile.

The thing is – The quad wont lift up, I manage to control it and hover in the “ground effect” zone (about 5cm high) but even when full throttle – it just wont lift up.

Any advice on where my problem is?

Oscar 29th March 2015 - 12:01 pm

what’s the weight? it sounds like it’s too heavy!

Elad 29th March 2015 - 6:28 pm

That’s also what I thought. I don’t have one of these kitchen sensitive weights, so only based on the internet:
frame as you weighted – 8.5g
syma x-1 350mah battery – 10.5g
3 hubsan upgraded motors – 3.4*4= 13.6g
serial bluetooth module – 5g
banggood propellers – 1.4g
4 wires for serial bluetooth + 2 wires for bat + 5 pin header for board serial = ?? (assuming < 5g)

Total = 40-45g (including error).

Is that heavy? With battery your FPV quad setup is heavier, right?

I tried playing with throttle parameters, tried horizon and angle modes, tried flashing earlier cleanflight versions, tried adding more solder to the motors joints (thought maybe a thin layer of solder limited the current). I have 6 batteries and all works good on other quad but not on the cjmcu.

Weird things I noticed:
On the HORIZON mode the quad did lift a little more than ANGLE mode.
More weird – the cleanflight configuration does not recognize a magnetometer (???), only acc and gyro. I tried latest firmware and 1.6 firmware.

I ordered spare parts and frame, so I can actually build another one. Should I build it the same and try this one also?

Thanks for helping :)

Oscar 31st March 2015 - 1:07 am

it should take off for anything less than 50g i think.
yes, try to build it on another board see if that makes any difference.
Can you actually see throttle range is between 1000 to 2000 in the receiver tab? I have not used BT as receiver before so not sure how that works.
Also try rate mode, it doesn’t have the auto levelling and motors give a little more thrust generally.

Elad 31st March 2015 - 7:26 pm

Thanks for your answer.

Building the spare quad – It runs as expected! working :)
My guess is that while soldering I damaged something in the electronics of the previous one (I replaced a straight header with 90deg header and used high temp for relatively long time to get all pins out at once).

For anyone interested – controlling the quad using EZgui (android bluetooth) is really cool but it takes practice because it suffers from some lag especially if you use the accelerometer on the phone to control it.

Fun project

Kostia 15th August 2015 - 1:09 pm

Just finished assembling mine and so far I’m having the same issue. The quad lifts off the ground about 10 cm and then it can’t go any higher than that. I’m using all the same components accept battery – I’ve got a 650 mA one from a slightly bigger quad. It’s about 25 grams so it shouldn’t be too heavy. The channels respond correctly in 1000-2000 range. Not sure what to debug… Any idea?

Kostia 20th August 2015 - 12:10 pm

OK, I’ve solved the problem by replacing the battery I used with the Turnigy nano-tech 45-90C.

kuang 26th March 2015 - 1:51 am

I connect the DEVO AX1002 receiver,in the cleanflight I can see the motor working,but
the motor didnt work. CJMCU microquad board need rearm??thanks

sakamoto.paya 25th March 2015 - 8:49 pm

Nice tutorial. Thank you for documenting the build so thoroughly.

Alex 24th March 2015 - 3:09 pm

Hi there, I am just a very beginner quad enthuisiast. I have a nano-quad which we bought for fun for 10 bucks. It is fun to fly, but I would like to get more stability.

Now I want to build an fpv micro-quad (about 10cm in diagonal) and I found your blog absolutely amazing starting point. The question I am asking myself is whether I would be able to build it brushless. Do you think it is impossible for the size of less then 15cm?

Also I wonder whether for a brushed version I can use this FC, and whether it is not as good as the one you used.

Thanks in advance,

Oscar 24th March 2015 - 4:15 pm

if you are running 4inch prop, you probably can.
for 5 inch props i think the min size is about 19cm…
I have got that Micro MWC FC… but I still haven’t found the time to test it yet…

Alex 24th March 2015 - 4:26 pm

Thanks, Oscar,
I found a brushless motor designed for rear helicopter prop (2.5 inch), I wonder……
They are only 2.3 gramm but I havent compared thrust with brushed ones…

Oscar 24th March 2015 - 11:40 pm

Interesting! Not really sure, maybe find out the thrust data sheet of this motor :)

Alex 26th March 2015 - 12:20 pm

There is no point really, thrust with 2.5 tail props is only 27g, which is similar to brushed coreless motors. I think I will follow your guidance and will stop being creative with the first quad, haha…

Oscar 27th March 2015 - 10:48 am

excellent! :)
have fun!

Alex 29th March 2015 - 7:21 pm

Oscar, I am back, haha, i am confused about serial adapter, I have ordered this one:
But now in doubt whether it will work because you used different one.

Oscar 31st March 2015 - 1:09 am

Try it, you have ordered it anyway.

Alex 1st April 2015 - 4:00 pm

Thanks, Oscar, I will give it a go. The problem is that in your case there is a power pin on your adapter, however I don’t think there is a power pin on the one i ordered…

Alex 25th April 2015 - 7:25 pm

Hi Oscar, finally got all the parts. Started soldering but have similar issue as you had with flashing the CJMCU, Cleanflight Controller gives me an error ‘no response from boot loader’. Do you have any ideas why this error might have occurred?

I think everything was done OK, the power switch was on, charging switch was in POW, jumper on boot0 was off and the LED was red. I hope the mainframe is OK, so I have ordered another serial converter. I think I will go ahead soldering and just will hope that I will be able to flash it later.


Oscar 27th April 2015 - 5:31 pm

what programmer are you using? I think I posted a link to the programmer i used, see previous comment.

Alex 29th April 2015 - 7:17 pm

Hi Oscar,
Bad news
I got the programmer that you used, but meanwhile i have soldered the whole quad (motors and receiver)
Now it does not even power up, i have no idea what i have done wrong though :(
Seems like I will need to order another mainframe :(

Oscar 30th April 2015 - 12:09 am

sh*t! i have a spare one (brand new not open), don’t think i have time to build it now… do you want mine? so you can avoid another month of waiting?

Alex 30th April 2015 - 1:09 am

Thanks a lot for the offer, but i have already ordered another one. It took a couple of weeks last time for it to arrive. What bothers me most is that I don’t know what exactly I did wrong. I don’t recall overheating the board while soldering and i brushed all leftovers or residues of metal wraps or dust. I wonder whether there are ‘most common pitfalls’ for soldering miniature devices…
PS. thank you for accepting to FB group :)
PPS. Are you based in US?

Oscar 30th April 2015 - 2:16 am

no i am based in the UK, you take it you are based in the UK too since you have email address ?
reverse battery polarity maybe? i built 3 of those quad so far, not seen this problem… very odd.

Oscar 30th April 2015 - 2:32 pm

thinking about it, it might be a short somewhere on your soldered board.

Alex 30th April 2015 - 3:40 pm

Yes I am in UK too, based in London :) Maybe then I can borrow your mainboard and when my arrives I can give it back?

I have undone all the parts from the mainboard and will try to wash it in vodka (Russian origins) maybe something is shorting it indeed. Normally if it fries it smells and it is easy to see what is wrong. I am not a pro-solderer, but reasonably handy, so I am quite annoyed with myself.

On the reverse polarity, I am powering it up by USB, was trying to flash it. But the power LED does not light up.

Alex 30th April 2015 - 10:29 pm

Oscar, I hope you are good detective. I unsoldered everything from the board and was poking it a lot. The result is as follows.

No shorting between ground and +5 (or VCC) and +3.3
Oddly, if i connect +5 from Serial adapter and ground but to RX or TX channel the power LED is ON… but if ground connected to ground it LED is OFF

I have no idea what it means…maybe boot loader is a goner? Will try powering up from the battery.

Oscar 1st May 2015 - 3:56 pm

maybe something wrong with your Programmer? it happened to me once the 5V on the programmer wasn’t working properly, i had to use external 5V, and connect GND of programmer to GND of the external power (common ground) to get it working :)

Alex 30th April 2015 - 11:14 pm

It powers up from the battery, still confusing…

alex 3rd May 2015 - 12:30 am

Right, don’t know whether it is still interesting but here is an update.

After fiddling with multimeter for a long time i realised why i had problem with gnd. Basically the contact of that pin was very bad for some reason, desoldering fixed it.

However the clean flight configurator now gives back different error STM32 time out, which I think is basically a fatality of STM chip.

What is interesting is that the unit powers up from the battery. And even charges the battery. So maybe i can use it as a pocket 1s battery charger hahaha

Anyway, will wait for mid-may delivery of another main board.

Oscar 6th May 2015 - 11:59 am

oh well… at least that was a good troubleshooting exercise :D i like your optimism ! haha

Alex 23rd June 2015 - 7:38 pm

Hi there, I am back again. You were right about the delivery. This time i bought a little camera too and it took 2 months!!! for the package to arrive. So, good news first, I flashed the chip ok, everything is fine now. The radio is soldered in too, I just need to bind it to my transmitter (which I should have done before soldering).

I wanted to ask smth. You mentioned that you were going to use 5th channel to change flight modes. Do I need to solder it somewhere to the board for it?

Oscar 1st July 2015 - 1:10 am

i think someone in the past comments pointed out the pin for Ch5, however i have not tested it myself yet.

Miro 23rd March 2015 - 7:47 am

Oscar, I just accidentally hit this blog of yours. Very nice build here!

Just a comment about the HK high energy density LiPo cells you tested. I got 1200 mAh ones for my project where I wanted to have lightest weight 2s battery. Unfortunately, I found out, similarly as you did, that these cells are not performing as they should in terms of max. amps draw (15C). They are able to supply only about 8C max. I ended up using them in 2s2p configuration which gives me twice the capacity and enough max. current at a cost of having actually heavier battery than I expected, not lighter (average battery used for my project is 2s 1300 mAh, about 73 grams, I wanted to reach 52 grams with these HK cells in 2s configuration, but finally I had to go with 2s2p config and 101 grams). Fortunately my quad seems to be quite ok with the added weight and as a bonus it gives me very long flight times now thanks to ultra-large capacity of the pack.

But buyers of these HK cells beware! Their seemingly conservative C-rating of 15C is still overrated by a factor of 2! However, the capacity is more than real – my charger read about 1330 mAh when doing full (dis-)charging cycle (4.2V-3.2V-4.2V) on a randomly picked cell.

Since I read somewhere, that higher C LiPo cells tend to be heavier than lower C ones. So these high energy density cells (i.e. low weight) naturally must have rather very low C. But HK probably wouldn’t sell many of them if they’d stated the real rating of 8C, so they “must” cheat on this (as well as presumably with every other battery they sell, just like many other vendors).

Oscar 23rd March 2015 - 1:09 pm

thanks for sharing your findings Miro!

Fernando Poitivin Goncalves 17th March 2015 - 12:58 pm

Thanks for sharing the project. I’m building one for myself
Have a query though. In which PIN goes RC channel 5 from the RX ?


Oscar 20th March 2015 - 2:52 pm

there is no ch5 on this board. only way to use more than 4 ch is PPM.

Ravi 22nd March 2015 - 5:41 pm

Which pins should be connected to use ppm?

Apologies for the rookie question but i’m nearly there!


sgnel 1st May 2015 - 12:45 am

Actually, you can get 6 channels without ppm, PA8 and PA11 can be used for AUX1 and AUX2.

Oscar 1st May 2015 - 3:57 pm

didn’t know that, i will try that out once i have a chance. Thanks for letting us know!

Sevet 16th March 2015 - 7:35 am

Ordered all the parts, and now waiting the 3 weeks China order penalty :)
Got a friend of mine to build a micro L-C filter which weigh 1.4g with the wires, if it works i’ll make him post the howto, also Hobbyking listened and made a micro LC (After i bought 3 mini LC as last resort, damn them):

Also, look at this cool 10g cam and VTX from surveilzone (also released after i purchaced..):–g-1304

Sevet 16th March 2015 - 7:38 am

Link was to mini L-C… here is the Micro one:

Some comment says there is a problem with the board….

Oscar 16th March 2015 - 9:50 am

Cool, good find, guess I need to test this one :D

Oscar 16th March 2015 - 9:52 am

Again very good find :D thanks for you links.
Happy building!

MrSatoV 14th March 2015 - 2:57 am

This is probably the best micro FPV build/post I’ve seen. I’m in the middle of building an FPV Racer (250), and discovered this suddenly booming format and LOVE it! That little frame is pretty awesome too. Lucky find! The price is around what it would cost me to get another decent frame that size ($8.50 for 80 size from, plus a CC3D from bangood ($14), but gives a little bit more for your money, and makes it a cleaner build. As long as I can run cleanflight, I’m good with the FC. ;-)

I think that frame find and your trial and error results are well worth the read. I learned more on this one post than I have in days of research before it. Thanks for that!

My daughter has a HeroRC H1306 (or was it H1308?) and while it’s good, it’s not great. But being able to use those motors and props will make this build even cheaper. Then we can replace stuff if we want or feel like we need more performance.

I will most likely pick other fpv components, and probably try to get a ubec with filter. has one that’s pretty cheap, quite light, quite small, and has very good reviews. Problem is, as with a lot of their cooler, more unique stuff, it’s forever out of stock. ;-( Like their micro 1.2 ghz vtx. Whaaaaa!

Cheers, and keep up the good work! I’ll be checking back for progress before I actually start the build.

Oscar 15th March 2015 - 6:42 pm

Thank mate :D Appreciate it!
it is a good build, since I built my first one, I bought 2 more of that frame, just in case I lost my first one i still have replacement.
You have a great plan :D The second FPV setup I built gives me the best result :D
1.2Ghz would be so cool, but beware of the cost :)
Sounds like you are having a good time building / flying quads, why don’t you join our facebook group and share your progress?

Daniel 23rd February 2015 - 1:24 am

Hello Oscar,

I really like your build logs and your blog.
I already ordered all parts for the nano copter.

Do you know to which pin is the receiver channel 5 assigned?
Can you post your PID’s please?
Thank you.


Oscar 26th February 2015 - 11:53 am

i don’t think Channel 5 is working in Cleanflight for this board. i tried various pins, I could only get 4ch working.
I will post my PID shortly today.

PaulM 9th March 2015 - 4:30 pm

Oscar, could you please post your PIDs please?
Thank you in advance!

tdunn 22nd June 2015 - 2:19 am

Ch5 is on PA8.

Thanks for the writeup and, especially, posting your pids. Flies nice.

Oscar 23rd June 2015 - 4:17 pm

Thanks tdunn! I will try this when i have a chance!

SImpfally 22nd February 2015 - 10:23 pm

Woops, forgot something :

Is the soft of the alienwii as good as cleanflight?

Oscar 26th February 2015 - 11:52 am

cleanflight is better, it runs on 32bit processor. alienwii runs multiwii, which is written for 8bit processor.

Simpfally 27th February 2015 - 5:48 pm

Damn.. and the alienwii is so expensive!

Is it possible to cut the arms of the pcb and put this on a new frame?
Also, do you think it can handle 8.5mm motors? (I can’t find any info on the FET)
Last question : can you go in acro mode?

Thanks a lot, this blog is awesome and this might be my next project!

Oscar 28th February 2015 - 5:46 pm

This board has FET on the arms, so I don’t think you can just cut it.
you can probably drill the holes bigger to fit a 8.5mm motor, but the FET might not be powerful enough.

Yes, in the video I was flying acro mode. It’s exactly like a normal size quadcopter in terms of flight modes and PID…

SImpfally 22nd February 2015 - 10:15 pm

Do you think it may have been easier to use a frame a little bit bigger and an alienwii fc?

Oscar 26th February 2015 - 11:51 am

no, i think this is easier, and cheaper.

Turbini 22nd February 2015 - 12:16 pm

Thanks a lot for this info, this is exactly what I was looking for!

Edro 21st February 2015 - 3:11 am

I know they are much more expensive but what about these?

Oscar 21st February 2015 - 7:34 pm

not sure, haven’t tested those.

MrSatoV 14th March 2015 - 2:39 am

I don’t think those motors are worth the money – but they should “work”. Better? I doubt it. I’ve seen 7mm motors that can turn up to 50krpm, those turn max 14k. And at $13 a piece, vs a few bucks for a set… totally not worth it. Any 7mm coreless dc motor should work… just shop around for what you think is best for your purposes.

Lee 20th February 2015 - 11:26 pm

Can someone please provide a link with the correct usb adapter on Ebay?

Thank you!!

Asier 20th February 2015 - 4:59 pm

Hello Oscar,
I have built mine with chaoli 820-15 motors, sum ppm and orangerx satellite, I have noticed brownouts when I push the throttle stick above the middle. I have connected my satellite to 3.3v regulared input, but it seems the battery can’t handle the power needs of the motors, I use 750mah Turnigy 35C-70C, which theoretically could handle 5-6A easily. That motors on full throttle reach 1.45A each with my props.
I have tested those batteries and when they are fully charged at 4.2v and 3A load, they go down to 3.1-3.2v… They seem to handle 2A much better with 3.7v under load.

I’m considering to feed my rx with a very small battery for helicopters of 1-3g, which also will be usefull for the FPV gear.

What do you think?

Thanks in advance,

Oscar 24th February 2015 - 2:13 pm

sorry when you say “brownouts”, what exactly happens? does the RX get damaged?

LUNG 19th February 2015 - 4:24 pm

dear OscarLiang
can you tell me . this ( FT232RL FTDI USB to TTL Serial Adapter Module). IS FOR flash the firmware to connect
The CJMCU (×150.jpg )

thank you

Oscar 21st February 2015 - 12:05 am

Hi, I am not sure, the One I bought was called ” USB to TTL UART CP2104 Serial Converter “.

Adam 17th February 2015 - 4:48 am

Amazing build log. I’m currently using PID controller 1 on mine, I’ll have to try 3!

Jigu 14th February 2015 - 6:08 pm

i am looking forward to make a quadcopter, but my less knowlege in the programming side is draging me behind.
if any please help me make a quadcopter.
Thanks in advance.

Oscar 16th February 2015 - 5:04 pm

building a quadcopter is a long story. Join the Facebook group so you can ask questions you have.

Jarl Jakobsen 14th February 2015 - 9:03 am

Awesome build! As always your method and research are impeccable. Since you have put a lot of thought into this, I was wondering if you had considered the 10mw TX5813 as a replacement for video TX. Since range is limited by RX, wouldn’t it save power consumption and limit heat? Also, to eliminate noise and heat from running the TX over 3.3 would the pololu S7V8F3 work?

Sorry for babbling along ;-) Again, thank you for a great blog!


Oscar 16th February 2015 - 4:57 pm

definitely it would save power. But it wouldn’t solve the noise problem. You see, the noise is coming from the motors.
Unless you have a great power filter, otherwise I think a separate battery is the only solution :) the pololu S7v8F3 is only a voltage regulator, not sure if it does voltage filter at all :)