================================================================================================================================================

Saturday, January 31, 2009

SD/SDHC Card Interfacing with ATmega8 /32 (FAT32 implementation)


Hi friends,
Here is my project on interfacing of SD Card (microSD). microSD cards are available very cheap nowadays, a great option for having a huge memory in any embedded system project. It is compatible with SPI bus, so the interfacing is easy. SD card adapters are also easily available in market, one can easily make a bread-board adapter by soldering few pins on it. Following figures show the SD card pin-out & the bread-board adapter design by soldering 7-pins of a breakout header on the microSD adapter (Click on images for larger view).












I had started this project with 1GB microSD card from SanDisk (later on tested with transcend cards also). The microcontroller is AVR ATmega8 or ATmega32 running at 8Mhz internal clock. MAX232 is used to interface the circuit with PC for monitoring the data. A 3.3v supply is used for powering the mega8, microSD and max232 (though the specified supply for max232 is 5v, it works comfortably at 3.3v).7 pins of the microSD are used here, shown in the figure of pin-out.

Schematic for ATmega8 is shown here (updated on 10 May 2010, SD series resistors are removed, as they were limiting the speed of SPI bus. 51k pullups are added on CMD/DAT lines. This gives better stability with different cards. Also, two 3.6v zeners are added to protect SD in case when the ISP programmer voltage levels are of 5v. these diodes are not required if your programmer has settings for 3.3v output)
(Note: VCC & GND pins of MAX232 are not shown in the schematic, but they must be connected in the actual hardware)
Following is the schematic for ATmega32, without RTC (updated on 10 May 2010):


Following is the schematic for ATmega32, with RTC (added on
17 May 2010; CS pin correction, PB4 instead of PB1, done in Mar 2014). Here two supply voltages are used, 3.3v for SD & 5v for remaining ICs.



The aim of this project was to learn interfacing of SD card and to understand the data transfer in raw format as well as in FAT32 format. I started with raw data transfer, sending some data to any block of the microSD, reading a block of it, reading and writing multiple blocks, erasing multiple blocks. All this in raw format. I used RS232 for viewing the data read by microcontroller from SD card. The uc sends the data to HyperTerminal. Similarly, to write data to card, the data was fed thru HyperTerminal, by typing some text.

Once raw data transfer achieved, I formatted the card with windowsXP (FAT32) and loaded it with some text files, directories and other files (all stored in root directory of the card). After that I wrote the FAT32 routines to read files, get file list (using HyperTerminal again), finding the total/free memory of card. All this data is sent to HyperTerminal by the uc.

Following is the HyperTerminal window showing different options:
Options 0 to 4 are low level functions dealing with raw data. If you use option 0, 1 or 3, you may have to reformat the card before using the FAT32 routines.
0: Erases selected number of blocks strating from selected block
1: Writes data to specified SD block address. Data to be entered in HyperTerminal using PC keyboard
2: Readss data of specified SD block address. Data is displayed on HyperTerminal window
3. Writes selected number of blocks strating from selected block
4. Reads selected number of blocks strating from selected block

Here, the multiple-block functions related to options 3 & 4 are disabled due to memory constraint as that time mega8 was used for testing and these functions are not required for FAT32 testing. While testing with mega32, options 3 & 4 can be enabled by removing a macro (#define FAT_TESTING_ONLY) defined in SD_routines.h.

Options 5 to 9 are related to FAT32 . Only short file names are supported right now, 8byte name+3bytes extension. If you store a long name file in SD, it will be displayed by these routines in short name format only.
For testing these options, format the card with FAT32 file system and store some directories and text files (because text files can be read & checked thru HyperTerminal).

5: Displays list of available directories and files with size (in the root directory of the card)
6: Reads a specified file and displays the file contents on HyperTerminal
7: Create/Append file with specified name, enter text from HyperTerminal
8: Deletes any existing file with specified name
9: Displays total & free memory of the card (using FSinfo sector of the SD card)

Following figures show the HyperTerminal window when options 5 & 9 are selected:
(These figures show menu from Ver2.3 or earlier. Menu style is changed from Ver_2.4 onwards, which is shown in the update history)

Note: HyperTerminal is used here at 19200 baudrate, No parity, Flow Control 'none'.

This project needs very few components and can be done easily at home. Try it out!











Download the source code files from here:Download here the zipped source code files modified for mega32, written in winAVR-AVRStudio.

Version 2.4.1 (RTC added for Date/Time entries) 17 May 2010/24 Apr 2011
Version 2.3 (SDHC support added) 09 May 2010
Version 2.2 (No SDHC support) 13 Sep 2009

Download EAGLE schematic file of Ver 2.4

Download/view source code files V2.1 (for ATmega8):
Following files are compiled using winAVR inside AVRStudio. This Version does not support SDHC cards. Also, append file feature is not available.
1. SD_main.c
2. SD_routines.c & SD_routines.h
3. FAT32.c & FAT32.h (Ver 2.1, last updated-13 Sep 09)
4. SPI_routines.c & SPI_routines.h
5. UART_routines.c & UART_routines.h
6. Makefile
7. HEX file (Ver 2.1, last updated-13 Sep 09)

Please put up a comment or mail me if you find a bug in the code. The updates are because of valuable suggestions & comments from the users of this code. Thanks a lot!!

This library has been updated by ExploreEmbedded to support lpc2148, lpc1114, lpc1768 controllers (in addition to ATmega devices). Please visit this page for more details:
https://www.exploreembedded.com/wiki/LPC1768:_SD_Card_Interface

Buy from Farnell (Element14): ATmega32 (India), ATmega32 (USA)


Related posts:

  • You can visit my post of microSD ATmega32 Data-Logger, with LCD and temperature sensor, which uses modified FAT32 (or FatFs) library for automatically creating files without using hyper terminal.
  • If you want to test FAT32 functions or learn more without making the microcontroller hardware, you can visit my post here: microSD-FAT32 using Visual C++)


