I have a MP3 player with Samsung's nand flash chip (2GB), I want to connect that chip to microcontroller and read, write or list files and directories as we do with arduino SD Card Library. Your help is appreciated very much.

Thanks in advance.


hey guys I found out how to do it. I'm doing it with elm-chan FatFs library, everything is written for you just you've to implement low level diskio functions and your get to go. Check out the official site: http://elm-chan.org/fsw/ff/00index_e.html

  • 1
    \$\begingroup\$ Read the data sheet. \$\endgroup\$ – Chris Stratton Apr 10 '17 at 3:55
  • 1
    \$\begingroup\$ if your device is not an SD card, then the arduino sd card libraries won't help you at all. And your device is not an SD card. \$\endgroup\$ – Marcus Müller Apr 10 '17 at 7:16
  • \$\begingroup\$ "Samsung's NAND flash chip" <- Samsung has produced thousands of different flashes, and they work very differently. You'll have to do a lot more research than that! \$\endgroup\$ – Marcus Müller Apr 10 '17 at 7:17
  • 1
    \$\begingroup\$ @varun really lame excuse. You want help, so write a good question. If you can't do that on your device, find a PC with a keyboard and start typing. \$\endgroup\$ – Marcus Müller Apr 10 '17 at 8:40
  • 1
    \$\begingroup\$ Your question reminds me of this. How do you interface a flash chip with an MCU? Well, connect them together, write flash drivers and a file system an you're done! \$\endgroup\$ – Dmitry Grigoryev Apr 10 '17 at 9:02

Your K9GAG08UOE seems to have an 8 bit parallel data bus. You'll need to

  • read the datasheet on the timing requirements of that, then
  • you'll need to find a microcontroller that can interface on an 8 bit parallel bus (you could also bit-bang on 8 GPIO lines, but that will be horribly slow, and possibly not even meet the timing requirements), and then
  • you'd design a circuit board that connects the 8 data lines of the NAND flash to that controller on the MCU, and also offers power, the read/write flags and so on,
  • you'll need to be able to use the device as the flash memory it is, which would then enable you to pick an operating system (writing one sounds like a bad idea) that
  • you'll need to write a hardware driver for your flash, and only then the OS could employ a file system on that device,
  • you would then use to interface with the memory to give you a notion of files on that, and then
  • you'd write a software for that OS that does something interesting with the memory and the files it stores.

Embedded development is not like application development on a PC or android device - there's no "driver", no "ready to be done exactly like this and that". You'll have to design all this yourself!

  • \$\begingroup\$ Thank you very much, then how such a small MP3 player is able to do that. \$\endgroup\$ – varun Apr 10 '17 at 9:06
  • \$\begingroup\$ @varun what do you think? Implementing each of the bullet points above. \$\endgroup\$ – Marcus Müller Apr 10 '17 at 9:09
  • \$\begingroup\$ OK. Do we have any open source file system for nand flash \$\endgroup\$ – varun Apr 10 '17 at 9:12
  • \$\begingroup\$ @varun please read my answer. This is all specific to the hardware you have. You will have to design this on your own. \$\endgroup\$ – Marcus Müller Apr 10 '17 at 9:13
  • \$\begingroup\$ Ok thank you. One last thing can you link me to a nand flash ic with SPI communication mode. Thank you. \$\endgroup\$ – varun Apr 10 '17 at 9:34

Not the answer you're looking for? Browse other questions tagged or ask your own question.