Datalog memory for AIO boards (or any Arduino board with ISP)

Following board can be used for any board with working SPI on ISP connector but is primary targeted for copters.

Biggest difference between Crius AIOP v.1 and v.2 is 16Mb dataflash on board. ArduCopter have same capability but Crius v.1 or Hobby King clone AIO clone don’t.

Dataflash logs can be really useful during tuning of your copter so I decide to extend standard boards with this new capability.

Result is small PCB board with LE33 voltage regulator (and two capacitors) to provide 3.3V VCC voltage for memory and Atmel AT45DB161D memory with 2MB (or 16Mb) capacity. Memory is SPI so we can create board as attachment to ISP connector on AIO board.

There is also one more wire needed for CS – I used pin 33 (originally used for camera trigger from RC receiver, not used in most cases) which is connected by wire with board.

How it looks can be seen here :

Result attached to Multiwii Pro with Mega 2560 XCopter board

Result attached to Multiwii Pro with Mega 2560 XCopter board

It is my first SMD so sorry for quality. Fortunately, SOIC 8 and 1206 sized parts can be soldered at home with reasonable soldering stuff without major problem. Also DPS can be done by photo etching easily (see other blog post for detail).

So here is schematic, board and pdf for your DPS :

ISP Memory Schematic

ISP Memory Schematic



ISP Memory DSP

Also you need short update in your MegaPirate NG code (for arduino look for standard DataFlash library)

1. locate Dataflash folder in Libraries

2. change pins settings in DataFlash_CRIUS_AIOP2.cpp  code

// arduino mega SPI pins
#define DF_SLAVESELECT 33 // SS (PB0)
#define DF_RESET 32 // RESET (PG0)

where DF_SLAVESELECT is your chosen pin on board. DF_RESET should lead to unused pin although is not used for board.

3. set your config to Crius V2



Compile code, put your board on your copter and done.

Now you have dataflash logs capabilities and you can measure your vibrations or other stuff on copter.


5 thoughts on “Datalog memory for AIO boards (or any Arduino board with ISP)

  1. Hi, great work out there. I’m going to do same thing like You. I already bought LDO regulator and flash chip. Today I will etch board.

    But I’ve one problem. I can’t find in Arduino Code part wchich correspond to defining SPI pins. I’m using “ArduCopter-MPNG V3.0.1 R4″ and there is no file “DataFlash_CRIUS_AIOP2.cpp” in dataflash folder.
    Could You explain more in detail how to convert code to working condition in this version of ArduCopter?

    Please help.

    1. Blog post covering version 2.9. , v.3.0.1 R4 will be different and have to be investigated. Stay tuned for news but don’t expect them sooner than in one/two weeks. Sorry about that

      1. Thank You for answering. I will be looking forward for Your update.

        Thanks again and greetings from neighbour from poland.

    1. Yes, I did quick investigation during yesterday and found same line :-) I just didn’t tested yet so I don’t answered. Let me know if it will helps and don’t forget that pin definition in old files is Arduino style and new line uses AVR style. PB0 in Sir.Alex sample is 33 used on my page.

Leave a Reply to Tomek Cancel reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>