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.
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.
- Parts List
- FC & Frame
- Firmware Flashing
- Radio Receiver
- Motors & Props
- Cleanflight Config
- FPV Gear
- Building Tips and Updates
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
Here was my shopping list.
Quadcopter Body – $43
FPV Gear – $48
- Video Receiver RC305 – $17
- Video Transmitter TX5823 – $11
- Antenna (Coxial Cable or Wire) – Free
- Mini Camera – $20
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.
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.
USART1 (along with power) is on the following pins.
- 3V3 – Power +3.3v
- 5V – Power +5v
USART2 is the following pins.
- PA2 USART2 TX
- PA3 USART2 RX
Radio Receiver Connections
- PA0 RC Channel 1
- PA1 RC Channel 2
- PA2 RC Channel 3 / USART2 TX
- PA3 RC Channel 4 / USART2 RX
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.
- 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.
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.
And then solder the wires directly to the pads. We only need to connect one VCC and one GND on the receiver.
* 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.
Motors and Props for Micro Quadcopter
Brushed motors in this quad are much simpler and smaller than Brushless motors I normally use.
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|
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.
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.
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.
|HK 0716 Brushed||n/a||$1.4|
|Hubsan H107L Upgraded||3.4g||$2.3|
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.
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.
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.
LiPo Battery Choices
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.
- 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 TPA 0
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.
The inductance can be calculated by this 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.
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!
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.
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.
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.
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.