Sir, I can't thank you enough for this fantastic channel. It's the only UA-cam channel where I never interrupt any advertisment so that you have a bit of extra income. Keep up the good work.
Clearly not, the only UA-cam channel, that doesn't have *video* *interrupting* advertising. Then you and I probably never have seen every channel, however I have seen enough to of them to falsify your assertion.
@@frankbose544 for the video ads you have to watch them for at least two thirds and for the ads that is like in the lower half of the video, you have to go to the website.
It almost comes naturally, this impulse to shower you and your channel with compliments. I feel grateful for having this information for free. So structured, neat, easy to follow and quite thorough. And I see at the comments that I'm never alone. Your channel is my biggest ally as I started getting into electronics.
If you are using the Tiny RTC module, there is an eeprom module available there also. According to the source that I found when researching why the address scan showed two for the Tiny RTC: "The clock doesn't use the EEPROM at all, it's just there as a convenient place to log data if you so desire".
I think people are just conservative here because the standard for specifying the memory sizes in micros is k/mbits, not bytes, and they have been burned by assuming otherwise.
The ATmega328 uC (used in UNO) does in fact have 1KB of EEPROM and the datasheet reports in MB... so yeah, he misspoke there. However, what can get confusing, is that external EEPROM memory is advertised in Kb (not KB)... and that is the I2C memory unit he demonstrated in his video. Hope this helps...
Thank you for the great instruction, I taught electronics for 13 years, worked in the field altogether for 49 years, never had the opportunity to work on my own projects, and never worked with memory, other than using it in computers. I purchased a couple of Arduino Unos and parts kits, and have been meaning to get into learning how to use them in some projects. You have given me the drive to go ahead with my dreams, thank you!
good video, but one thing you said did not jive with the spec sheet for the Arduino Uno with the ATMEGA328P. It has 1K BYTES of EEPROM memory, not bits.
Yep....I have a project to store some analog data in the eeprom...and I read the same...The uno is about 1024 bytes (not bits)...but the size is about 255 ( 8 bits)...Hence data from an analog that goes up to 1023 ...must be divided by 4 to keep it within a byte!!!
This is the best channel to learn about electronics stuff. I seldom subscribe in any channel, but this I do recommend for everyone. All subject are presented in a clear manner, in clean and neat and well organized workshop, and explained so well, paused and calm voice that everybody can understand even for who is not english native. Congratulation, I am your big fan!!!
Hi Bill, a tip: instead of using the number 13 for the internal LED it would be better to use the predefined LED_BUILTIN constant. This will hold the number of the internal LED dependent on the Arduino model you are working on...
You may want to explain the fail mode of the EEPROM. What do you get if you write too many times? Could you read the last successfully written byte or not?
Welcome back Bill, was waiting for your new video. On one of your earlier vids you mentioned using multiple I2C Masters. That would be very useful and I hope you make the video soon.
Just a small add-in. ROM is normally programmed at silicon level during manufacture. PROM is Programmable Read Only Memory A windowless EPROM was available to be a pseudo-PROM EEPROM = Electrically Erasable Programmable Read Only Memory.
Back in the day I decided to purchase an Alinco DJ-160 VHF portable transceiver, because it used an EEPROM, thus no need for a backup battery. Being aware the memory had a limited number of writes to it, I was conscious about of not changing the contents of the memory channels, unless I absolutely had to, which wasn't often because of the number of channels available. Alas within 5 years the radio quite retaing the memory. Much of my days then where spent outdoors in cold winters, and hot summers, the temperatures where never to the extremes, to make that a fac.tor. Video given, thumbs up, Channell, subscribed to, and bookmarked
Thanks for this information, well presented, precise, and thorough. Very Useful!!! I was able to add an external EEPROM AT24C256 (32768x8) module to my Sensor prototype. I was initally planning to use an SDCard but it requires a lot of Arduino Nano program(40%) and data(49%) memory. My sensor program and data memory requires 50%,72%. After installing the EEPROM module it uses only 53%,72%. I am able to log approx. 28000 characters (2000 14-character strings). This enables me to monitor more than a week of sensor activity (air & water temperature, humidity, pool water level, Internet information, etc.). In addition, if I neglect checking the EEPROM when it is full, I added a circular address mode for the EEPROM. When I DO check it, I always have the most recent week's activity. Another advantage of using the circular mode is its wear-leveling characteristic. One can only safely write 100000 times to a specific address before the EEPROM becomes unreliable. In my case, I am writing to any specific address only once per week, which gives me a guaranteed reliability for my EEPROM of 100000 weeks or 1923 years!!
If anyone is getting a return value of 255, make sure you are using the correct pins on your arduino board for the SDA and SCL of the EEPROM chip. According to the Wire.h library you should use the following: Board I2C / TWI pins Uno, Ethernet A4 (SDA), A5 (SCL) Mega2560 20 (SDA), 21 (SCL) Leonardo 2 (SDA), 3 (SCL) Due 20 (SDA), 21 (SCL), SDA1, SCL1
Great video, I am finding your videos very handy as someone who is just getting into Arduino to make learning basic electronics fun. My advanced starter kit and 45 sensor package should arrive in the next week or two. Have installed Arduino and playing with it to familiarise myself with the programming side. I would be lost already without your videos. So a huge thank you for putting in the time to create your content.
@DroneBot Workshop, I apologize for messaging over 4 years too late, but @ 13:26 I have a strange bug where Instead of seeing the past actual inputs, it's literally updating as I turn the potentiometer? I did update script then read script, but for some reason it's not stored? I am using UNO revision 3 and not sure why it's doing that? Thanks in advance!
@ ~05:09 : an Arduino Uno has 1k BYTES eeprom, not 1k BIT...It's clearly mentionned in the datasheet : "...The Atmel ® ATmega328P provides the following features: 32K bytes of in-system programmable flash with read-while-write capabilities, 1K bytes EEPROM, 2K bytes SRAM, ..." (it says "1K bytes", not 1K bits). I made a little sketch to write some data on it and I can read the entire eeprom which goes from address 0 to 3FF, each address being a byte, not a bit...
Hi Bill.. I have a question which may be a bit off topic but is 'memory' related. I am writing a sketch which I will port to an AT tiny.. The sketch has grown to be too large for the AT tiny to hold. I know I can use an SSD with the raspberry Pi but I have not heard of anyone using external memory (EEPROM, SD, etc..) to actually hold a program for the Arduino. (or AT tiny in my case) Do you know if this is possible? And where might I find some direction on how to accomplish this. Great to see another wonderful tutorial.Thanks. And keep up the great work.
Great Vidoe as allways! I was originally planning to use the EEPROM to save a sensor calibration, but knowing that it can only store 8 Bits, the accuracy is probably not enough for that. Still useful information though, might come in handy at some point.
Hi so how to clear this External EEPROM ? i got some from ali-express and used your sketch to test them, now i like to know how to clean then all out to 000
hi I make a project with arduino and RF module which is open and close a door with stepper motor. I have a problem with the arduino power. when it lose the power it couldn remember the last code and the pins for locking the door is falling or getting out of the rail. could you please help me with the sketch ?
If i have to store the value of 30 variables of a schetck and i can put a button on a nextion display that "save setting in variables" and in the set up i write code to retrieve the settings at startup. It can work also with the internal eeprom of a Mega? Consider that i have many variables that are unsigned long, float etc. Very less are int.
12:01 i think it run addresses so fast they have same values xD value you leave potentiometer is value every address will have. ah okay there was delay xD
either im an idiot or you keep saying it wrong.. EEPROM E - electrically E - erasable P - PROGRAMMABLE!!!!!!!!!!!!!! R - read O - only M - memory you kept not saying the "programmable" part.. you need to be able to program it in order to have something to read.
Hi Bill. Great video as usual. I'm having trouble getting mine to work. Ran the I2C scanner code, and it found 2 addresses for my AT24C256. One at 80 (0X50), and one at 88 (0X58). Even without the servo connected up, I just get all 255's. Looks like it's not recording anything. All connections are as per your video. I'm using a genuine Arduino Uno with a DIP28 chip. Why the two addresses ??
I love your videos DroneBot, BUT... You are wrong about the size of arduino eeprom. Look here for info about arduino eeprom: www.arduino.cc/en/Reference/EEPROM The ATmega328 (Arduino Uno, Nano, Mini)has 1024 BYTES (not bits) The ATmega168 (Arduino Nano) has 512 BYTES The ATmega2560 (Arduino Mega) has 4096 BYTES I see that you have the right information on yoir website, but you should mention this error in this video in the next video. And to clarify the 100 000 writes to the eeprom on arduino....this is ABOUT 100 000 writes per cell, meaning that in thery each adressed byte can be written ABOUT 100 000 times.
Wouldn't it be better to reset the EEPROM default values to 0xFF. This appears to be what a unused EEPROM is. Not sure why they default to 0xFF vs 0x00?
love your content although I find it sometimes too thorough :D. This kind of channel is what makes UA-cam a great source of learning and development. I just couldn't understand the part when the value you try to save is greater than 255 what the procedure is. say I have a value of encoder that goes from 100 - 8000 then how can I store it in eeprom? also using address+1 won't write the same value in multiple addresses? especially when you have many variables you want to store in EEPROM.
Thank you, Sir for the nice video. I have a question, if we are using Arduino mega which have 4kb storage can we store a float value in it instead of int.
I bought EEPROMs on digikey that were capable of holding decent amounts of memory and could go as low as not even 1$ CAD so yes they are very inexpensve. However be ready to read datasheets since you are a huge variety of models made by a massive number of manufacturers. Like I bought some from Microchip. I better be ready to use the basic Wire.h commands haha. Speaking of, using sensors like AM2320 or the i2c eeprom I talked about, but only using basic I2C commands can be a great exercise to learn how to use the peripheral itself. Useful especially since not everything has an arduino library AND if you move to other platforms like STM32CubeIDE, you just learned something valuable Same for SPI, UART, etc...
Very good video...However you keep mentioning that the Uno is about 1 kbits of eeprom...but the spec say 1024 bytes or 1 kbytes. See here www.arduino.cc/en/Reference/EEPROM. There is this misconception that an EEPROM has 100,000 cycles before it gets bad...Let's investigate this issue further ...if you erase an eeprom daily..it will take 100,000/365 = 274 years ....let's say that you decide to erase the eeprom 10 times per day... that means that you reduce the eeprom lifespan to about 27 years...If you happen to have the bad arduino uno...it might last 5 years...The issue is..put that eeprom to work. It is built to last!!
How would you take a Arduino 'midi controller' project in to proper production? Would i simple need to design & create my pcb board then copy my (Arduino ) coded EEPROM chips to my (self) designed PCB board ?
This is a very nice introduction/DEMO of the EEPROM for very beginners. Although :: CAUTION :: the introducer is not mentioning something very fundamental. EEPROM 's blocks (namely addresses) CAN NOT store a number greater than 255 - unsigned integer - or a byte number. Thus in case you need to use it for a real/practic purpose you will need to develop a special Driver-software. In addition to the previous fact you will need to include to the software a piece of code that will prevent loss of data. As a general fact if you try to write a number to your memory and before finished the MCU come with power loss you will lose your data for sure. You want to store the data in order not to lose them but if your Driver is not a proper one there will be always a chance to lose them. Good luck !
Thank you very much for this tutorial! One thing though, according to all resources I have found on the internet other than this one, EEPROM is measured in *kilobytes* not *kilobits*
Well, not exactly... He's got it right. See ATmel AT24C32 (or 64) Datasheet. They are specified in Kilo bits (Kb). Divide by 8 and you'll get number of Kilo Bytes (KB). Hope this helps. Cheers!
@@jimwhitehead1650 I am sorry but I have to disagree with you here. I have just checked the Arduino Uno's EEPROM size and it is 1024 bytes, however the tutorial erroneously says that the Arduino Uno has 1 *kilobit* of EEPROM.
@@somebody9033 Sorry, you're absolutely correct that he misspoke about the ATmega328 uC EEPROM size: it's 1 kilobyte (KB). Perhaps I misunderstood the intention of your original comment "EEPROM is measured in kilobytes not kilobits". I am merely pointing out that external EEPROM (like what he accessed in his video), as a separate product, is marketed in kilobits (Kb). It can be confusing for someone new to the game. Nice catch on his ATmega328 EEPROM size comment, BTW 👍
@@jimwhitehead1650 Thanks! Yes, I am not disputing what you said about external EEPROM but the internal one is definitely 1kB not 1kb. What makes it even more annoying is that the official arduino EEPROM tutorial on their website states that the size of the EEPROM is 1kB but then refers to kilobytes as kb, which is actually the symbol for kilobits...
It's an Electrically Erasable *Programmable* Read Only Memory. First, there were ROMs. These were generally referred to as "mask programmed ROMs" and they were manufactured with the contents of their memory already defined. The memory contents could never be changed and if the program changed, it was necessary to remove the ROM and throw it away while installing a new ROM with the updated program. Then came PROMs, also known as fusible-link ROMs. These came with every bit pre-programmed as a 1, but by using a special programmer and a high voltage, it was possible to make some bits read a 0 instead of a 1. Again, these memories could not be reprogrammed and would generally have to be thrown away and a new ROM or PROM installed if the program ever changed. Next came EPROMs. These used a similar programming method as fusible-link ROMs, but they could be erased by several minutes of exposure to ultra-violet light, then reprogrammed. Finally came EEPROMs. With this technology, almost instant reprogramming could be performed with the memory chip still in the circuit, and high voltages were no longer required. Best of all, it was possible to make EEPROMs read-compatible with the earlier EPROMs. Here endeth the lesson. :)
Thanks for your this video clip, it's very easy to understand. Now I know how to use external EEPROM. if you can make a clip about arlarm clock which use the external EEPROM of I2C RST1307, that's a wonderful thing.
Very inspiring video's! Only one comment... Just take a little pause in between sentences. Though I'm OK in understanding English, It is hard to keep up when you skip to another item in the same sentence. ;-)
Hello Sir good day to you i am trying to write number larger than 255 on 24C16 EEPROM ... can you please give me any reference in the same Read/Write function in your example
Thanks for sharing, I'd like to ask if I want to send a list of values that (each value) larger than 1 byte into EEPROM so how would I change my code, thank you very much!
I found this very interesting but I am a used electronics retriever (SCROUNGER) and I have several old 42 ans 32 pin eeproms I would like to work with. I would be interested in seeing how I could integrate them with an arduino.
In every single one of your videos the effort for building them as educational as possible just pours from my screen.. thank you very much for your effort.. regards from Paraguay! (psss.. in the middle of South America ;D )
i spend many hour today watching your video, very good explanation and demo, great work, i bought an arduino 2 year ago but never try to build something more complexe than the basic turn ON/OFF LED xD, and always found video about "arduino" very hard to understand, but your are the first one that explaine it so well, great job (sorry for my bad english)
Thank you so much for making such a wonderful explanation with the experiments. You are the one of best youtuber I have seen in you tube. . Thank you again 🙂👍 Go ahead sir.
Just starting out in electronics where do you get the software. Just purchased the arduino uno and lookin for any instructional material I can find. Your channel was highly recommended so I am just beginning to follow it. Thanks for sharing Artie 👍
Teaching-Masterpiece. Thanks a lot for your help. Is this technique the better way to command a motor in real-time ? With a temperature sensor for examle ?
when i use the update eeprom it doesnt show anything on the serial number. But when i run the read code eeprom it shows all the numbers it was supposed to show from the update eeprom.
Sir, I can't thank you enough for this fantastic channel. It's the only UA-cam channel where I never interrupt any advertisment so that you have a bit of extra income.
Keep up the good work.
Clearly not, the only UA-cam channel, that doesn't have *video* *interrupting* advertising. Then you and I probably never have seen every channel, however I have seen enough to of them to falsify your assertion.
I don't think they actually get extra money if u watch the hole ad but idk
@@frankbose544 for the video ads you have to watch them for at least two thirds and for the ads that is like in the lower half of the video, you have to go to the website.
your voice is so calming. you're like an electronics bob ross
The lisp is kinda catchy, too.
Fully....agree...He just needs start painting some arduino...few trees...here and there...
@@learningpower9437 happy little microcontrollers
Let’s give this arduino a little friend.
@@dwalden74 I thought it was lip synced lol
It almost comes naturally, this impulse to shower you and your channel with compliments. I feel grateful for having this information for free. So structured, neat, easy to follow and quite thorough.
And I see at the comments that I'm never alone. Your channel is my biggest ally as I started getting into electronics.
AWESOME!Just what I've been starting to research!!!
Thanks for the AWESOME CHANNEL
If you are using the Tiny RTC module, there is an eeprom module available there also. According to the source that I found when researching why the address scan showed two for the Tiny RTC: "The clock doesn't use the EEPROM at all, it's just there as a convenient place to log data if you so desire".
I've checked the ATmega328P data sheet (multiple) and it clearly says they have 1K **Bytes** not Bit's.
I think people are just conservative here because the standard for specifying the memory sizes in micros is k/mbits, not bytes, and they have been burned by assuming otherwise.
The ATmega328 uC (used in UNO) does in fact have 1KB of EEPROM and the datasheet reports in MB... so yeah, he misspoke there. However, what can get confusing, is that external EEPROM memory is advertised in Kb (not KB)... and that is the I2C memory unit he demonstrated in his video. Hope this helps...
Thank you for the great instruction, I taught electronics for 13 years, worked in the field altogether for 49 years, never had the opportunity to work on my own projects, and never worked with memory, other than using it in computers. I purchased a couple of Arduino Unos and parts kits, and have been meaning to get into learning how to use them in some projects. You have given me the drive to go ahead with my dreams, thank you!
good video, but one thing you said did not jive with the spec sheet for the Arduino Uno with the ATMEGA328P. It has 1K BYTES of EEPROM memory, not bits.
Yep....I have a project to store some analog data in the eeprom...and I read the same...The uno is about 1024 bytes (not bits)...but the size is about 255 ( 8 bits)...Hence data from an analog that goes up to 1023 ...must be divided by 4 to keep it within a byte!!!
This is the best channel to learn about electronics stuff. I seldom subscribe in any channel, but this I do recommend for everyone. All subject are presented in a clear manner, in clean and
neat and well organized workshop, and explained so well, paused and calm voice that everybody can understand even for who is not english native. Congratulation, I am your big fan!!!
Hi Bill, a tip: instead of using the number 13 for the internal LED it would be better to use the predefined LED_BUILTIN constant. This will hold the number of the internal LED dependent on the Arduino model you are working on...
Thank you! I was planning to add an SD card to my led matrix display, but 1kb on the Nano should be enough! ❤️
You may want to explain the fail mode of the EEPROM. What do you get if you write too many times? Could you read the last successfully written byte or not?
Welcome back Bill, was waiting for your new video.
On one of your earlier vids you mentioned using multiple I2C Masters.
That would be very useful and I hope you make the video soon.
Helpful information. I like it
Just a small add-in.
ROM is normally programmed at silicon level during manufacture.
PROM is Programmable Read Only Memory
A windowless EPROM was available to be a pseudo-PROM
EEPROM = Electrically Erasable Programmable Read Only Memory.
Back in the day I decided to purchase an Alinco DJ-160 VHF portable transceiver, because it used an EEPROM, thus no need for a backup battery. Being aware the memory had a limited number of writes to it, I was conscious about of not changing the contents of the memory channels, unless I absolutely had to, which wasn't often because of the number of channels available. Alas within 5 years the radio quite retaing the memory. Much of my days then where spent outdoors in cold winters, and hot summers, the temperatures where never to the extremes, to make that a fac.tor. Video given, thumbs up, Channell, subscribed to, and bookmarked
If you still had it, it would probably be possible to replace the EEPROM with a new one. Maybe even one with a longer life.
Thanks for this information, well presented, precise, and thorough. Very Useful!!! I was able to add an external EEPROM AT24C256 (32768x8) module to my Sensor prototype. I was initally planning to use an SDCard but it requires a lot of Arduino Nano program(40%) and data(49%) memory. My sensor program and data memory requires 50%,72%. After installing the EEPROM module it uses only 53%,72%. I am able to log approx. 28000 characters (2000 14-character strings). This enables me to monitor more than a week of sensor activity (air & water temperature, humidity, pool water level, Internet information, etc.). In addition, if I neglect checking the EEPROM when it is full, I added a circular address mode for the EEPROM. When I DO check it, I always have the most recent week's activity.
Another advantage of using the circular mode is its wear-leveling characteristic. One can only safely write 100000 times to a specific address before the EEPROM becomes unreliable. In my case, I am writing to any specific address only once per week, which gives me a guaranteed reliability for my EEPROM of 100000 weeks or 1923 years!!
Recently found your Your tube page, great stuff and you're a great instructor! I'll be watching many more! Thank you!!
dude,loved the production value with the multiple-camera setup, didn't expect that from a tutorial video like this well done sir
If anyone is getting a return value of 255, make sure you are using the correct pins on your arduino board for the SDA and SCL of the EEPROM chip. According to the Wire.h library you should use the following:
Board I2C / TWI pins
Uno, Ethernet A4 (SDA), A5 (SCL)
Mega2560 20 (SDA), 21 (SCL)
Leonardo 2 (SDA), 3 (SCL)
Due 20 (SDA), 21 (SCL), SDA1, SCL1
fantastic video - you explain everything in full detail, thanks dronebot!
Excellent as usual. Can the operation of the servo be carried out without using Arduino but only the EEPROM?
Thanks a lot for explaining about EEPROM so well and in detail. You got a new subscriber!
Hello Sir. Thank you for your great work by sharing your experience. What software are you using for the beautiful wiring diagrams?
I missed your videos. Welcome back and I hope your videos will keep coming in. Thank you and welcome back
Great video, I am finding your videos very handy as someone who is just getting into Arduino to make learning basic electronics fun. My advanced starter kit and 45 sensor package should arrive in the next week or two. Have installed Arduino and playing with it to familiarise myself with the programming side. I would be lost already without your videos. So a huge thank you for putting in the time to create your content.
@DroneBot Workshop, I apologize for messaging over 4 years too late, but @ 13:26 I have a strange bug where Instead of seeing the past actual inputs, it's literally updating as I turn the potentiometer? I did update script then read script, but for some reason it's not stored? I am using UNO revision 3 and not sure why it's doing that? Thanks in advance!
@ ~05:09 : an Arduino Uno has 1k BYTES eeprom, not 1k BIT...It's clearly mentionned in the datasheet : "...The Atmel ® ATmega328P provides the following features: 32K bytes of in-system programmable flash with read-while-write capabilities, 1K bytes EEPROM, 2K bytes SRAM, ..." (it says "1K bytes", not 1K bits).
I made a little sketch to write some data on it and I can read the entire eeprom which goes from address 0 to 3FF, each address being a byte, not a bit...
Welcome back Bill. It's nice to see you again in Workshop. You inspire us man. Thank you !!!
Hi Bill.. I have a question which may be a bit off topic but is 'memory' related. I am writing a sketch which I will port to an AT tiny.. The sketch has grown to be too large for the AT tiny to hold. I know I can use an SSD with the raspberry Pi but I have not heard of anyone using external memory (EEPROM, SD, etc..) to actually hold a program for the Arduino. (or AT tiny in my case) Do you know if this is possible? And where might I find some direction on how to accomplish this. Great to see another wonderful tutorial.Thanks. And keep up the great work.
What’s the difference to the flash? Can you also compile to the eeprom?
Great Vidoe as allways! I was originally planning to use the EEPROM to save a sensor calibration, but knowing that it can only store 8 Bits, the accuracy is probably not enough for that. Still useful information though, might come in handy at some point.
How to control for BT201 Bluetooth module + arduino nano +OLED Display +IR Remote control
Did I hear it right, Arduino Uno has1024 bits of EEPROM which translates to only 128 bytes
An arduino uno does have 1 kiloBYTE of eeprom, 1024 individually addressable bytes
How to create BT201 Bluetooth module arduino support library files
Can anyone explain the meaning of " address >>8" and "address & 0x..."?
Is it standard c/c++?
Hi
Thank you. Was wondering if you can use the Arduino to program MCU too easily i mean.
I try make this experiment but used 24c08w eeprom and connected but the data in recorder not same data biayback can you give me Clarification
Can we use eeprom 24CXX (24C02; 24C04; 24C08; 24C16...) with arduino?
Electrically Erasable PROGRAMMABLE Read Only Memory
Hi so how to clear this External EEPROM ? i got some from ali-express and used your sketch to test them, now i like to know how to clean then all out to 000
hi
I make a project with arduino and RF module which is open and close a door with stepper motor.
I have a problem with the arduino power. when it lose the power it couldn remember the last code and the pins for locking the door is falling or getting out of the rail. could you please help me with the sketch ?
Please, I would like to know If the use of the external eeprom, with your code, will work with a ESP32
If i have to store the value of 30 variables of a schetck and i can put a button on a nextion display that "save setting in variables" and in the set up i write code to retrieve the settings at startup. It can work also with the internal eeprom of a Mega? Consider that i have many variables that are unsigned long, float etc. Very less are int.
27 Thumbs Down! How It That Posible On Such A Great Chanel
Organized, detailed, informative and educational I love this channel
please build arduino nano and nrf2401l based rc transmitter and receiver for drone okay ?
Will this EEPROM code work with an ATtiny85?
Bill, what is EEPROOM in your comment for the write function? :P
12:01 i think it run addresses so fast they have same values xD value you leave potentiometer is value every address will have. ah okay there was delay xD
Would it work with 2764 EPROM? It is a 28 pins ROM chip.
Hi,
Could you use the Arduino to reset/reprogram various BQXXXX ICs that are usually found in laptop batteries ? 🤔😕
Thanks &....
Best Regards,
Excellent content .. Thank You for sharing .. Cheers :)
But how do you retrieve a value your code is looking for? That's really the point isn't it?
Wow first time I've seen a comprehensive use of an eeprom, he he he my projects are about to be interesting even more
Anyone have pointers on flashing a new sketch over the air from mqtt?
brilliant presentation, thank you so much
hi
hello, can you post a video on external eeprom with esp32
either im an idiot or you keep saying it wrong..
EEPROM
E - electrically
E - erasable
P - PROGRAMMABLE!!!!!!!!!!!!!!
R - read
O - only
M - memory
you kept not saying the "programmable" part.. you need to be able to program it in order to have something to read.
Hi Bill. Great video as usual. I'm having trouble getting mine to work. Ran the I2C scanner code, and it found 2 addresses for my AT24C256. One at 80 (0X50), and one at 88 (0X58). Even without the servo connected up, I just get all 255's. Looks like it's not recording anything. All connections are as per your video. I'm using a genuine Arduino Uno with a DIP28 chip. Why the two addresses ??
Just impecable, thank you so much!!!
I love your videos DroneBot, BUT...
You are wrong about the size of arduino eeprom.
Look here for info about arduino eeprom:
www.arduino.cc/en/Reference/EEPROM
The ATmega328 (Arduino Uno, Nano, Mini)has 1024 BYTES (not bits)
The ATmega168 (Arduino Nano) has 512 BYTES
The ATmega2560 (Arduino Mega) has 4096 BYTES
I see that you have the right information on yoir website, but you should mention this error in this video in the next video.
And to clarify the 100 000 writes to the eeprom on arduino....this is ABOUT 100 000 writes per cell, meaning that in thery each adressed byte can be written ABOUT 100 000 times.
Wouldn't it be better to reset the EEPROM default values to 0xFF. This appears to be what a unused EEPROM is. Not sure why they default to 0xFF vs 0x00?
love your content although I find it sometimes too thorough :D. This kind of channel is what makes UA-cam a great source of learning and development. I just couldn't understand the part when the value you try to save is greater than 255 what the procedure is. say I have a value of encoder that goes from 100 - 8000 then how can I store it in eeprom? also using address+1 won't write the same value in multiple addresses? especially when you have many variables you want to store in EEPROM.
Thank you, Sir for the nice video.
I have a question, if we are using Arduino mega which have 4kb storage can we store a float value in it instead of int.
I bought EEPROMs on digikey that were capable of holding decent amounts of memory and could go as low as not even 1$ CAD so yes they are very inexpensve. However be ready to read datasheets since you are a huge variety of models made by a massive number of manufacturers. Like I bought some from Microchip. I better be ready to use the basic Wire.h commands haha.
Speaking of, using sensors like AM2320 or the i2c eeprom I talked about, but only using basic I2C commands can be a great exercise to learn how to use the peripheral itself. Useful especially since not everything has an arduino library AND if you move to other platforms like STM32CubeIDE, you just learned something valuable
Same for SPI, UART, etc...
Good video, however EEPROM stands for Electrically Erasable Programable Read Only Memory
Very good video...However you keep mentioning that the Uno is about 1 kbits of eeprom...but the spec say 1024 bytes or 1 kbytes. See here www.arduino.cc/en/Reference/EEPROM.
There is this misconception that an EEPROM has 100,000 cycles before it gets bad...Let's investigate this issue further ...if you erase an eeprom daily..it will take 100,000/365 = 274 years ....let's say that you decide to erase the eeprom 10 times per day... that means that you reduce the eeprom lifespan to about 27 years...If you happen to have the bad arduino uno...it might last 5 years...The issue is..put that eeprom to work. It is built to last!!
Indeed, I too was confused why he repeated 1kbits of eeprom,
How would you take a Arduino 'midi controller' project in to proper production? Would i simple need to design & create my pcb board then copy my (Arduino ) coded EEPROM chips to my (self) designed PCB board ?
This is a very nice introduction/DEMO of the EEPROM for very beginners. Although :: CAUTION :: the introducer is not mentioning something very fundamental. EEPROM 's blocks (namely addresses) CAN NOT store a number greater than 255 - unsigned integer - or a byte number. Thus in case you need to use it for a real/practic purpose you will need to develop a special Driver-software. In addition to the previous fact you will need to include to the software a piece of code that will prevent loss of data. As a general fact if you try to write a number to your memory and before finished the MCU come with power loss you will lose your data for sure. You want to store the data in order not to lose them but if your Driver is not a proper one there will be always a chance to lose them. Good luck !
Thank you very much for this tutorial! One thing though, according to all resources I have found on the internet other than this one, EEPROM is measured in *kilobytes* not *kilobits*
Well, not exactly... He's got it right. See ATmel AT24C32 (or 64) Datasheet. They are specified in Kilo bits (Kb). Divide by 8 and you'll get number of Kilo Bytes (KB). Hope this helps. Cheers!
@@jimwhitehead1650 I am sorry but I have to disagree with you here. I have just checked the Arduino Uno's EEPROM size and it is 1024 bytes, however the tutorial erroneously says that the Arduino Uno has 1 *kilobit* of EEPROM.
@@somebody9033 Sorry, you're absolutely correct that he misspoke about the ATmega328 uC EEPROM size: it's 1 kilobyte (KB). Perhaps I misunderstood the intention of your original comment "EEPROM is measured in kilobytes not kilobits". I am merely pointing out that external EEPROM (like what he accessed in his video), as a separate product, is marketed in kilobits (Kb). It can be confusing for someone new to the game. Nice catch on his ATmega328 EEPROM size comment, BTW 👍
@@jimwhitehead1650 Thanks! Yes, I am not disputing what you said about external EEPROM but the internal one is definitely 1kB not 1kb. What makes it even more annoying is that the official arduino EEPROM tutorial on their website states that the size of the EEPROM is 1kB but then refers to kilobytes as kb, which is actually the symbol for kilobits...
It's an Electrically Erasable *Programmable* Read Only Memory.
First, there were ROMs. These were generally referred to as "mask programmed ROMs" and they were manufactured with the contents of their memory already defined. The memory contents could never be changed and if the program changed, it was necessary to remove the ROM and throw it away while installing a new ROM with the updated program.
Then came PROMs, also known as fusible-link ROMs. These came with every bit pre-programmed as a 1, but by using a special programmer and a high voltage, it was possible to make some bits read a 0 instead of a 1. Again, these memories could not be reprogrammed and would generally have to be thrown away and a new ROM or PROM installed if the program ever changed.
Next came EPROMs. These used a similar programming method as fusible-link ROMs, but they could be erased by several minutes of exposure to ultra-violet light, then reprogrammed.
Finally came EEPROMs. With this technology, almost instant reprogramming could be performed with the memory chip still in the circuit, and high voltages were no longer required.
Best of all, it was possible to make EEPROMs read-compatible with the earlier EPROMs.
Here endeth the lesson. :)
It would very useful the EEPROM with the Due, ESP8266 or ESP, which don't have it internal like the UNO or Mega
Thanks for your this video clip, it's very easy to understand. Now I know how to use external EEPROM. if you can make a clip about arlarm clock which use the external EEPROM of I2C RST1307, that's a wonderful thing.
Very inspiring video's! Only one comment... Just take a little pause in between sentences.
Though I'm OK in understanding English, It is hard to keep up when you skip to another item in the same sentence. ;-)
Sir can you make another program of changeable password and the password stay permanently in the arduino using 3x4 keypad matrix.
Plz.
Hello Sir good day to you i am trying to write number larger than 255 on 24C16 EEPROM ... can you please give me any reference in the same Read/Write function in your example
Simply superb explanation
Thanks for sharing, I'd like to ask if I want to send a list of values that (each value) larger than 1 byte into EEPROM so how would I change my code, thank you very much!
I found this very interesting but I am a used electronics retriever (SCROUNGER) and I have several old 42 ans 32 pin eeproms I would like to work with. I would be interested in seeing how I could integrate them with an arduino.
Hi. How can I contact with you?? Thanks.
In every single one of your videos the effort for building them as educational as possible just pours from my screen.. thank you very much for your effort.. regards from Paraguay! (psss.. in the middle of South America ;D )
i spend many hour today watching your video, very good explanation and demo, great work,
i bought an arduino 2 year ago but never try to build something more complexe than the basic turn ON/OFF LED xD, and always found video about "arduino" very hard to understand, but your are the first one that explaine it so well, great job (sorry for my bad english)
Thank you so much for making such a wonderful explanation with the experiments. You are the one of best youtuber I have seen in you tube. . Thank you again 🙂👍 Go ahead sir.
The way "A-T-2-4-L-C-2-5-6" rolls right off of your tongue confirms that you're a pro :-P
Can i use this to rest ricoh ri 1000 ink chip
Sir your explanation is excellent.sir upload video about wifi module esp8266
how to backup eeprom data with arduino
Just starting out in electronics where do you get the software. Just purchased the arduino uno and lookin for any instructional material I can find. Your channel was highly recommended so I am just beginning to follow it. Thanks for sharing Artie 👍
Teaching-Masterpiece. Thanks a lot for your help. Is this technique the better way to command a motor in real-time ? With a temperature sensor for examle ?
how i can use eeprom to save value in xod ?
Indeed inspiring. Thankyou
No test of the VOLATILE data... Power off and read EEPROM to see the servo replay.
15:00 - further to your comments earlier in the video, would it not be pertinent to use update instead of write to clear the EEPROM?
when i use the update eeprom it doesnt show anything on the serial number. But when i run the read code eeprom it shows all the numbers it was supposed to show from the update eeprom.
well explained and can understand anyone
You are a very kind Gentleman.
Thank you for the magnificent video. Learned a lot from you !