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 :
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 :
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_DATAOUT MOSI // MOSI
#define DF_DATAIN MISO // MISO
#define DF_SPICLOCK SCK // SCK
#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
#define PIRATES_SENSOR_BOARD PIRATES_CRIUS_AIO_PRO_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)”
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?
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
Thank You for answering. I will be looking forward for Your update.
Thanks again and greetings from neighbour from poland.
Hi, Sir Alex respond about changings in 3.0.1R4 comparing to 2.9.
Is it possible to be so simple?
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.