Update History-----------------------------------------------------------------------------
Version 2.4:

- Real Time Clock circuit support is added for time & date entries in the files. Now the current date of file creation and file update will be entered in the FAT table (can be viewed by checking file 'properties' using a PC)
(The RTC will also be useful in data-logging with time-stamp)
- Three more options added in the Hyper Terminal menu for displaying or updating RTC date & time. New menu is shown in the above figure.

Ver 2.4.1:
- Same as 2.4, with a bug fix for RTC: 'twi_init' function added to define I2C clock freq. 100K@ 16MHz (50k@8MHz). This was taking default values earlier, which was as high as 500K@8MHz, not desirable

(Note: Version 2.2, 2.3 & 2.4 are tested on ATmega32, but they can be adopted to any controller having RAM >= 1KB and Flash >= 16KB)
Current memory usage (Ver_2.4): Flash: 12908 Bytes; RAM: 700 Bytes (appx.);

Version 2.3:
- Support for SDHC cards added (tested with SanDisk & Transcend microSD and microSDHC cards). The initialization sequence and command formats are modified.
- A bug which was causing the program flow to go into infinite loop if the character number 512 in a sector was a CR (Carriage Return, '\r'), in the writeFile function. Thanks to David & Piotr M. who pointed it out in the comments.
- Code is also tested successfully at 16MHz clock (8MHz SPI clock) with for SD/SDHC cards.

Follwing are the Hyper Terminal windows showing card detection (One window shows baudrate as 38400, that was while testing for higher clock speeds, current code still uses 19200 baud and 8MHz internal clock of Mega32).








Version 2.2:
- Append file feature added. 'createFile' function replaced with writeFile, which looks for the filename first, if the given file name doesn't exist then it creates new file and writes data, but if the file already exists, then it opens it and appends the entered data.
- A bug removed which was giving error related to use of 'LONG'
- The FAT32.c & .h files are updated on 13 Sep 09 to remove a bug which was limiting file size to 32MB (Thanks to Kun-Szabo Marton who pointed it out)

Data transfer rate: 1 raw data block (512 bytes) takes 4.15ms for reading or writing (123.37 KBytes/s) at current 4 MHz SPI clock rate. If you have flash more than 8k, you can declare the SPI_receive() and SPI_transmit() functions as 'inline' functions. This will increase the transfer rate to 140 KBytes/s. These transfer rates can be further increased by using a 16MHz crystal (8 MHz SPI clock). FAT32 file reading is done at 78 to 91 KBytes/sec.

Version 2.1:
- A bug removed which stopped creating new files after 32*8 files in the root directory
- The root directory was unnecessarily getting expanded by one cluster whenever a file was created. Fixed in the new version
- Also, the fixed cluster size of 8 sectors is removed, this version will support other cluster sizes as well

Version 2.0:
- Support added for SD cards having first sector as MBR rather than the boot sector
- createFile and deleteFile functions added
- A bug fixed in reading files stord at far locations in memory also correction made to accept 8+3 char file name (by mistake, it was taking 7+3 earlier)
- FSinfo sector used for storing total free cluster count &
next free cluster number for faster file access
- Instant freeMemory display (earlier it was taking more than 30secs) using FSinfo sector. FSinfo sector is updated now whenever a file is created or deleted
- File memory size display in decimal, like windows (earlier it was in hex)
- Raw SD functions multiple block read and write, which are not required for FAT32, are disabled using FAT32_TESTING_ONLY macro for getting extra space required by createFile & deleteFile changes (you can activate it if you have more than 8k flash) Right now flash is 99.9% full
- Clock speed raised from 1Mhz to 8 MHz, new SPI speed (after SD initialization): 4MHz instead of 500K & baudrate: 19200 (for HyperTerminal) instead of 4800
-------------------------------------------------------------------------------

References/ Further Reading:
1. Microsoft's FAT32 specification document
2. SD-Simplified Physical Layer Specifications
4. F. Foust's Application Note on SD
5. FAT32 Structure info, includes MBR details
6. Simple FAT32 Structure explanation
 
7. Chan's FAT library
8. SD Association's Website for further info

Regards,

CC Dharmani
ccd@dharmanitech.com

729 comments:

«Oldest   ‹Older   601 – 729 of 729
Asif said...

Hi MR Dharmanitech,

I hope my Email find you all the best in your health.
I have two questions regarding FAT32 library,

Does this library support to create folders ?
Does this library support long file name support(Currently only 8 characters)?

I shall be very thankful for your quick reply.

Thanking you in anticipation

Asif

Asif said...

If these two features are not supported, how can we update the library to support these features.

Hartley Thanks for your co-corporation in this regards

Anonymous said...

Surely one of the best project in the web :) Thank you very much for your project

