This is my approach to probably the smallest and lightest STM32F3 based flight controller with an integrated FrSky compatible receiver so far — tinyFISH FC.
Recently some Chinese sellers picked up my design, removed the fishpepper logo, produced and started selling my design under their name. They violate the license under which I shared the design with everybody. I wanted to have the design open so everyone can learn from it. It is really a pity that they decided to remove my logo and do not mention where they got their design from and sell it as theirs. Right now I am not sure if I am going to continue publishing my new designs under an open source license…
But let’s start from the beginning: I recently built my Tinywhoop-F3, a very small and lightweight indoor FPV quadcopter. Unfortunately it uses brushed motors – they wear out quite frequently. As the winter is approaching germany it is time to build something new — an indoor brushless quadcopter – yay!
I already have an LKTR120 that flies great, but it is to heavy for indoor use (80g total weight including a 2S 450mAh battery and FPV). So I thought about building something in the range of <30-40g but brushless! Beeing that small will require some special tiny components: FC, RX, ESC, motors … When Banggood recently released a very nice, cheap, and lightweight 1103 brushless motor, I thought it’s feasible to build an affordable 1S brushed fpv quadcopter with sufficient thrust. In the end I suceeded, see my project pepperF1SH for the world’s lightest FPV quadcopter.
Redefining light and small (1.7g!)
Even though this flight controller is tiny it includes a lot of features you will rarely find on bigger FCs yet. And the best part: it weights only 1.7grams.
- 16x16mm hole to hole spacing (20x20mm outer dimension)
- integrated FrSky compatible SBUS receiver (basically an integrated uSKY rx)
- STM32F3 CPU
- MPU-6000 SPI gyro
- supports DSHOT
- integrated Blackbox dataflash
- integrated voltage- and current-sensor
- buzzer output
- rgb led output
- open hardware
- (optional) add on PCB for quad brushed support
And the best: This is completely open source and open hardware! This FC will run the opensource flight control software betaflight, the opensource receiver firmware Opensky, and all hardware design files are open source as well!
The logic on this FC runs at 3.0V (!) and it is powered by a special low drop, wide input, linear voltage regulator. This way it runs fine on 1S up to 3S batteries. Most other electronics should be fine with the 3.0V I/O voltage level.
Open Hardware
Please refer to latest post “tinyFISH – how to build your own” for a detailed list of components and links to the open hardware design files. This should give you all the information you need to build your own super lightweight tinyFISH flight controller. If something is missing, please let me know!
Changelog:
v0.2b:
– fixed ESC numbering
– changed voltage reg to 3.1V
v0.2:
– changed bind pads to a button – fixed led values
– better routing for the current shunt
v0.1:
– initial release
You might wonder why I release all that for free. The reason is simple, I just love open source stuff. Most of my knowledge is based on tinkering with open source stuff since my childhood. This is my way to give something back to the community so please respect the license and release all work you do based on my design under the same license.
Flashing
Flashing betaflight for the first time is easy, bridge the boot pads and upload the appropriate firmware using the DFU bootloader. Future upgrades can be done by using the betaflight bootloader, no need to bridge the boot pad.
Flashing the receiver firmware for the first time requires an in circuit programmer. I used a cc debugger, but others reported that the arduino or raspberry cc tool hardware worked fine for flashing CC2510 targets. After this initial flashing further upgrades can be done using the serial passthrough mode from within betaflight. The recent OpenSky code for CC2510 targets comes with a stm32 compatible bootloader (yes, thats right, I implemented the stm32 bootloader protocol on the CC2510). I will post details on how to use the betaflight gui to update the OpenSky firmware soon.
Status
All hardware has been verified to be working. Some friends and myself really enjoy flying with the 30g pepperFISH fpv copter for quite some time now.
The betaflight flight controller software has tested support for this target (it is called TINYFISH). In addition to that, the OpenSky master branch also has support for the integrated rx. Build your own hex using the target tinyfish.
Where to buy
I do not sell this. You can not buy it from me. But you can build your own, this page should serve you all you need.
Some sellers picked up my design files and are selling the design now. See this list of vendors.
News
Here is a list of recent blog posts covering the latest status of my tinyFISH FC project:
- tinyFISH FC / F3D8 buzzer and led1 not working in betaflight 3.1.7 — FIX! (7/19/2017)
- Not all motors spinning on full battery with F3D8 + Star 4 ESC — Fix it! (6/21/2017)
- tinyFISH FC & tinyPEPPER ESC — Where to buy?! (5/9/2017)
- Racerstar F3D8 VS fishpepper tinyFISH FC (3/31/2017)
- tinyFISH FC – How to build your own! [revision 0.2b] (3/21/2017)
- OpenSky / tinyFISH — How to update the OpenSky receiver firmware through betaflight (2/24/2017)
- tinyFISH FC — report of the first successful community built fc (1/27/2017)
- tinyFISH FC — soldering party! (1/19/2017)
- tinyFISH FC – initial setup & flashing tutorial II/II (1/18/2017)
- tinyFISH FC — betaflight current sensor calibration (1/18/2017)
- tinyFISH FC – initial setup & flashing tutorial I/II (1/17/2017)
- tinyFISH FC – How to build your own! [revision 0.2] (1/10/2017)
- tinyFISH FC – open release! (12/30/2016)
- tinyFISH FC – How to build your own! [revision 0.1] (12/30/2016)
- tinyFISH FC – BOM [rev 0.1] (12/30/2016)
- pepperF1SH – Part VI: new prototype & testing some flips (12/26/2016)
- pepperF1SH – Part II: (preliminary) MAIDEN! (12/18/2016)
- tinyFISH FC – a first test with betaflight (11/22/2016)
Disclaimer
Please refer to my disclaimer that applies to all projects presented on this blog. Make sure that you do not violate any transmission laws in your country.