AfroFlight Naze32 Flight Controller Review

December 19, 2013 15:59 | By | 6 Comments

8/16bit flight controllers are outmoded, at least that’s what the folks at AbuseMark are telling us. But are 32 bits really making a difference? Let’s find out in our Naze32 review.

The AfroFlight32, or Naze32, or “Fun Fly Controller” is the brainchild of “AbuseMark” Timecop. Himself being a staunch opponent of DJI, Timecop has a colorful history on various RC discussion forums, mixed in with some really good multirotor-optimized ESCs which you can buy from HobbyKing.


The Naze32 is extremely well made and shows that its creator knows about electronic products engineering. Timecop has released five different variations of his hardware, we tested the R4 release.


  • 36x36mm 2 layer pcb, 30.5mm mounting pattern
  • STM32F103CxT6 CPU (32bit ARM Cortex M3, 72MHz, 64K/128K flash. Pin compatible with upcoming STM32F3 Cortex M4)
  • Invensense MPU6050 3-axis gyro (rev4+)
  • FreeScale MMA8452Q digital accelerometer
  • Honeywell HMC5883L digital compass
  • MEAS-SPEC MS5611-01BA03 pressure sensor
  • 6 + 8 PWM I/O can remap as input or output for RC/CPPM/Motors/Servos
  • second UART accessible for Spektrum Satellite RX or GPS
  • CPPM (up to 12 channels) RC input
  • 8 channel standard PWM RC input
  • USB connector for telemetry and firmware update (through-hole Mini-B)
  • PWM (50..1kHz) motor output for up to 6 motors, can be remapped with other pins for 8 motors + camera stabilization
  • Onboard USB connector
  • Battery voltage monitoring and low-voltage alarm
  • Buzzer for alarm/user notification
  • Max 5.5V power via servo connector
  • 2 programmable status LEDs, 1 constant power LED.


Perversely, the rev4 version we tested has an MPU-6050 but uses only its gyro part, with a separate MMA8452 accelerometer thrown in. This is very much pointless as the MPU6050 has a very good acc built in, which explains why rev5 of this board gets rid of the separate accelerometer chip.

The biggest “star” on this board is of course the 32-bit ARM Cortex M3 processor which runs at a blazing fast 72 MHz. At least, that’s blazing fast compared to the usual Atmel-based flight controllers out there like the Crius AIO, which runs at a mere 16MHz.



The Naze32 uses it’s own flavor of MultiWii called “baseflight”. In essence, this is an on-going port of the MultiWii codebase to the STM32 CPU along with enhancements and corrections. A lot of work is going into the stabilization and PID code, and there are constant updates on the public google code repository. This is both good news and bad news: On one hand you can use all your MultiWii knowledge, it even uses the same PC configuration software, but on the other hand… it’s still MultiWii.

There’s also another source port called “baseflight plus”, but that project has been dormant for many months now as far as we could find.

Flashing the software and setting up the FC is straightforward thanks to an excellent PDF manual which explains the (slightly different) procedure and tools used in this process. But don’t get us wrong: This flight controller, though it may well come with some software preinstalled, is not for the faint of heart. If the thought of flashing firmware or entering bootloader mode scares you, the Naze32 is not for you.

After flashing, firing up MultiWiiGui lets you check and calibrate the sensors as well as set up the initial PID parameters.


Needless to say, the same setup dance as for every other flight controller needs to be performed: Try the default values, increase P until the copter starts to wobble then back down a bit, increase D until the copter starts to wobble then back down a bit, increase P again (you should be able to increase P a bit further after dialing up D), then tune up the I-term until the craft holds an angle with authority and without the characteristic slow-wobble. Slow wobbling is a telltale sign of a too high I-term.

Flight Performance

So with 32 bits instead of 8, 72MHz instead of 16MHz, we’d love to be able to tell you that the result feels twice as good. And perhaps if your only experience is an old MultiWii flight controller, this may well be the case. That said, the short answer is: No, it doesn’t feel better than a well-tuned Crius AIO. It doesn’t even feel better than the KK 2.0. Yes autolevel works fine, but using the latest baseflight as of this writing, it is not as snappy as on the KK2 with v1.6+ firmware. We did not test GPS position hold, judging from the available user feedback this seems to work fine but again, it’s MultiWii, which means waypoints are still a work in progress. Then there’s various disclaimers and warning signs. Here’s what it says on the Naze32 website:

Note: This hardware cannot be used with any DJI frames. This includes: FlameWheel 330, 450, 550, or any future or past frames released by DJI.

Really? First of all, the F330 and 450 are the most popular frames out there and there are many cheap copies that work excellently, should you be unwilling to pay the premium price of DJI gear. Saying that your flight controller “cannot be used” with these is not a very smart thing to do. But “any future or past frames released by DJI”? Will it detect the company sticker on the frame and cease to work?


Of course not. The Naze32 worked fine on any DJI frame we tested, and it didn’t work better or worse than on a 450-size carbon-fiber frame that is decidedly not made by DJI.

But really, the fact is that for all its supposed high-end power and 32-bit goodness, the Naze32 flight results are underwhelming, and the setup process is no less arduous than that of a Crius AIO. The flight feeling is crisp and the hardware is excellent, no question about it, but the main feature – a faster 32-bit CPU and improved codebase – fail to set the world on fire.


With so many choices out there, it’s tough to recommend the Naze32. In it’s favor is definitely the solid hardware and sensors, as well as the fact that the baseflight firmware sees continued development even to date. If this were the only open source flight controller out there, sure, but times moved on, and so we have a range of players:

a) The DJI Naza M2 including GPS is down below $300 bucks in some places. Overpriced, perhaps, but this already includes GPS as well as all the guesswork already done for you. And say what you want about DJI,  their products do work, even though their sensors are a few years behind and the prices rather high.

b) The Crius AIO – sells for under $100 complete with GPS and wireless telemetry link, or about $48 for just the flight controller. The sensors are excellent on this one and even though the CPU is a lot less powerful, it runs Megapirate and can do GPS waypoints.

c) The KK 2.0 costs $30 and has an integrated display. It is firmware upgradeable and features some of the most amazing self-level performance out there at an unbeatable price. Easier to set up than any DJI FC.

d) The KK 2.1 replaces the KK 2.0 and adds better gyro/accelerometer sensors, fixing the one issue we had with the old version. It also costs just $30.

So with all that in mind, the Naze32 is somewhere inbetween, at a cost of about USD $50. In terms of setup it is as complex as the Crius AIO, but in practice it doesn’t bring anything new to the table. Keep in mind though that the initial Naze32 came out first – back when that happened the Atmel-based MultiWii boards were outperformed of course. But with the arrival of the KK 2.0 a lot changed in the world of fun-fly quadcopters.


To put it another way: Just earlier this year, we did a series on a high-performance quadcopter ideal for crazy maneuvers and flying without fear of breaking anything expensive. If the KK 2.0/2.1 didn’t exist we would pick the Naze32 as flight controller. But here’s the thing: The KK boards are the most user friendly flight controller out there. There is no easier way to get flying, short of buying a RTF package for more money. Even if you get a DJI Naza you have to mess with your PC and tune everthing. The Naze32 misses out mostly because it’s a good flight controller that is too hard to set up for novices. And it costs $20 more than a KK 2.1

Bottom line: If you want GPS and/or altitude hold, get a Crius or a Pixhawk or an APM 2.6. If you just want excellent stabilization and autolevel for doing flips and whatnot, get a KK 2.1.

The Naze 32 is a solid product with excellent sensors but as a product, it’s outdated, and held back further by its MultiWii roots.


Tags: , , , ,

Category: Reviews

About the Author ()

FPVCentral is a private, independent news and review site for all things related to First Person View RC model flight. Covering everything from hobby, commercial and military drones, RC models and electronics related to FPV flight, we are not sponsored by any manufacturer or affiliated with any company or project.

Comments (6)

Trackback URL | Comments RSS Feed

  1. RenatoA says:

    Your article has two major flaws that should tell everyone to take your conclusions with a big grain of salt…
    First, APM and others Atmega FC are not 16 bit, but 8 bit.
    Second, the accel part of 6050 has been replaced with a good reason, it is not as good as you claim, the fact that you aren’t able to sense how bad it is, is due to 8 bit processing, switch to 32 bit and will understand how severe is flawed, vibration/bias/axis cross sensitivity/etc.
    It’s not fair to compare Kalman filtering implemented as 8 bit integers in APM/MPNG family with a serious 32 bit floating point implementation in a STM32 environment.
    What can I say more if the author compare this board against KK2.0, simply different class of FC.

    • fpvcentral says:

      You are correct about APM being 8-bit, the point of this article was the 8bit vs. 32 bit debate. I have corrected the article where needed.

      32 bits allows for higher precision at a lower processing cost. However in the context of multicopters, the question is whether you as pilot notice a difference.

      A well-tuned kk2 performs with impeccable precision and speed. A Crius AIO is able to drive ESCs at a high frequency. And a vibrating frame with badly balanced props is not magically “fixed” by 32 bit precision.

      Put them next to each other and do the comparison. And don’t forget, we’re reviewing the ease of setup and tuning here, too.

      Last but not least, the MPU 6050 supports sensor fusion modes not possible with an external ACC. And finally your last statement is incorrect, in fact the latest rev5 of the naze32 ditches the external ACC in favor of the integrated MPU6050 ACC.

  2. KipK says:

    you missed some point on naze32.

    – because of the processing power and bigger memory, compared to multiwii, all the settings can be changed at runtime trough the CLI instead of recompiling the whole firmware on arduino.
    – naze32 can handle softserial, and outut different kind of telemetry ( frsky, msp, ltm, hott )
    – there’s 2 kind of pid loop you can select on naze. It seems you’ve only tested the multiwii one. You have a second one more optimized for 32 bit, withh an innner loop for rate and an outer loop for attitude( a bit like Openpilot/Taulabs )
    – on you Rev 4 you can totally use only the mpu6050 acc ( select it on the CLI )
    – neither multiwii nor baseflight or KK use embedded mpu6050 sensor fusion. We’ve tested it a lot previously and it’s not as good as actual solution. External filtering & data fusion gave us better flight perf.
    – you’ve definitively should test the naze using the Chrome baseflight configurator, not multiwii gui:

  3. Jenny Xu says:

    Hello Sir or Madam,

    Greetings from Favorite Electronics Jenny as a Brushless ESC manufacturer in China.

    We would like to introduce our 12A SimonK ESC, it supports 2-4S Lipo with 5V/1A BEC or OPTO.

    The PCB board is 3 oz thickness copper for both inside and outside, PCB is 3 layer blind pole board so the heat dispense is good.

    And here is the video one customer using our 12A SimonK ESC for testing:

    Hope to hear back from you soon to establish long term business relationship. Thank you.

    Best Regards
    Jenny Xu
    Skype: jennyxcy2008

  4. Pasan says:

    Clearly you have lost the plot here. The naze32 is targeted towards the acro pilot, not those who are looking for leisurely stroll through the park.

    • Lunithy says:

      Pasan I hope now in 2017b you have learnt that you can tune an stm32 based board to be as smooth or lazy as you like far superior to any 8 or 16 bit.

Leave a Reply