Vasile Guta-Ciucur said...

Well that is simple. The key is... CS (chip select) pin - it must be on an unique (separated) pin. All (three) others can be shared with other SD cards (which also must be selected with a unique pin). This is how you connect multiple (even different) devices on a single SPI peripheral.

Anonymous said...

This could be help full to me as i am doing a project which uses the SD card.Thank you very much for your support for guiding us.

Eugen said...

Hi CC
first: greate Job!

i use your code, and it works!
but in 80% "SD card not detected.."
and in if the controller detect a card, its a wrong one "FAT32 not found!" :(
but sometimes everything is working and i can see the file list and the Card Capacity

im using the ATmega32 like you, the only change, i put a level shifter MAX3378 from 5V to 3,3V

i cant understand why the controller so often didn't detect the Card. did you had the same problem? how to solve it.

thx Eugen

Eugen said...

OK! i fix it!
my powersupply did the mistake!
i change to another project with an other powersupply and because i'm so lazzy i just try the other, and it works! 100%

very good programm!
1000 times thank you from Germany!

Unknown said...

Is it feasible to interface sd card with fat-32 protocols with micro sd card

Anonymous said...

Dear Sir, Please give more insight into how to access the files in a memory card using a microcontroller and GLCD without using a Personal computer. e.g. If we interface a touchscreen to uC,in which format the data collected from touchscreen will be stored in memory card? If i want to display images from memory card how can i display them? Any suggestions on this project?Also share some useful links . Please reply as early as possible.Thanks in advance!!

Asif said...

Hello Dear,
Hope so you are doing best of your health and job.
I am facing a little problem with FAT32 library.
When I use 1GB micro SD, files getting corrupt, e.g random folder of strange name appears when SD memory size exceeds by 300MB.
Same problem occurs when I used 4GB sd CARD. after memory 1GB, files getting corrupted...

Can U please help me out is this FAT32 issue OR some firmware modifications required..
Its urgent.. You help in this regards is highly appreciable..

Thanking you in anticipation..

Warm Regards
Asif

Unknown said...

thnks a lot for source code atmega 32,
but unable to use it with atmega 8 if u hab collective source like v2.2 , 2.3 , v2.4. plzz tell me or mail me at amargupta196@gmail.com.

thnks a lot..

Avinash said...

Hey,
I implemented it on AtMega32, 2GB Transcend card. It says Unknown card ditected and FAT32 disabled.
By which I am not able to create files. I was able to write data in raw format but not able read it.
Kindly help me out with this problem.

Anonymous said...


dear sir, unfortunately, we can't get through with your fat files on our sd card. pls help.

a

shailesh prajapati said...

great job thank for post this from shailesh prajapati,ntpc

Unknown said...

Hi,

can you tell me what is the code for initialise the sd card and write a structure value in it and read the structure value

Anonymous said...

Hi
How to learn write in C++ like you (uart function)?

Thanks

Unknown said...

Hai

I appreciate your work because it is very useful to all embedded software developer. i want to write and read a single character in paritcular location. how do the process.
please reply to my mail id(ravims3679@gmail.com).

Unknown said...

Hai

I want to write single data on single write in single location of sd card

Unknown said...

what is procedure to write and read single location in sd card
please help

Unknown said...

Dharmani Sir,

Thank you for creating such a wonderful blogging environment for learning & enhancing our skills in the field of Electronics.

I am fresher to Microcontrollers.

I am using yours concept to be implemented in my project. So I completed the whole circuit as u had given & then burned your code into Atmega32 uC.

Now whenever I am switching-ON the circuit the control goes to infinite loop stating "Card Initialization failed..". How to troubleshoot it ??? Kindly guide me in details...

P.S.: Can u plz give me ur mail id where i can communicate with u, for my further queries ??

My mail id is: debanjan.etengg@gmail.com

Unknown said...

hi,well done.
how could you use SD card in proteus?
thank you very much.

Unknown said...

hi,well done.
how could you use SD card on proteus?
thank you very much.

Unknown said...

Hello Sir
am from AMU ,we guys are doing the same project to log temperature data in micro sd card.

i have bought sd card breakout board to supply 3.3 v to card from http://www.onlinetps.com/shop/index.php?main_page=product_info&cPath=75_20&products_id=618

i hv succesfully burned the code but in hyperterminal , am getting an error , it says "no card detected"

am using 2 gb microsd card that we normally use in our cell nowadays.
could u plz help us out. wat are the possible sources of error.
thanks in advance :)

Nihal said...

this is a good site....i would like to share one more site here www.zembedded.com ....i found this equally useful.....Thanks guys

Unknown said...

God job Man :D awesome


big Thank's

Unknown said...

Hi CC

Good job! But i am not able to read file, could you help me?
Rec:(03:32:23)
> 0: Erase Blocks
> 1: Write single Block 2: Read single Block
> 5: Get file list 6: Read File
> 7: Write File 8: Delete File
> 9: Read SD Memory Capacity a: Show Date & Time
> b: Update Date c: Update Time


> Select Option (0-9/a/b/c):
Send:(03:32:23) 5
Rec:(03:32:23)5

1 BMP FILE 86,454 Bytes

I am not able to type in the file name, cause i am not sure how can i find the real file name. Thanks

npeducations said...

very clean and neat explanation

frm: http://www.npeducations.com

Anonymous said...

