Hi, We are collecting information from different shields in our High Altitude Balloon project and we want to be able to use the sd-card as a data logger, but we tried to use the sample of the arduino datalogger but it has an error in the library. I want to know if it is possible to record data text in the sd card without use an external program (Python, C, others) and only using the Arduino. We have this error using the library from the arduino datalogger program Arduino: 1.6.12 (Windows 7), Board: "UDOO Neo (Cortex M4)" Warning: Board arduino:RFduino:RFduino doesn't define a 'build.board' preference. Auto-set to: RFDUINO_RFDUINO (Is there a library for the Udoo Neo to read and write the sd-card ?) In file included from C:\Program Files\Arduino\libraries\SD\src/utility/Sd2Card.h:26:0, from C:\Program Files\Arduino\libraries\SD\src/utility/SdFat.h:29, from C:\Program Files\Arduino\libraries\SD\src/SD.h:20, from C:\Users\Jonny\Documents\BCC\STEM - HAB Project\Arduino\SD_Datalogger\SD_Datalogger.ino:24: C:\Program Files\Arduino\libraries\SD\src/utility/Sd2PinMap.h:27:24: error: 'SS' was not declared in this scope uint8_t const SS_PIN = SS; ^ C:\Program Files\Arduino\libraries\SD\src/utility/Sd2PinMap.h:28:26: error: 'MOSI' was not declared in this scope uint8_t const MOSI_PIN = MOSI; ^ C:\Program Files\Arduino\libraries\SD\src/utility/Sd2PinMap.h:29:26: error: 'MISO' was not declared in this scope uint8_t const MISO_PIN = MISO; ^ C:\Program Files\Arduino\libraries\SD\src/utility/Sd2PinMap.h:30:25: error: 'SCK' was not declared in this scope uint8_t const SCK_PIN = SCK; ^ In file included from C:\Program Files\Arduino\libraries\SD\src/utility/SdFat.h:29:0, from C:\Program Files\Arduino\libraries\SD\src/SD.h:20, from C:\Users\Jonny\Documents\BCC\STEM - HAB Project\Arduino\SD_Datalogger\SD_Datalogger.ino:24: C:\Program Files\Arduino\libraries\SD\src/utility/Sd2Card.h:69:37: error: 'SS' was not declared in this scope uint8_t const SD_CHIP_SELECT_PIN = SS; ^ C:\Program Files\Arduino\libraries\SD\src/utility/Sd2Card.h:74:31: error: 'MOSI' was not declared in this scope uint8_t const SPI_MOSI_PIN = MOSI; ^ C:\Program Files\Arduino\libraries\SD\src/utility/Sd2Card.h:76:31: error: 'MISO' was not declared in this scope uint8_t const SPI_MISO_PIN = MISO; ^ C:\Program Files\Arduino\libraries\SD\src/utility/Sd2Card.h:78:30: error: 'SCK' was not declared in this scope uint8_t const SPI_SCK_PIN = SCK; ^ exit status 1 Error compiling for board UDOO Neo (Cortex M4). Any help will be appreciated
There is no arduino library to write directly to the Neo SD card on the Linux side from Arduino side. Technically it could perhaps be possible but you have to change the configuration on Linux and the mqx layer on the M4/Arduino side. This requires in depth knowledge of the Neo architecture. Or money to have someone do it for you. Best option would still be to use the ttyMCC device. There is also the shared memory method but that also requires modifications on bother sides (but less)
If the data volume is low you can try hooking up a 24LC25 I2C Eprom to the M4 although its limited to 32K. For my data logger solution I'm using a 8MB flash (winbond w25q64bv) hooked up to the spi interface on the M4 side. This way the A9 can be kept in deep sleep to save power until woken up. Unfortunately I don't use the Arduino layer as per your approach.
That's a fair amount of data to collect, you could hook up a micro sd shield to the M4 side providing you can implement the spi library/interface for it yourself. Also bear in mind the write speeds to SD may be slow so you need to take into account how fast you expect data to be written from your sensor(s).