Back in december of 2015 my brother and I decided to build another fpv multicopter. We came up with the following properties/goals to aim for:
- tiny, we want it to be as small as possible
- fpv equipped
- onboard receiver for FrSky or Spektrum but still be able to use different rx as well
- clean-/betaflight compatible
- 1s single cell LiPo-Battery
- 8.5mm brushed motors
- simple mosfet driver as esc
- 3d printed arms and landing gear
- PCB-base plate
- name MC3D (MultiCopter3D)
That's it for the technical aspects! As far as the design goes, we wanted something similar to the nqx980. So my brother who is into 3d-modeling started to draw a simple shape of the base plate.
Sorry for the poor image quality! At this point we haven't thought about publishing the project and only rough documented the process.
With that done I've converted the shape into a PCB outline and started drawing the schematic.
Because we're aiming for a compatible board to CC3D and others running cleanflight I choose the same stm32f1 mcu and mpu6000 accelerometer as used on a cc3d & atom. For the esc's the choice was pretty straight foreward. Small SOT32 package mosfet very simple driving circuit and some noise filtering with caps. Next was the receiver. I thought a lot about reverse engineering the protcol used by FrSky/Spektrum but never realy took it into action. So after a quick google search, to get at least some idea of the enemy, I found a
post at the rcgroups forum by midelic, where he published a diy FrSky receiver. So all the fun part of reverse engineering was already done! Awesome work guys! Using something "of the shelf", I simply added his schematic into my project and linked all the necessary pins. That's it for the receiver!
So the schematic was done after just a few evenings of work and I now could focus on the layout part.
To keep the cost low, I wanted to make the board with 2 layers only instead of four. This has unfortunately some disadvantages. One of them is a increased noise floor, which really has to be considered, because we're using noise sensitive components like the mpu6000. Usually a board like this has four or more layers. Two of them with a "flood fill" to keep the inductance as low as possible. Furthermore the routing is way simpler. But as I said, we'll stay on a 2 layer pcb.
In order to get rid of at least some problems, I floodfilled both layers and attached them to ground. And to prevent slight potential differences between the layers and also for a better noisefloor I stiched the board on the surronding chip areas with vias. You might ask what has happend to the positive connection which also does provide power to all 4 main corners of the pcb for the escs? Well I really thought a lot about this one track and finally come up with just one 200-300 mil track snaking its way right at the boards edge.
At the same time my brother drew the rest of the parts. Here is what he came up with.
To get an idea of the dimensions we testprinted one arm of the frame on our diy TinyBoy.
Surprisingly the arm had a really good strength to weight ratio. Huge success!
The next weeks I spend on optimising the pcb layout and finally in mid january of 2016 I placed my order at a pcb manufacurer in china to produce our pcbs. After waiting the usual 3-4 weeks the parcel arrived in good shape in my mailbox.
The quality was awesome! Even the large silkscreen on the bottom, covering some vias was pretty good considering the price to performance ratio.
Next step was to assemble the first prototype! Because we want to spend as little as possible we recycled almost every part of an old cc3d atom and placed them on our new board. The hardest part was to get the old leadfree solder of the pads, without damaging them. But with the iron set to a low temperature and just a minimal amount of pressure this was quickly done.
|
Workbench |
|
Comparing the MPU6000 to a MicroSd |
|
A closer look to the just soldered MPU6000 |
|
Almost finished prototype |
Now the moment of truth! Lets plug it into the USB and try to flash...
And success! On first try the board connected without any problem to the Cleanflight config. After calibrating the accelerometer I had a really big smile on my face! Everything worked like a dream.
|
First connect ever to our first prototype |
To be continued....