hi.
I am using arduino uno(which has the atmega328p) processor on it.
I tried to change the registers especially in usart and I also changed the port alloction for spi to make this code compatible for atmega328p.but when I run the serial monitor I get the message:"SD card not detected". could you help me with that.
FYI: I use a 8GB SD card.
thanks a lot

Unknown said...

hello,

everything works fine but how to display free memory and total memory in version 2.4.1?

Unknown said...

oh sry, ive used a wrong main file
from 10 May 2011. problem solved.
big thx for share.

Unknown said...

sir, i hvae designed the same circuit but i am not able to get anything in the terminal...please help

Unknown said...

Great project, however the schematics are wrong - CS pin of the sd card is said to be connected to PB1. But in the latest code it's connected to PB4 (SS).

CC Dharmani said...

Hi Lacho,

thanks for pointing that out. Though I've made both the options (PB1 or PB4) available in the sd_routines.h file, the latest code uses PB4 but the schematic shows PB1. I'll update the schematic. Thank you!

JIGNESH PATEL said...

Can i use this library for Atmega8?
will i get the memory problem with atmega8 for this library?

Darpan said...

Sir, can you provide me the circuit for connecting sd card to hyperterminal using max232?

miti said...

Great job!
Few small changes and it works great on MEGA164P. Atmel Studio 6.1.

Thank you!

ChristopheS said...

Hi,
I tested your code and it works fine.
I still have a little problem. It works with a Kingston 4GB SDHC card, but not with my card industrical Swissbit SD 2GB.

http://fr.farnell.com/swissbit/sfsd2048l1bn2to-i-df-151-std/carte-sd-2gb-ind-s-200/dp/2103911

I would like to make it work with Swissbit because it works between -40 ° C and +85 ° C.
Have you an idea of the problem?

thank you

CC Dharmani said...

Hi Christophe,

give it a try with reduced SPI speed.

Anonymous said...

Hi,

Is it possible to use the code without any of the UART routines? I want to interface microSD card with ATmega324.

Thanks

Feryan R said...

This project is absolutely great sir.
thanks a lot.

I have created an data logger with ATMEGA16 runing 8MHz with Internal Osc.
I try to record date and time first.
I have tried to record it every second, for about 8 Hours. in "ddmmyyyy.TXT" format.

But there is an error. the file is "corrupt", then I run "Check Disk".

the file can opened in text editor, but some date/time was not recorded.

So, can you give suggestion for me sir?

Thanks, :)

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

Hello Sir,
Great Work!!!
Thanks a lot!!
This helped a lot in understanding the SPI Protocol,SD card and FAT32 functions.

I am currently working on SDHC card implementation for ATmega16 development board. The clock frequency is 16MHz. Also i am using a SDHC Card of 4GB size by Lexar(my digital camera card).

I have referred your code and tried to implement or my specification but it is not working properly. I am getting all the menu options but when i try to read/write, its not working properly. I cant able to read/write a text file...even read/write a single block sometime not working. also the file list and memory status not showing proper details every time.

Please suggest me the required changes to do in your codes according to my specification.

My email id- mayur.arktechnosolutions@gmail.com

Anonymous said...

Hi,
i want read file .txt in while(1) but at the second attempt read i get error File does not exist! and the program ends... How i fix it?
my email- j.blonski1991@gmail.com
Thanks!

ChristopheS said...

Hi CC Dharmani,

I bought lots of card with different characteristics: class, capacity, temperature ... I did tested and I noticed a difference between those works and one that does not work:
- One that works are MLC
- That does not work are SLC

How to modify the program to run the SLC?

thank's

Anonymous said...

Hi,

How can i write a table[4] = "1234" to SD Card?

Maha said...

Am quite new to this field. Can you please help me to calculate delay timing with respect to the clock frequency of the mc.

Unknown said...

Hello CC Dharmani,
Thanks for Great Work,
I am using AVR Micro controller running at 1MHz interfacing Kingston SDHC 16GB card. the code resets after printing "High Capacity Card Detected!"
on analysis problem seems in SD_readSingleBlock() at following lines

for(i=0; i<512; i++) //read 512 bytes
buffer[i] = SPI_receive();
Please suggest what might be going wrong.
Thanks once again for the work.

jed said...

This should be ok to implement on a ATxmega with a bit of tweaking hey?

Will I be able to use the USB functionality on my xmega to communicate with the SD card via PC?

my blogs said...

Hi ,

In sd routines.c .... when we send the cmd along with arguments at this line

SD_sendCommand(SEND_IF_COND,0x000001AA);
SD_sendCommand(SD_SEND_OP_COND,0x40000000); //ACMD41

In the command function we rotate the long arg before sending on spi


SPI_transmit(cmd | 0x40); //send command, first two bits always '01'
SPI_transmit(arg>>24);
SPI_transmit(arg>>16);
SPI_transmit(arg>>8);
SPI_transmit(arg);

when we rotate we get some huge values ...WHAT ARE THESE VALUES REFERRING TO ?????( CAN anyone PLEASE EXPLAIN )

Anonymous said...

hello,

i'am using a controller with big endian format so i need to convert FAT32.c code to that format,I have converted the code and readfile and findfile are working fine,but i have problem in writefile,So please mail me the FAT32.C code in big endian format,my emailid is ma1833271@gmail.com thanks in advance

Unknown said...

