EEPROM Memory - Store Anything - Arduino101

SdĂ­let
VloĆŸit
  • čas pƙidĂĄn 28. 06. 2024
  • High quality PCB prototypes: www.pcbway.com
    3D & CNC service: www.pcbway.com/rapid-prototyp...
    đŸ”„What is the EEPROM memory and how to use it with the Arduino. How to write or read more than 1 byte and store integers or float numbers. How to store text to the EEPROM.
    🔀LINKS
    -------------------------------------
    Tutorial Website: electronoobs.com/eng_arduino_...
    My tools: electronoobs.com/eng_afiliate...
    Occupy Mars T-Shirt: electronoobs-merch.creator-sp...
    đŸ€SUPPORT
    -------------------------------------
    Join my Arduino Course (Spanish): bit.ly/2JY8icE
    ELECTRONOOBS.io: electronoobs.io
    Donate on PayPal: www.paypal.com/donate?hosted_...
    Help my projects on Patreon : / electronoobs
    my Q&A page: electronoobs.io/forum/index.php
    Facebook page: / electronoobs
    Canal en Español: / electronoobs en español
    00:00 Intro
    01:37 What is EEPROM?
    04:34 EEPROM structure
    06:00 EEPROM.read
    06:34 EEPROM.write
    08:55 EEPROM.get
    10:22 EEPROM.put
    12:51 Thank you!
    Like share and subscribe to motivate me. Thank you
    #Arduino101
    #tutorial
    #EEPROM
  • Věda a technologie

