Since rcgroups unfortunately demised, a thread is created about this piece of hardware.
Naze32 is a small (36x36mm) flight control based on 32-bit STM32 processor running at 72MHz. With current attitude code from MultiWii, CPU spends more than 90% time at idle.
However, with a proper 32bit platform, the following things are possible:
- realtime hardware debugging via SWD connector
- 1us resolution hardware PWM for both input and output
- all supported sensors auto-detected, no need to recompile
- all user-configurable parameters / features are changeable at runtime through serial console
- plenty of CPU time to experiment with better filtering/attitude algorithms (kalman etc)
- 20k SRAM (mostly unused), 128k Flash (currently ~60k used)
Detailed hardware description in the wiki:
Current revision is pink pcb rev5, with MPU6050, MS5611, and HMC5883L. For more hardware details see the above wiki page.
Software is open-source and based on (and kept mostly up-to-date with) MultiWii software for 8-bit AVR processors.
Software repository: http://github.com/multiwii/baseflight/
Patches / fixes / new features are welcome but MUST follow the same coding style.
User's manual (work in progress): http://www.abusemark.com/downloads/naze32_rev3.pdf
User PID/etc settings spreadsheet (managed by lebrett@rcgroups)
https://docs.google.com/spreadsheet/ccc ... 5c1E#gid=0
A friendly reminder: You cannot use this hardware with any DJI frames.
This includes: FlameWheel 330, 450, 550, or any future or past frames released by DJI.
GPS support is NOT FLIGHT TESTED - only to confirm data reception from GPS module. "I2C" GPS is NOT supported and never will be. There is no need for such hacks on proper hardware.
CP2102 USB driver
http://www.silabs.com/products/mcu/page ... ivers.aspx
Download the vcp drivers for your OS.
Issues have been reported with old CP2102 drivers not working / causing "device cannot be started" nonsense in Windows 7 x64, if you plug the USB connector and get something similar with a previously loaded driver, go to device manager, and 'uninstall driver', making sure to check [x] delete driver files then reconnect USB and install latest driver from the URL above.]
Firmware update instructions
Easy way : Install Chrome baseflight configurator and use its built-in firmware flashing mode.
Requires STM32 Flash Loader from http://code.google.com/p/afrodevices/downloads/list
Currently hosting (older) version 2.4.0, because latest version available from ST directly (2.5.0) is broken.
Firmware: baseflight latest stable version @ http://code.google.com/p/afrodevices/downloads/list
latest development version (usually flight tested)
https://github.com/multiwii/baseflight/ ... flight.hex
(right click on 'view raw', save as... )
Latest firmware shows build version by typing "version" in cli.
Firmware update procedure uses STM32's built in ROM bootloader. This means that's not something a user can break/erase by uploading wrong data etc. If standard update fails, recovery always works as it goes directly to this bootloader.
Standard update instructions
- Use terminal emulator (suggested Hercules Setup) connect to USB COM Port at 115200 8bit NO Parity 1 Stopbit
- Send 'R' (no need to enter key, but must be capital R). Easiest is to type R into one of the 3 transmit boxes and click [Send] button. Then close the port/Hercules Setup.
- All 3 leds will be ON.
- Start STM32 Flash Loader, choose USB COM port, make sure parity is EVEN, don't change any other setting.
- Click Next until it goes to erase/download/upload page. Here, make sure 'Download' is checked, check [jump to user program] and if needed [global erase]. The latter will clear all settings (newer firmware might also clear settings depending on config struct version. It's better to backup PIDs etc if needed).
- Browse to the baseflight firmware you want.
- Click next
- When all done, the leds will blink standard startup pattern, if not, unplug usb and replug.
Rescue / recovery update instructions
If transmitting 'R' in above method doesn't work, if flash fails, if firmware is too old, etc, the following method is to be used.
- Short out bootloader pads on the board with tweezers or similar. Do not solder them together or any other nonsense. If it's difficult to keep them shorted while plugging in USB cable, then plug the board in then connect the other end of cable to PC while keeping pads shorted.
- Plug in USB cable. Only POWER light will be on - 2 status lights are OFF. If they blink, repeat step1 after removing USB - means the pads weren't shorted correctly.
- Bootloader pads can now be unshorted.
- Go to step 4) from the instructions above. Note, ONLY power (blue) led will be on at this point, the other 2 must be off.
Can't get ST Flash Loader demonstrator to work? Chances are you need UART DLL update:
http://code.google.com/p/afrodevices/do ... TBLLIB.zip
Place the DLL in specified location and re-run flashing procedure from step 1.
Configuration software / GUI
Any multiwii protocol 2.3 or above compatible GUI will work. All advanced settings are always accessible by serial console (connect to the serial port of Naze32 and press '#' key to enter console.
- Usual Java-based MultiWiiConf 2.3 and above
- Chrome baseflight configurator (https://chrome.google.com/webstore/deta ... figk?hl=en)
- mw-wingui by EosBandi ( http://code.google.com/p/mw-wingui/ )
- nicodh Android http://www.rcgroups.com/forums/showthread.php?t=1667520 and Windows GUI http://www.rcgroups.com/forums/showthread.php?t=1667516
Official IRC channel for all things MultiWii is #multiwii on freenode irc network. If you don't know what that is, don't worry about it, but if you do, you're welcome to stop by and say hi.
Hardware is available from abusemark.com