sir,
i am doing project "attendance data logger with atmega 2560", for this my application is using 4x4 matrix keypad, 16x2 lcd, sd card and rtc,
first we will create all the students numbers as a folders in sd card, while student entering in to class they will enter their number on keypad that time the "in time&date" will save on their particular folder in sd card, while they exiting from class they will enter their number on keypad again this time"out time" will save on their folder in sd card,
how to do this please give me a suggestions

jayachandra1043@gmail.com

aadil said...

i was traied the code but it shows sd card detected but not fat32.
it shows fat21 is disabled or fat32 is not found

Anonymous said...

HI MR.Dharmanitech,

i use your code, and it works!
but in 80% "SD card not detected.."
and in if the controller detect a card, its a wrong one "FAT32 not found!"(or)file system is disabled
i am using atmega32.

sampdrrr said...

Please i want fat32 file system sd card tutorial for mikro c dspic

sampdrrr said...

Please i want fat32 file system sd card tutorial for mikro c dspic

Anonymous said...

Hi,

I tested it with 8 GB SDHC card. It works good. Thank you for your amazing job.

Best regards,
Maciej from Poland

Anonymous said...

Dear Developer,
//------------------------------------------------------------------------------
- A bug which was causing the program flow to go into infinite loop if the character number 512 in a sector was a CR (Carriage Return, '\r'), in the writeFile function. Thanks to David & Piotr M. who pointed it out in the comments.
//------------------------------------------------------------------------------

I am using v2.4.1 but this bug still exists. I'd like to create a file, write some text in it and close with '~'. If i am right your text above is referring to this bug. [lines: 479-500. in the following code: http://pastebin.com/qD5SQysh] Could you please tell me how I could fix this code?

Sumir Kumar Jha said...

Thanks a Lot !!

It work for me, but after some head scratching and wear & tear through your code ....

I ported your AVR code for my MSP430G2553, but I found a problem with your code though.

Problem :
Product Manual SD Card v1.9 from Sandisk say that, SD Card shout remain Asserted though out the (Command + Data Packet + Response). But the Problem I with code is that When you call the function "SD_sendCommand" Its De-assert the CS line right after Successfully Command (R1 == 0), but i create a problem like for Data Packet , because the Assertion should be through a Command Sequence.

I hope, i conveyed the the problem problem, but Please let me know if i misunderstood.

Thanks

xolbrin said...

Hello dear nice blog post. its very fantastic blog. know more about robotics devices visit here https://robomart.com/atmega-16-32-robotics-development-board-v-3.0

Arduino Price in India said...

it is really a good piece of writing i am doing micro-controller programming for last 3 years but never found such kind of post

Praveen said...

Great post. its very help full for my project work. thank you very much

Unknown said...

Hey...Isn't is possible to avoid using those level shifting resistors just by using 3.3V all over the circuit? i mean atleast for the circuit without RTC, the atmega and the SD card can both be run at 3.3V?

Anonymous said...

does not work with Elite Pro card 256mb
who can help me ?

Unknown said...

I am designing a Digital Audio Player using Atmega32.I am using a microSD card to store (.wav) files.The filesystem being used by the card is FAT32.So far I have successfully initialized the SD card and was able to read the Master Boot Record(MBR) using the code provided on this blog.Now I am stuck on how to read and play files from SD card.Is Anyone who can assist me on how I can translate this code in order to be able at least to read .WAV files.

Anonymous said...

Hi...

I'm using 2GB SDcard which is being detected but unable to detect 8GB sdcard
"FAT 32 NOT FOUND!"

Unknown said...

Hi
can I use LCD to display .txt from SD card?

Unknown said...

Get Electronic Components at www.componentbuy.com for best price.Order now and get huge selection on Electronic parts.

Unknown said...

I am no IT specialist but i need serious help from someone who understands the interface of the memory micro sd cards. I have big business deal at heand. Please contact me via my email address. Juniorchief25@gmail.com

Anonymous said...

Recently came across your blog through Google and found it to be informative and interesting article, Really it's a fantastic blog. Good job keep it up.....
www.office.com/setup
www.office.com/setup
www.office.com/setup
www.office.com/setup
www.office.com/setup

Anonymous said...

AMAZING WEBSITE,, GREAT WORK,, I LOVE THIS KIND OF STUFF,,

VISIT...
www.office.com/setup
www.office.com/setup
www.office.com/setup
www.office.com/setup




Unknown said...

hello good job , i have question library work when using kingston memory card any other card doesn't work

Unknown said...

hi thanks for your grate weblog
i have a question
in Mr chan library we must call "disk_timerproc (void)" function every 10ms by a
Timer interrupt to avoid sd card driver function lock.
why in your code we have not such a thing?
thanks.

Unknown said...

Thanks for the tutorial.

Query: Reading SD card
Am able to read the text from the file up to EOF.

I want to read an SD card text file one line at a time and process the data.
If the line processed successfully, the same line want to be deleted.
Each line consists of 47 bytes.

How to read a single line (single record ) from the sd card?

Thanks

Unknown said...


office.com/setup
Microsoft Office is a suite of desktop productivity applications software that is designed specifically to be used for office or business purpose.
www.office.com/setup

Moha said...

I m working with Fat32 in your for past 1 week. i tried all your guidelines(comments) to overcome "FAT 32 not found" error. Still i can't find solution.

Help me out!
thanks.

