Friday, April 03, 2015

DIY conversion of an AfroFlight Acro Naze32 to the full version

Introduction

This guide applies to at least rev4 and rev5 of the PCB, however only rev5 has the dataflash option.

This will guide you in adding:
  • Barometer
  • Magnetometer
  • Dataflash (EEPROM)
  • Capacitors to suit the above
This is a "DIY" guide, but most of it requires surface mount soldering experience and equipment, i.e. solder paste, hot air gun, tweezers, flux, and good eyesight.

The Naze Schematic PDF is here: https://code.google.com/p/afrodevices/downloads/list

I have included links to Element 14 (Farnell), but you can use octopart.com, digikey.commouser.com, or your favourite component supplier to get the parts.

Hints

  • Remove any existing solder from the pads before you start.
  • Do one section at a time, testing with USB connection to Cleanflight as you go.
  • If you use IPA to clean the board, it will mess up the barometer until it dries out.  The barometer's datasheet warns against getting anything in it at all!

Shopping list

Dataflash (EEPROM)

Part: M25P16 - http://au.element14.com/micron/m25p16-vmn6p/memory-flash-serial-16mbit-8nsoic/dp/1734973
Cost: $2
Datasheet: http://www.farnell.com/datasheets/158118.pdf
Decoupling capacitor: 100nF 0603  (see below)
Orientation: Pin 1 is on the side with the bevelled edge.  It goes by the indicated pin on the PCB.
Skill level: Medium-easy.  Can be done with a soldering iron, but the capacitor can be a bit fiddly if you don't have fine tipped tweezers.

Note that this a 16Mb (megabit) chip, giving 2 megabytes of storage.  A few other chips, up to 128Mbit, are supported by the Cleanflight firmware.  See lines 48 to 52 of the source code here: https://github.com/cleanflight/cleanflight/blob/master/src/main/drivers/flash_m25p16.c -- currently the list is: M25P16, N25Q064, W25Q64, N25Q128, and W25Q128.

Barometer

Cost: $12
Datasheet: http://www.farnell.com/datasheets/1756128.pdf
Decoupling capacitor: 100nF 0603 (see below)
Orientation: Pin 1 is the pin on the underside with an extra dot beside it, and there is a corresponding dot on the top of the package.  This pin goes towards the inside of the Naze PCB.
Skill level: Medium.  Requires hot-air gun, solder paste, and some experience with this sort of job.

Magnetometer

Part: HMC5883L - http://au.element14.com/honeywell-m-ps/hmc5883l-tr/magnetic-sensor-on-tapereel/dp/1886419
Cost: $4
Datasheet: http://www.honeywell.com/sites/servlet/com.merx.npoint.servlets.DocumentServlet?docid=DCB000D72-C325-A8BE-588A-322B3EC915DE
Decoupling capacitors: Two of 100nF 0603 (see below)
Other capacitors: 
Orientation: Pin 1 is marked on the package with a dot, and goes on the innermost edge of the footprint.
Skill Level: Advanced.  The pads on this package are tiny, and are completely underneath.

Decoupling Capacitors

For all decoupling capacitors, use a 100nF 0603.  For example:

What Goes Where

Overview

To get a general idea of what goes where, see the following.  The cleanflight firmware detects what is present when it starts up, so you can do as many or as few of these as you wish.


Dataflash

The dataflash and decoupling capacitor:


Magnetometer

The magnetometer, decoupling capacitors, and two other capacitors used by the chip:

Barometer

The barometer, and decoupling capacitor:

Finished

All components fitted:


Magnetometer and Barometer readings in Cleanflight:



10 comments:

Unknown said...

That is a lot of work. It makes the $20 upgrade to the full board seem more than reasonable.

sstteevvee said...

Yeah. Even in parts alone, the $20 upgrade is good value.

When I was buying my board it was impossible to find the full version, only the Acro was available, so this was the only way to get the full version.

If you're only interested in the data logging, for example, then it is just $2 to add, rather than the full price.

Unknown said...

So I bought two of the above 16mb chips from the link above, bought for two Naze 32's.. Did everything as above.

Soldered them in and it only shows 2mb. On both boards, desoldered and swapped orientation and chips between boards.. Chip wasn't read at all so obviously orientation was correct as I followed instructions anyway.

Do you know why it can't show more than 2MB in cleanflight? Could it be both data chips are faulty? Which I doubt..

Driving me crazy, I can only record 30-40secs of logs.

Thanks in advance if you read this!

Unknown said...

HMM, try going to the CLI and erasing flash with the flash_erase command.

Then use the flash_info command and paste here.

WTF, the only people that are on this forum have the last name of Jacobs. LOL.

Unknown said...

LOL it has a Jacobs attraction obviously..

Been trying to figure this out for two weeks.. 10 mins after writing this comment I find the answer. Thanks for your quick reply too!!!

The linked DataChip above is a 16Mbit which is 2MB.. That is the problem, I was reading it as 16MB.

Might want to change the link above if possible..

Thanks for the reply anyway.!

Unknown said...
This comment has been removed by the author.
Unknown said...

Cool, I'm glad you figured it out. Check out our site for more quad questions and answers at quadquestions.com :)

Unknown said...

yea be careful the numbers are confusing think its atleast 64mbit you want not the 32 or 16. 64 or 128mbit is what we need. you should make it clearer as people going to buy what youve linked and get messed up.

Is there no way to us 8dip adaptor with a sd card or even have a sd card in a stack that wires to naze? like pdb-naze-sd card.
Cant the usb have a sd card attached? and read from usb?

Thought hole point was to seperate the mag from interferance yet tou mounted ot on the board?
My impression was you buy this board and do seperate mag,gps. Id like to have mag baro and gps in 1 tbh the barometric sensors are silly money il go for bmp280 thats on a 10dpf board and mount woth gps or satelite I think.
Then work something out for memory can get the 32mbit cheap ish but dont think that good enough is it?

My ppan was to add memory then do seperate mag and baro with gps but costs go up so think a 10dof gyro and a 64mbit chip might be the way I go. Maybe put the 10dof in a stack with naze but at top of stack to avoid interferance.

So many options. dunno if I should even bother. I looked at expensiver boards and they either got a mixture of good and bad components. This is why I went for this version over all. I couldve got deluxe or a spracing for few bucks so may forget all this and upgrade when time comes.

Problem is to many options makes it confusing and there is no perfect fc.
All expensive 1s were pretty much same as rev5 parts and the 10dof uses whack parts so for me seemed best to go the route I have but now im thinking as long as I got some kind of safety im goodb so im concentrate on gps and satelite.

Id like to have interchangable gps, satelites so can swap from quad to quad. or atleast have 1 or even a 10dof gyro with gps that I can interchange on anyboard.

Unknown said...

Very curious as how you figured out what components were needed? Very impressive.

sstteevvee said...

@shane : I was able to figure out the components by using the schematic (linked above) to find the part numbers, then searching on a site like digikey.com for those parts, in the correct sized package (footprint) to fit the board. Then did some probing with my multimeter to determine which way around the chips had to go (mainly by locating the ground pin pads)

@findmekicks, @robin.. Yeah, the 16Mb is megabit, not megabyte! The supported flash chip part numbers can be seen on lines 48-52 of the source code here, which seems to only support very specific chips, rather than generically probing the chip to find the capacity and working with that: https://github.com/cleanflight/cleanflight/blob/master/src/main/drivers/flash_m25p16.c

I'll add some extra words to my original post to explain the memory chip choices a bit better.