Komentáƙe • 142

  • @THEELECTRICGUY
    @THEELECTRICGUY Pƙed 2 lety +40

    7:43 Everytime you connect the power to the arduino the void setup code also runs which rewrites the EEPROM memory with '25'! So technically you can not say that the data you saw on the serial monitor was past data!
    I think you could have input the data using the serial monitor which then you have stored to EEPROM and then unplug and plug the power again to check that if the data is there or not! This might be the technically correct way of doing this!
    :)

    • @ELECTRONOOBS
      @ELECTRONOOBS  Pƙed 2 lety +7

      Thank you, but it was just to make an exampel of how to use the EEPROm.write function. If I use it in the void loop for that simple example, it would write it over and over again. In a read scenario, you would make an if() and decide to write or not to the EEPROM probably.

    • @THEELECTRICGUY
      @THEELECTRICGUY Pƙed 2 lety +1

      @@ELECTRONOOBS Yea! That seems good!
      Thanks for the great video! :)

    • @wires4auto
      @wires4auto Pƙed 2 lety +2

      Also you could read the value from a POT and save it in the EEprom and just use the update. Have a print value in the setup so every time the power is connected you'll see the last value

    • @k0pR0LiTh0s
      @k0pR0LiTh0s Pƙed 2 lety +3

      Just delete the line EEPROM.write(0, 25); from the setup loop and upload again before you run for a second time.

    • @silverismoney
      @silverismoney Pƙed rokem +1

      ​@@k0pR0LiTh0s or use the 'update' function in the reference at 6:00, the one that only updates the value if it's not already there.

  • @stitchinginthebarn8307
    @stitchinginthebarn8307 Pƙed 2 lety +16

    Seriously, I was just wondering this week how to work with the EEPROM. Thanks!

  • @bibel2k
    @bibel2k Pƙed 2 lety +3

    As always,
    well edited, well explained and very well informed.
    Thank you!
    Keep up the amazing work

  • @Codify1234
    @Codify1234 Pƙed 3 měsĂ­ci

    I started loving EEPROM after watching this. Keep it up!

  • @FridayParanormal
    @FridayParanormal Pƙed 2 lety +1

    Great video! One of the best explanations of EEPROM I've seen.

  • @uzairbukhari99
    @uzairbukhari99 Pƙed 2 lety +1

    This is so helpful. I had made a robotic hand with servos with pan and tilt. and hand control. Each time I would switch to either of them the values would return to default. This will help me improve the project

  • @davebutler3905
    @davebutler3905 Pƙed rokem

    Thank you for explaining this so well !!!
    Using example uses and how to achieve them is so much better than just explaining theory!

  • @surajchari9715
    @surajchari9715 Pƙed 11 měsĂ­ci

    best eeprom tutorial by far . Thank you very much sir

  • @PhG1961
    @PhG1961 Pƙed 2 lety

    Interesting and entertaining ! As usual !

  • @FixTronics
    @FixTronics Pƙed 2 lety +1

    Great explanation
    We always learn new things here
    Thank you so much

  • @sarathai2876
    @sarathai2876 Pƙed 2 lety

    Great video, I'm going to have to watch this one a few times, lots of good stuff. Thanks

  • @Steve-wx1gk
    @Steve-wx1gk Pƙed rokem

    Thank you so much I finally understand how it works and how to use it.
    You are the best!!!!
    Awesome Video👍👍👍

  • @marian20012
    @marian20012 Pƙed rokem

    wow, advanced explanations. it is very nice to see deeper view.

  • @francyhacker3454
    @francyhacker3454 Pƙed 2 lety

    Please make more videos about this series! It's very interesting and useful, hi from italy!

  • @JLCPCB
    @JLCPCB Pƙed 2 lety +1

    Very good explanation! 🙂

  • @TheUnofficialMaker
    @TheUnofficialMaker Pƙed 2 lety

    very clear explanation and examples,well done

  • @robertrobert5583
    @robertrobert5583 Pƙed rokem

    Very clear and helpful explanation. Thank you.

  • @stefanszabo3
    @stefanszabo3 Pƙed rokem

    Nice work ! Thank you so much. Good luck !

  • @AnandKumar-ym9yw
    @AnandKumar-ym9yw Pƙed 2 lety

    thank you for shairing such a valuable topic.

  • @krishnareddy2042
    @krishnareddy2042 Pƙed 2 lety

    just the one I needed

  • @DucatiMTS1200
    @DucatiMTS1200 Pƙed rokem

    Excellent video. Very helpful and informative👍.

  • @lisandroiaffar4501
    @lisandroiaffar4501 Pƙed rokem

    Excellent tutorial, thank you very much!!! :)

  • @ivovass195
    @ivovass195 Pƙed 2 lety

    Very useful information, thank you for teaching me something new

  • @KAMIPROJECTS
    @KAMIPROJECTS Pƙed 2 lety

    Your the best bro....thanks for the information.

  • @s3rkanAGA
    @s3rkanAGA Pƙed 11 měsĂ­ci

    Thank you man, this video worked for me

  • @cristianprocommandYT
    @cristianprocommandYT Pƙed 2 lety +1

    You are the beast!

  • @emailuser3869
    @emailuser3869 Pƙed 2 lety

    Great video!!😄

  • @VorpalForceField
    @VorpalForceField Pƙed rokem

    Excellent ..!!! Thank You

  • @darshananvekar5389
    @darshananvekar5389 Pƙed 2 lety

    Awesome bro 😎
    Love from INDIA 🇼🇳

  • @electronic7979
    @electronic7979 Pƙed 2 lety +1

    very informative video.

  • @xavier_le_x
    @xavier_le_x Pƙed 2 lety

    Very usefull and interesting video ! Thanx !

  • @iracamfox
    @iracamfox Pƙed 2 lety

    Very nice!! Ty!

  • @Oshan_Dissanayaka
    @Oshan_Dissanayaka Pƙed 2 lety

    Wow. Great bro... Thank You...😊

  • @billglass5160
    @billglass5160 Pƙed 2 lety

    Thanks, nice video! EEPROM's are very useful. I use the internal or external (24C256) to log c-strings of variable size. It's for debugging my sensor code over several days. I can then connect my pc and dump the contents of the EEPROM on the serial monitor.

  • @alirezaahmadian4237
    @alirezaahmadian4237 Pƙed 2 lety

    great explanation

  • @mhaythamabdel5929
    @mhaythamabdel5929 Pƙed 2 lety

    Excellent.
    Cheers

  • @SniperUSMC
    @SniperUSMC Pƙed 2 lety +1

    Great videos! I'm new to arduino, so question is, can you write to USB drive and store program there or SD card rather than EEPROM?

  • @usefulelectronics
    @usefulelectronics Pƙed 2 lety +12

    Hi,
    EEPROMs are quite handy and useful to work with. However, they suffer from slow writing/reading speed (I2C) and small data storage capability. A nice improvement is to give NOR Flash ICs a try since they feature larger data storage capacity and faster to deal with.
    Nice tutorial keep it up !!

    • @HussamAldean
      @HussamAldean Pƙed 2 lety +2

      Interfacing those NAND and NOR flash require special hardware that comes with STM32.
      They offer FMC specific to interface those type of storage beside the QSPI and OctaSPI flash system

  • @sheikhhassan4620
    @sheikhhassan4620 Pƙed rokem

    Well explained and we'll edited

  • @wires4auto
    @wires4auto Pƙed 2 lety

    I am working on a project where I need to store upto 4 RFID card IDs and a small encryption bit. Going to give the put and get function ago cheers

  • @ranganatennakoon
    @ranganatennakoon Pƙed 2 lety

    101 is the best

  • @hadibq
    @hadibq Pƙed rokem

    Nice video as usual! Thanks.
    Qst though.. in your example, you left the value assignment 25 in the setup. that would have been better to do an example that increments an eeprom byte with a button. then disconnect and reconnect to confirm the memory retention

  • @HussamAldean
    @HussamAldean Pƙed 2 lety +3

    Hi,
    thank you for the tutorial and effort you put in those videos.
    On another hand, I don't recommend using eeprom,put to store more than 1 byte. It might effect a previously stored data and ending up with useless data.
    My recommendation is to divide the float or int to 4 byte manually by mean of shift operation and store them manually.
    This method will let you know where the data stored and avoid overwritten the previous values.

    • @sammin5764
      @sammin5764 Pƙed 2 lety

      Christ

    • @TechnoEveryday
      @TechnoEveryday Pƙed 2 lety +1

      I was also wondering about this issue. But don't understand how to handle it

    • @conorstewart2214
      @conorstewart2214 Pƙed 2 lety +1

      You just need to know the size of everything you are storing and make sure that none of it would overlap and probably create a diagram or map to know where everything is, another way would be to have the address auto increment by the size of the data to be stored but that is most useful if you are writing a sequence or set of data sequentially and reading it sequentially.

  • @prathambumb5593
    @prathambumb5593 Pƙed 2 lety

    Thank You

  • @Oblivianist
    @Oblivianist Pƙed rokem

    Nice Content

  • @cristianprocommandYT
    @cristianprocommandYT Pƙed 2 lety +1

    Wow!!

  • @ozgurege6613
    @ozgurege6613 Pƙed rokem +1

    Put and get like write and read function or update function

  • @TecSanento
    @TecSanento Pƙed 2 lety +5

    You could have told the Viewers how to Map the Content of your EEProm for the entirety Sketch - to not have conflicting Adresses and length. Also it would be important that the eeprom keeps it value’s if you reflash your development arduino for the next project - which could cause unwanted behaviour if not accounted for

    • @TecSanento
      @TecSanento Pƙed 2 lety +1

      I usually solve this by only writing a single union struct to eeprom with a single first static integer version - if the version doesn’t match my constraints - als eprom data is erased

  • @markvetrov3929
    @markvetrov3929 Pƙed 2 lety

    The arrow on poster points to the wrong place. This is Atmega32u which provides USB-to-TTL connection. EEPROM is a part of a chip, it can't be seen

  • @antroid4042
    @antroid4042 Pƙed 2 lety +5

    Let's say I want to 'put' an Integer value of 300 to address 0, I assume then the function is internally using the addresses 0 and 1 (assuming an Int takes 2 bytes).
    So, if I don't take care of this and 'put' another value (let's say 0) to address 1, is my previously stored 300 partially (silently?) overwritten and now i would 'get' back 44 (or 256, depending on byte-order)?
    So I would still have to know/keep in mind the length (-> sizeof()?) of an integer and start at address 2 for the next value to 'put'/write?
    I think this wasn't mentioned (or I missed it ;-/), or am I wrong with this assumption?
    [Update: Sorry, never mind: I just realized that it was actually mentioned at ~10:04 (-> reading/writing 2 bytes)]

    • @ELECTRONOOBS
      @ELECTRONOOBS  Pƙed 2 lety +3

      You don't have to keep in mind that because the EEPROM.get function dose that automataically. If you write EEPROM.get(0, brightness); and you defined the brightness variable as int, the function will automatically know to read 2 bytes. If you define brightness as float, it would read 4 bytes and so on.
      On the other side, yes, if you put 2 bytes on address 0 and 1 and then you put 1 more byte on address 0, it will overwrite it, that's obvious.

    • @ipadize
      @ipadize Pƙed 2 lety

      @@ELECTRONOOBS im not a programmer. Does that mean, that when i write an integer (2 bytes) to adress 0 that the next integer has to be written on adress 2 or does it not matter how long an integer or float is meaning i can put one integer on address 0 and then the next float on address 1 and the next integer on address 2?
      basically like this:
      Address 0: Integer
      Address 1: Float
      Address 2: Integer
      Address 3: Integer
      Address 4: Float

  • @jeremycrouse3215
    @jeremycrouse3215 Pƙed rokem

    Have any videos on writing and reading eeprom without using the Arduino functions

  • @sinjhguddu4974
    @sinjhguddu4974 Pƙed 2 lety

    Neat!

  • @DJ_GrenadianEmpire
    @DJ_GrenadianEmpire Pƙed měsĂ­cem

    Can you make a chip resetter for ricoh ri 1000 chip?

  • @aaronbadillo8018
    @aaronbadillo8018 Pƙed rokem

    I want to use this to reset the model material counter on a spool of filament for a Mojo 3D Printer. The chip model is AT88SC 25616C Atmel. Any chance you can make a video on that?

  • @kennethfajardo5121
    @kennethfajardo5121 Pƙed rokem

    hello sir, can sd card do the same thing that eeprom can do which is the getting the data/ retrie
    ving data?

  • @narikodanhridul2845
    @narikodanhridul2845 Pƙed rokem

    Sir, if I need to use a external eeprom and I'm using a development board which have multiple i2c pins. Where should I configure those pins.

  • @algre977
    @algre977 Pƙed 2 lety +1

    I tried this with Attiny85 it didn't work, even after setting high fuse to D7 (instead of default DF) in bootloader! Any clues ?

  • @kennethfajardo5121
    @kennethfajardo5121 Pƙed rokem

    Hello Sir, can I write decimal values on EEPROM?

  • @Simcadepro
    @Simcadepro Pƙed 2 lety

    The question remains how to extract the firmware off the chips. i use Microchip MPLab PicKit4 to extract the hex file to create another device. u can read and write to any arduino using this device. but it would be noooice to have content based on that process. especailly when u break the usb port off

  • @sathishkumar-pc4gb
    @sathishkumar-pc4gb Pƙed rokem

    hey boss can you put more tutorial in depth thing in arduino 101 series please

  • @migojolo2933
    @migojolo2933 Pƙed 2 měsĂ­ci

    How to use external eeprom chip?

  • @gokulkrish7256
    @gokulkrish7256 Pƙed 2 lety

    Thank you bro...
    Btw the ESC is working...😃😁...
    ♄♄

    • @ELECTRONOOBS
      @ELECTRONOOBS  Pƙed 2 lety +1

      Glad to hear that! What's your max RPM with it?

    • @gokulkrish7256
      @gokulkrish7256 Pƙed 2 lety

      @@ELECTRONOOBS It was around 10500 RPM , I used 1100KV motor with 3S lipo.
      And truly you are a genius to bring up a project like this to enlighten us. Thank you so much bro.

  • @inventorkr1
    @inventorkr1 Pƙed 2 lety

    👌👌👌💛💛💛💛💛💛💛💛💛💛💛

  • @asambleamecatronica5785
    @asambleamecatronica5785 Pƙed 2 lety

    Thank you for sharing your knowledge buddy. I have a bin file that was read from 93c76 through ezp2019. When i load bin file and try to White it and click verify it's showing: "flash check error address 0h". I cannot write 93c76 eeprom. Have you experiencie issue before? I have tried with different 93c76 eeproms, diferente ezp2019 and diferente computer and still unable to write my bin file :-( have you seen this before?

  • @undefinedman2843
    @undefinedman2843 Pƙed 2 lety +1

    Dear Electronoob,
    Can you tell me the difference between eeprom.write and eeprom.update function is both are same or different?
    Does eeprom.update function reduce the writing life cycle of micro-controller as eeprom.write function does because as mention atmega328p has 1M(million) write cycle it means if we write 1M times it writing life exaust does it is same for eeprom.update function? (Sorry for bad english)

    • @HussamAldean
      @HussamAldean Pƙed 2 lety +4

      EEPROM update reads the current address and compare it with the value to be stored.
      Of they are the same, no write shall be done.

  • @faturahmanf3024
    @faturahmanf3024 Pƙed 2 lety

    Can i save more than one variable using eeprom.put? For example i want to save variable on "eeprom.put(0, data1);
    eeprom.put(1, data2); and what data type can i use if i want to use integer variable but its more than 2 byte?

  • @watchvideo7225
    @watchvideo7225 Pƙed 12 dny

    Doesn't the "put" method use up 2 adresses? how else is it going to store 2 bytes?

  • @bheeshmavasuprasad
    @bheeshmavasuprasad Pƙed 2 lety +1

    Hey, I am making my own arduino uno and noticed that the price atmega328p ICs are skyrocketing and stocked out. Do you know hy is that?

    • @arminth
      @arminth Pƙed 2 lety

      Did you live under a stone during the last two years? Covid? Ever heard of it?

  • @demianxldc
    @demianxldc Pƙed 2 lety

    35p08 eeprom how

  • @SyedTalhaAhmed-dg4fz
    @SyedTalhaAhmed-dg4fz Pƙed 2 měsĂ­ci

    Is there any way to read/write this memory or any other option like memory faster then 3ms? Can we read/write in micro seconds? I'm using a clock of 3k, thus has a time frame of 333u. So, I want to store and read ADC value as fast as possible because I have to react as soon as possible if detect any change in analog value at A0;

  • @technicalgaming7056
    @technicalgaming7056 Pƙed 2 lety +1

    Sir can you please tell us how to learn basics to programme a Arduino please

    • @technicalgaming7056
      @technicalgaming7056 Pƙed 2 lety +1

      Sir i want to make Arduino project but I didn't know about coding . How to start it can you please explain it .

    • @conorstewart2214
      @conorstewart2214 Pƙed 2 lety

      @@technicalgaming7056 Look up tutorials, its not difficult to find information about arduino.

  • @aniketkumbhar5816
    @aniketkumbhar5816 Pƙed 2 lety

    make more videos on FPGA & verilog

  • @space_engineer17
    @space_engineer17 Pƙed 2 lety

    3:31 It would be more awesome if you have mentioned the size of transistor

    • @conorstewart2214
      @conorstewart2214 Pƙed 2 lety

      They will probably change size depending on how they were manufactured. Older EEPROMs will most likely use larger transistors than newer ones. Its also not really relevant information as it can change and it doesnt really change the implementation at all, might effect things like density and power consumption though.

  • @sanjaybatra6593
    @sanjaybatra6593 Pƙed rokem

    EEPROM.write(0,60); lcd.print(EEPROM.read(0)); EEPROM is not storing values permanently. when I block this line //EEPROM.write(0,60); .... and run the program again after switch on/off power... its shows 255 value ?

  • @jagannathkulkarni
    @jagannathkulkarni Pƙed rokem

    Thanks a lot for giving such an invaluable information in such a simple way. you are simply great, :} .I cant see put and get functions for ESP8266 boards. How to deal with them ?? and one more favour, Will you enlighten us with the use of FRAM/NVRAM in detail please !!!

  • @user-kn5sk1xr4j
    @user-kn5sk1xr4j Pƙed 2 lety +2

    Do you and great scott know eachother?

  • @erikkalmar4965
    @erikkalmar4965 Pƙed 2 lety

    Hi!
    Nice job bro!
    I looking for nrf rc car control, and in your channel i found the example for that.
    But i dont know how to put to gether because of the interference between the 3 phase motor and the nrf.
    Any useful tips?
    (sorry if i didn't write something completely understandable i don't know perfect english but i tried)

    • @conorstewart2214
      @conorstewart2214 Pƙed 2 lety

      What do you mean interference between the motor and nrf? I take it by 3 phase motor you mean BLDC, I have built drones and RC cars and never had any interference. If you are powering the ESC from the same 5V as the arduino and nrf24 then you probably shouldnt be, the ESC should be powered direct from the battery and the NRF24 and arduino should be powered from a 5V converter connected to the battery, thats the only way I can see you having problems with interference, either that or your converter is very poorly designed and doesnt have capacitors.

    • @erikkalmar4965
      @erikkalmar4965 Pƙed 2 lety

      @Conor Stewart I'm thinking of emf, what can bother the receiver because the receiver has 2 communication wires and such pulses can be strong enough for the signal to be noisy enough not to work as intended, im watched a lot of video about this to understand about how it works together, but this interfearing variable is a litlebit confuseing me.
      Anyway thanx the information about this knowlage what u have!

    • @conorstewart2214
      @conorstewart2214 Pƙed 2 lety

      @@erikkalmar4965 Have you actually built it and tried it? If you havent built it and are worrying about it then you are probably worrying about something that wont make any difference at all.

    • @erikkalmar4965
      @erikkalmar4965 Pƙed 2 lety

      @@conorstewart2214 Yes I build it and tried it, and the resoult is interesting.
      It is working nincely but i dont know why some times the signal is looks like a litle bit noisy.
      The servo is delayed if its happening, and the motor speed control is delayed too, i dont know it is just because the noise, or someting else cause this
      Actualy the powersuply is not a problem i use the esc power output for this, and if i try this with battery or anythig else, same thing happening, i gues if some how the communication line get more gnd wrapped around it with a thicker cable can solve the problem, but now i dont have thicker cable sadly for this.
      So i need to look around and see if i found something usefull for this purpose.
      So sorry if im not realy understandable in english😅

    • @conorstewart2214
      @conorstewart2214 Pƙed 2 lety

      @@erikkalmar4965 What signals look noisy? Are you looking at the SPI signal using an oscilloscope? The ESCs 5 V output may be the problem, especially if it is a cheap ESC. I find it surprising you have problems when I havent had any, and I used a cheap chinese fake without twisted wire pairs or anything with its wires right beside my ESC power wires and the nrf24 right beside the three wires that go to the motor and had no problem at all. Your nrf24s may be fake and that may be why you are having issues, especially if they were really cheap. Your problem with delays could be because of the arduino, depending on your code it might be too slow or if you use a lot of blocking functions, you might miss data packets. Are you using the ones with the external antenna or a built in antenna because I've heard that the cheap fakes that have the pcb antenna have a really terrible range.

  • @kokom1825
    @kokom1825 Pƙed 2 lety

    👍

  • @GrandNecro
    @GrandNecro Pƙed 2 lety

    so if I write a 4byte float on address 0, do I put the next value on address4 or address1?

    • @ELECTRONOOBS
      @ELECTRONOOBS  Pƙed 2 lety +1

      Yes, on address 4, otherwise you would overwrite the previous data

    • @GrandNecro
      @GrandNecro Pƙed 2 lety

      @@ELECTRONOOBS thank you

  • @Andrew-rc3vh
    @Andrew-rc3vh Pƙed 2 lety

    EEPROMs are often featured on SoC ics but if you look in the datasheet they have a limited number of writes. The chip I use, I think it is guaranteed at 100k writes. It sounds a lot, but if you program is say updating it once a second then you will end up with an unreliable program and wonder why it is so temperamental. The solution is to use a memory controller. This will mark faulty parts of the memory so the controller switches to a fresh block of memory and does all this without you worrying about it. I need a lot of flash so I now use and SD card which has a built in controller. This never fails.

    • @conorstewart2214
      @conorstewart2214 Pƙed 2 lety +1

      EEPROM is more used for storing settings or data that wont change for a while, not like for writing once a second, flash devices like emmc or SD cards or SPI flash have less write cycles than EEPROM, but they are bigger so wear levelling can be used to greatly increase their lifespan. I also think you may be confusing EEPROM and flash, they are similar but they are not the same. SBCs with built in storage usually use EMMC, which I think you probably mean rather than EEPROM, they are very similar to SD cards and in a lot of cases are actually more reliable than SD cards.

    • @Andrew-rc3vh
      @Andrew-rc3vh Pƙed 2 lety

      @@conorstewart2214 I did mean EEPROM. With a SoC you often get a small amount of EEPROM as well as flash, and the EEPROM is supposed to have about ten times the write life. The sort of thing you may want to do a lot of writes is say when you want to record the time you switched the system off or perhaps when it crashes and you want the most up to date time or possibly other varying data. I do not have an EMMC in the Soc I use but do have and SDIO interface.

    • @conorstewart2214
      @conorstewart2214 Pƙed 2 lety

      @@Andrew-rc3vh "I need a lot of flash so I now use and SD card", you went from talking about EEPROM to flash and SD cards. Lots of modern microcontrollers and probably SoCs too dont have EEPROM, they just emulate it using flash, so you lose most of the benefits of using EEPROM, I know STM32 does this, I know teensy does this, the rp2040 doesnt have it either. You also talk about memory controllers and EEPROM, I've never seen that before, and you talk about fresh blocks of memory, which sounds a lot like flash, so you can probably see why I thought you may be confused.
      You also stated that sd cards never fail, they actually have a very high failure rate compared to other types of memory, for example in my phone I use an SD card for storing things like photos and about once a year the whole card fails so that it becomes unwritable, I can only read it from then on, and I use good main brand cards. If you look at forums and similar you will see that SD cards fail very often compared to the likes of EEPROMs, SPI flash, EMMC etc, it does have the advantage of being easily replaceable but it still fails faster.

    • @Andrew-rc3vh
      @Andrew-rc3vh Pƙed 2 lety

      @@conorstewart2214 Hmm, it seems odd that it fails more often if it is the same memory. Perhaps that might have something to do with the connections. Actually given the choice I would have liked the small bit of memory to cope with a lot of writes because I had it so arranged that it would still work without the SD card and write to internal flash if it were not inserted. Anyhow this has to write the time once a second, so now i arrange it so the part of the memory it writes to advances as the log records data. It's a complicated thing to explain fully, but it does work 100% reliably now. I used to need to store various pointers, but that's all taken care of in the new scheme.

    • @conorstewart2214
      @conorstewart2214 Pƙed 2 lety

      Andrew it’s really not all that complicated to explain, you are pretty much just creating a log file, just recording data and moving through the storage writing it sequentially one after the other. Unless there is something else you are doing too.

  • @agratx8388
    @agratx8388 Pƙed 2 lety

    Y la versión en español?.. Pa' cuando ?

  • @user-bb8yb2mu6l
    @user-bb8yb2mu6l Pƙed rokem

    Hi. How can I contact with you?? Thanks.

  • @sammin5764
    @sammin5764 Pƙed 2 lety

    🎖đŸŒč🎖

  • @sammin5764
    @sammin5764 Pƙed 2 lety

    🌟🌟🌟🌟🌟

  • @ELECTRONOOBS
    @ELECTRONOOBS  Pƙed 2 lety

    My Tools: bit.ly/3uv8bc3
    Arduino Course LEVEL 2 (Spanish): bit.ly/2ZNWgqy
    Follow me on FACEBOOK for more: facebook.com/Electronoobs
    Help me on Patreon: www.patreon.com/ELECTRONOOBS

  • @aleXelaMec
    @aleXelaMec Pƙed 6 měsĂ­ci

    it doesnt work with strings!! (((( all other stuff does.

  • @paulpixzy5297
    @paulpixzy5297 Pƙed rokem

    Plea

  • @y2ksw1
    @y2ksw1 Pƙed rokem

    You left incidentally the write instruction in setup(). This little error voids the proof 😄

  • @Jose-tw9bl
    @Jose-tw9bl Pƙed 2 lety

    Flash memory is also permanent isn't it? I didn't quite get the diference Interesting video!

    • @ELECTRONOOBS
      @ELECTRONOOBS  Pƙed 2 lety +1

      That is also permanent, yes. But that is for a different video...

    • @Jose-tw9bl
      @Jose-tw9bl Pƙed 2 lety

      @@ELECTRONOOBS thanks for the reply!

  • @fernandohood5542
    @fernandohood5542 Pƙed 2 lety

    Try doing this without a library. LOL!!!

  • @Nebbia_affaraccimiei
    @Nebbia_affaraccimiei Pƙed 6 měsĂ­ci

    7:54 LOL. of course its still there, you wrote it AGAIN during the setup. this does not prove it's not volatile.

  • @COW879
    @COW879 Pƙed 2 lety +1

    Moo

  • @azizxonmasaidov7278
    @azizxonmasaidov7278 Pƙed rokem

    clas

  • @failedengineer19
    @failedengineer19 Pƙed 2 lety

    Little suggestion cause I like ur channel.🙂🙌...i recommend adding some humor along ur explaination cause ur way too seriously reading script sounds like robot.... Don't mistook my suggestion as judgement...we can use some jokes if possible...

    • @ELECTRONOOBS
      @ELECTRONOOBS  Pƙed 2 lety +2

      there's no humor in science, only science hahahaha just kidding, I'll try!

    • @TechnoEveryday
      @TechnoEveryday Pƙed 2 lety

      @@ELECTRONOOBS i like your narration style

  • @tyronenelson9124
    @tyronenelson9124 Pƙed 2 lety

    eeproms constantly spit out their binary values within their memory on the data lines that they are connected to, especially in devices that need to remember settings like Christmas lighting controllers, they are like electronic reminders.

    • @conorstewart2214
      @conorstewart2214 Pƙed 2 lety

      That happens with EEPROMs that have address and data pins that you access in parallel, rather than I2C or SPI EEPROMs.

  • @adaoudiyassine7239
    @adaoudiyassine7239 Pƙed 2 lety

    do you kmow that i was writing a code that very complicated in orders to store a float variable in eeprom by using eeprom.write . thank you for the (get and put ) hhhhhhh

  • @rahmatselamat5622
    @rahmatselamat5622 Pƙed rokem

    Hi.. why arduino only can upload the program from pc to board but cannot download program from board to pc? Is it possible to make a board like that..

  • @ricodegallo3060
    @ricodegallo3060 Pƙed 2 lety

    👍