Unknown said...

dear sir,
your blog is really helpful and great.
I am getting stucked at a point in SDHC card interfacing with ATmega16 uC and I expecting help from your side.
I am trying to interface an SDHC card from past few months but failed to succeed. now i am following your code to reprogram the MCU, I have written the program in my own way but by following your code for SDHC.

HERE IS MY PROBLEM:-
1.I am not able to initialize SDHC CARD.
2.command CMD0 and CMD8 is fine and giving idle state response.
3.but step in the third step CMD55 & ACMD41 I am not getting any response, neither loop
ends.
i have tested my card with Arduino and is working fine.

please help me to complete this project.
where I am doing wrong?
feeling effortless.
it would be grateful if you help me by mail or on mobile.
my Gmail is deepakkumar7805@gmail.com

Shikha said...

TOP 5 BEST INDIAN RESTAURANTS IN DELHI

TOP FIVE CAFÉ TO VISIT IN DELHI

TOP HISTORICAL PLACES TO VISIT IN DELHI

TOP 6 MALLS IN DELHI

DELICIOUS DELHI STREET FOOD

TOP 5 HAUNTED PLACES IN DELHI

BEST BEAUTY SALONS IN DELHI

TOP 5 Markets for Shopping in Delhi

TOP 8 BEST ONLINE SHOPPING SITES

Best 6 Water Park In Delhi NCR

Urvashi said...

DIGIIPAL, Digital Marketing Training Institute in Delhi offers the most relevant & updated digital marketing training course curriculum among candidates.

James Ethan said...

Thank for sharing, We can help you deal with Dharma Ransomware Incidents. We will consult you, negotiate with Dharma (.cezar Family), check if there are cheaper alternatives for finding the Dharma Decryptor, assist you in finding bitcoins and do the payment. Also we will help you use the tool for Dharma Decryption.
Dharma Decryption

gunn diode said...

gunndiode

abhinav said...

Vishal Narkhede said...

Sir I'm using atmega 2560 development board and by using fat 32 file is read from sdhc card. How do i give data of file to 8 ohm 3 watt speaker??

ann said...

I learned a lot about electronic components and circuit

Anonymous said...

hello sir I am interfacing micro SD card with Atmega32L controller. i have downloaded your code of Version 2.2 i got error as FAT32 not found on hyperterminal the Baud rate on hyperterminal is 19200 and I am using xtreme micro SDHC class 6 4 GB card.also tried on San disk 8 gb micro SDHC card but it was also showing same error.But when i downloaded version 2.3 code from your website the same 4 GB card working there is no error of FAT 32.Can you help me to understand what was going wrong in version 2.2? thanks in advanced.

Anonymous said...

hello sir I am interfacing micro SD card with Atmega32L controller. i have downloaded your code of Version 2.2 i got error as FAT32 not found on hyperterminal the Baud rate on hyperterminal is 19200 and I am using xtreme micro SDHC class 6 4 GB card.also tried on San disk 8 gb micro SDHC card but it was also showing same error.But when i downloaded version 2.3 code from your website the same 4 GB card working there is no error of FAT 32.Can you help me to understand what was going wrong in version 2.2? thanks in advanced.

Roksy said...

Nice post..
ymj oca lamination machine

mobile repairing course in delhi

mobile repairing course karol bagh

mobile repairing course raipur

mobile repairing course in ranchi

led tv repairing course in delhi

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

thanx for simple electronics projects

Tuckerjackk said...

SoftBees
Daily Helps
How To Miner
Fatebook
Plurk

Tuckerjackk said...

TrendMiner
How To Miner
TrendMiners
How To Miner
Easy My Way
Fatebook

Rajkumar singh said...

nice article
click on

Anonymous said...

Do not quite understand at what frequency the signal is recorded? And what does it depend on?
More than 10 years have passed since the publication. Are there better versions of such miniature recorders?

Educational Information Blogs said...

If you want to become an Professional Chip Level Laptop Repair Technician .Then AK INFO INSTITUTE is the best option for you to learn the Laptop Repairing Course. Because AK INFO is provide the latest and Most Advanced Laptop Repairing Course in Delhi NCR Region.

Call : 700 400 9069


Laptop Repairing Course in Delhi
Laptop Repairing Course in Delhi

Jon Snow said...

Twitter has got serious widespread popularity for being a source of real-time information. As one of the most widely used social media platforms, you can get almost everything related to entertainment, sports, politics, and more on Twitter. You also might be having a twitter account and might be willing to increase your followers. Follow the tips mentioned below and learn how to increase your Twitter following.

Roksy said...

AK Info is the premier led & lcd repairing institute in Patna. We provide the best LED & LCD television repair courses.


television repairing courses in Patna


tablet pc repair training courses in Patna


PC repairing courses in Patna


tablet PC repair training institute in Patna


smart TV repair courses in Patna

Roksy said...

Best Laptop Repairing Course in Delhi, get Live chip level practical training from the top Laptop Repairing Institute, Visit Now! Start with Free Demo, Admission Open!

Laptop Repairing Course

Android Repairing Institute

Smart TV Repairing Institute

Iphone Repairing Institute

Roksy said...

mobile repairing course online you will get training for mobile hardware and mobile software solution.

mobile repairing online course in jamshedpur

laptop repairing online course in ranchi

mobile repairing online course

laptop repairing online classes

mobile repairing online course in muzaffarpur

mobile repair online course in delhi

best mobile repairing online course in india

best mobile repairing online course in delhi

laptop repairing online course in muzaffarpur

mobile repairing online course in new delhi

mobile repairing online course in new delhi

mobile repairing institute online courses

mobile repairing online course in new delhi

mobile repairing online course in aurangabad

mobile repairing online course in patna

mobile repairing online course in delhi fees

computer hardware online course in patna

mobile repairing software online courses

Roksy said...

mobile repairing course is based on practical learning approach and classes, hence our mobile repairing courses are designed in a way that learner get full exposure to handle all types of mobiles

mobile repairing online course fees


laptop repair courses online


mobile repair course online


laptop repair online courses


mobile repairing online courses


best mobile repairing courses online


mobile phone repair courses online


mobile repairing course online


mobile repairing course fees online


mobile phone repair course online


laptop repairing course online


laptop repair learning online courses


laptop repairing course fees online



laptop repair learning online courses


laptop repairing course online


laptop repairing courses online


computer repairing course online


laptop chip level repairing course online


chip level laptop repairing course online


laptop repair online near me



laptop repair courses online



computer repairing online course


chip level training courses online


Advance mobile repairing course online


mobile course online classes


mobile repairing software online course


mobile software courses online


phone repair training courses online









Roksy said...

mobile repairing course is based on practical learning approach and classes, hence our mobile repairing courses are designed in a way that learner get full exposure to handle all types of mobiles

mobile repair courses online

computer repairing courses online

smartphone repairing course online

cell phone repair course online

top mobile repairing course online

mobile phone repair training online

learn mobile repairing course online


Roksy said...

We provide best mobile repairing courses, hardware & software repair courses on minimum fees.

mobile reparing course online training


tv repairing courses online


lcd repairing courses online


laptop chip level training online


online mobile repairing course


mobile repairing classes online


mobile repairing online courses


mobile repairing online course


mobile repairing online study


mobile repairing online free course


mobile repairing online course free


mobile repair online courses frees


mobile repair learning online


learn mobile repairing online


mobile repairing course online classes



laptop repairing online

Roksy said...

We are the best training institute for laptop repairing courses in Patna. These courses equip students with the latest laptop repair training.


laptop repair training online


online laptop repair training


laptop repair learning online classes


laptop repair courses online free


laptop repair online


laptop repairing course online


laptop repair training course


online laptop repair course


online course laptop repair

Roksy said...

We provide smart TV repair courses with a latest method of teaching. These are courses conducted by an excellent teaching having more than 5 years of experience...

led tv repair training online

led tv repair learn online classses

led lcd tv repair training online

led lcd tv repair online course

led tv repair course online

tv repair online

smart tv repairing course online

led tv repair online classes


iphone repair online course in delhi

laptop repairing course in bangalore

laptop chip level repairing course online


mobile repairing online course in kanpur


mobile repairing online course in gorakhpur

jack thomson said...

mystrikingly.com

thomsonj1947.over-blog.com

jackthomson1.doodlekit

officesetuplive.sitey.me

jack thomson said...

MY Latest web 2.0 website contains unique article of software,technology,gadgets and entertainment.

thomsonj1947.bravesites.com

thomsonj1947.jigsy.com

thomsonj1947.simplesite.com

thomsonj1947.blogspot.com

distribution transformer said...

You need to change some of the registers for mega168. Send me the code you modified on ccd@dharmanitech.com, I'll check it out.

power transformer said...

You need to change some of the registers for mega168. Send me the code you modified on ccd@dharmanitech.com, I'll check it out.

bluetooth module said...

Do you know ESP32? Do you know this ESP32(https://www.feasycom.com/product-80211-bluetooth-dual-mode-wifi-combo-module.html) is easy to use?

bluetooth module said...

Bluetooth Module
USB powered beacon

Sunil Digital Brolly said...

Learn Digital Marketing Course in Digital Brolly with Live Projects.

Takeoff Projects said...

Thank you sir for looking up that Technologies software engineering Projects

IIBMINTERSHIP said...

https://iibminternships.com/
IIBM Internships | Online Certification Courses for Working Professionals
IIBM Internships provides certification courses for working professionals in the field of Data Science, Full Stack, Six Sigma, Cloud Computing and various other courses...

Mtech projects said...

Thank you for looking up technologies on microcontrller projects

railtonelectronics.com said...


You can manage with RAM lower than 512 bytes, speed will be affected that i know but will it be solved by using sd card?

sree said...

Thank you for technologies and academic projects visit our website
M.Tech Projects on Takeoff Edu Group.

Unknown said...

https://accelmove.com/

phone lamination machine said...

Are you looking best oca lamination machine in Delhi, there are some new features of most oca lamination machine in market.extra chamber protection, full auto cut machine, the latest and Advanced Technology to repair the broken display glass & touch or display. for visit Now!

mobile chip level repairing course in delhi said...

Mobile Chip Level Couse in Delhi, India's No.1 Ak info institute providing the students most up-to-date, mobile repair training and comprehensive with Live Practical training by highly qualified faculty. after course 100% palacement & business support. we have lots of experience in mobile repairing educational industry. today free DEMO Avaiable!

lieven stockx said...
This comment has been removed by the author.
priyathivi said...

For both engineers and lovers of embedded systems, the guide on SD/SDHC Card Interfacing with ATmega8/32, complete with FAT32 implementation, is an important resource. It is admirable how carefully and precisely the author explains each step of the connecting procedure; every detail is provided. One noteworthy feature is the adoption of FAT32, which adds a ton of options for data storage and retrieval. The wiring schematics and code snippets that are included are incredibly well-documented, which makes implementation simple. This handbook provides readers with a deeper knowledge of the underlying ideas in addition to imparting technical know-how. It is an essential tool for anyone wishing to combine SD/SDHC cards with ATmega8/32 microcontrollers and demonstrates the author's depth of knowledge in the area.
Estate Litigation Lawyer
Wills and Estates Lawyer

manee said...

I have been testing code with SDcard class4(FAT32 file system) that is working . Now I want to increase the writing speed of my current class4 with class10 SD card.

But existing code is not working with newone. Kindly suggest to me where I have to change in the filesystem code or h/w connection.

Appreciate your help.




thivithivi said...

Interfacing SD/SDHC cards with ATmega8/32 microcontrollers, coupled with FAT32 implementation, is a pivotal and complex task in embedded systems design. This detailed guide provides an invaluable resource for engineers and hobbyists delving into this domain. Offering a comprehensive approach, it elucidates the intricate process of interfacing these memory cards with the ATmega8/32 microcontrollers while implementing the FAT32 file system. The review lauds its in-depth explanations, precise code snippets, and practical examples that facilitate understanding and implementation. This resource serves as an indispensable aid, empowering enthusiasts and professionals to integrate robust data storage solutions into their projects, marking it as a crucial asset in the realm of microcontroller-based systems.
truck accident lawyer virginia

criminal law firm washington dc

Embroidery Digitizing said...

Interfacing an SD/SDHC card with ATmega8/32, implementing FAT32, heralds a leap in microcontroller capabilities. This synergy between advanced storage and powerful microcontrollers unlocks vast possibilities for data logging, multimedia applications, and beyond. It signifies a fusion of intricate hardware communication and file system intricacies, empowering innovation in embedded systems. The integration showcases the prowess to handle large volumes of data efficiently, revolutionizing the landscape of projects that demand reliable, high-capacity storage and seamless interfacing.

melanie rao said...

The article on SD/SDHC card interfacing with ATmega8/32 is a comprehensive and insightful guide for electronics enthusiasts and embedded systems developers. It delves into the intricacies of integrating Secure Digital (SD) and Secure Digital High Capacity (SDHC) cards with ATmega8/32 microcontrollers, offering a step-by-step approach and clear explanations. The tutorial adeptly covers crucial aspects such as hardware connections, initialization procedures, and data communication protocols, providing readers with a thorough understanding of the interfacing process. With well-documented code snippets and circuit diagrams, the article caters to both beginners and seasoned developers, facilitating an efficient learning experience.
virginia personal injury lawyer
mutual consent divorce maryland

India tourist visa fee for USA said...

Your blog post is a beacon of originality in the vast sea of content! It's remarkably user-friendly, providing readers with a unique and engaging experience. Well done on crafting such a standout piece that captures attention and leaves a lasting impression.

BF Sexy Video said...

BF Sexy Video

lena marcin said...

The project on SD/SDHC card interfacing with ATmega8/32 is a highly informative and practical guide that showcases the seamless integration of storage technology with microcontroller systems. By detailing the process of connecting and utilizing SD/SDHC cards with the ATmega8/32 microcontrollers, the project offers valuable insights into handling data storage and retrieval efficiently.
traffic ticket lawyer Greene va

lena marcin said...

"SD/SDHC Card Interfacing with ATmega8/32 (FAT32 Implementation)" is an informative and technical guide that likely delves into the complexities of integrating SD and SDHC cards with ATmega microcontrollers, particularly focusing on FAT32 file system implementation. The article probably provides a detailed explanation of the necessary hardware connections, software libraries, and coding techniques required for successful interfacing. By offering practical insights, code examples, and troubleshooting tips, the piece serves as a valuable resource for electronics enthusiasts and developers working on data storage projects
traffic lawyer middlesex va
middlesex va traffic lawyer

lazarefalco said...

The project on interfacing SD/SDHC cards with the ATmega8/32 and implementing FAT32 support is both ambitious and impressive. It effectively combines hardware and software elements to enable robust data storage solutions for microcontroller applications. The approach to integrating SD/SDHC cards with the ATmega8/32 microcontroller is executed with precision, offering a comprehensive guide for setting up and managing file systems using FAT32. The project stands out for its detailed documentation, clear instructions, and practical demonstrations, making it a valuable resource for developers seeking to expand their understanding of embedded systems and data handling
acusacion de robo sin pruebas

lazarefalco said...

The project on interfacing SD/SDHC cards with the ATmega8/32 and implementing FAT32 support is both ambitious and impressive. It effectively combines hardware and software elements to enable robust data storage solutions for microcontroller applications. The approach to integrating SD/SDHC cards with the ATmega8/32 microcontroller is executed with precision, offering a comprehensive guide for setting up and managing file systems using FAT32. The project stands out for its detailed documentation, clear instructions, and practical demonstrations, making it a valuable resource for developers seeking to expand their understanding of embedded systems and data handling
despido por hurto con pruebas

«Oldest ‹Older   601 – 729 of 729   Newer› Newest»