Increase Flash Programming Memory for Arduino Nano? YES!

Sdílet
Vložit
  • čas přidán 16. 06. 2021
  • #Arduino #arduinonano #arduinoproject #electronics
    Can you add more Flash memory for large Arduino Nano sketches? I'll show you how a fuse setting in Arduino bootloader is losing you 1.5KB of space to nothingness and how to gain that space back. Even a genuine Nano is missing this extra space!
    You will need to reload the bootloader as part of the process so if you haven't seen the video on loading/upgrading bootloader check it out here:
    • Arduino Bootloader Upd...
    FuseByte sketch for verifying current fuse settings:
    github.com/WestfW/fusebytes
    Nano's I use in my videos: amzn.to/2YNt9GI
    More projects:
    / designbuilddestroy
  • Věda a technologie

Komentáře • 32

  • @Bardum22
    @Bardum22 Před 3 lety +5

    Bro lit, I needed this extra 1kb memory for my project to work and not use a uno because of the size, thanks so much

  • @ozgemmo3445
    @ozgemmo3445 Před 2 lety +2

    Simply Brilliant - excellent diction, excellent very understandable explanations - that actually work! You just saved my two bricked Nanos with this and your previous bootloader videos and increased their program size as well! Cheers from Down Under

  • @hds0405
    @hds0405 Před 3 lety +2

    Great material, thank you for sharing!

  • @GeekDetour
    @GeekDetour Před 5 měsíci

    Extremely interesting video. Thanks! I learned a lot.

  • @Nilmoy
    @Nilmoy Před 7 měsíci +1

    whow, I really like this kind of ingenuity. I will do this to my 3 Nano clones too.

  • @KeithZim
    @KeithZim Před 3 lety +1

    I need a 2nd nano. Good STUFF!!

  • @miklostar6997
    @miklostar6997 Před rokem

    Thanks a lot. Great explanation. Very useful.

  • @michaelguy6080
    @michaelguy6080 Před 10 měsíci

    Just An over all Brilliant Solution to a free up more space, and your explanations and methodical sequence for me is spot on, a Thank you over 2 years on from original post.

  • @samdeur
    @samdeur Před 2 lety +1

    just ordered a clone from aliexpress .As i'm new to the arduino world i was / am really grateful for your vid..

  • @OnosTech
    @OnosTech Před 3 lety

    Many thanks. Very helpful

  • @ruftime
    @ruftime Před 3 lety

    Thank you!

  • @Tree2Tool
    @Tree2Tool Před rokem

    Thanks for the video & the clear step-by-step instructions for both videos. Which version of avrdude are you using to skip Arduino's IDE?

  • @iamfyrus
    @iamfyrus Před 8 měsíci

    anyway to do this on portable version of IDE?
    Edit: got it working! Thanks
    And for who use oled screen like me, disable adafruit logo and delete its line from IDE

  • @KSATica
    @KSATica Před rokem

    Quick question and probably a stupid one the memory is on the amount of bytes that remains and 2nd question is there a way to add more memory or upgrade.

    • @DesignBuildDestroy
      @DesignBuildDestroy  Před rokem +1

      Adding memory depends on how you plan to use it. If you mean adding space for program memory (your sketch) technically if you want to write an entire bootloader and compiler you could have your bootloader run on the Nano and pull opcodes from an external flash chip or even an SD card but its not a simple task. I actually did this many years ago for a PIC microcontroller and it took me almost a year to complete, essentially created my own version of Basic or rather a clone of Basic Stamp which was the Arduino before Arduino existed decades ago. Not a simple task. It's not as simple as taking an Arduino Hex code and translating it through your custom loader, although that might be possible if you really dig through the source code and have an excellent understanding of Atmel assembly and op codes.

  • @antoniobugarin
    @antoniobugarin Před 2 lety

    Hi, I don't have the same folders when I open preferences/ C:User\anton\AppData\Local\Arduino15\preferences.txt. I click on this and I have all the same folders, but not the packages folder. Any idea why? Thank you!

    • @DesignBuildDestroy
      @DesignBuildDestroy  Před 2 lety +1

      It seems to vary by installation probably with different versions of IDE along the way when first installed. Never been exactly sure why some people have it set up like mine and others do not. Try looking in C:\Program Files (x86)\Arduino\hardware\arduino\avr

  • @GeekRedux
    @GeekRedux Před 3 lety

    Great info--definitely going to fool around with this. What tool is this at 2:24?

    • @DesignBuildDestroy
      @DesignBuildDestroy  Před 3 lety

      Thanks! 2:24 is www.engbedded.com/fusecalc/
      There are a bunch of "Fuse calculator" sites out there for Atmel all the same stuff. Pick your settings and it puts out what your high, low, extd values should be. I'm using it here in reverse to put in the known hex values to see what the settings actually are. You could do this manually if you want to read the data sheets and convert to binary, these sites save you the trouble.

    • @EvanRustMakes
      @EvanRustMakes Před 3 lety

      @@DesignBuildDestroy Atmel Studio also has a great tool built into the flash utility that allows you to select various options from drop-down menus and then burn your choices.

    • @DesignBuildDestroy
      @DesignBuildDestroy  Před 3 lety

      @@EvanRustMakes Yeah! I tried to keep this simple and stay within Arduino IDE world using the site as a quick reference rather than pointing people to download Atmel Studio and jumping through some hoops. Really the true way to maximize your space if you need every byte is just drop the bootloader all together and get used to using ICSP to flash but I think the simplicity of keeping the bootloader makes it easy for new users to dive right in.

    • @EvanRustMakes
      @EvanRustMakes Před 3 lety

      @@DesignBuildDestroy Ah, ok. I ghostwrite for the Arduino blog and I'm working on an article about your video. Should be up soon :)

    • @DesignBuildDestroy
      @DesignBuildDestroy  Před 3 lety

      @@EvanRustMakes Awesome!! I tried to research WHY the setting was never changed when Optiboot became the standard, as far as I can tell it may have been a miss but boards were already produced and flashed by that point for sale so it was just kept as is and never seemed to be addressed again because they did not want to add yet another menu option for Nano board type. The 2 options are already confusing for new users (Nano, Nano OLD BOOTLOADER) then you'd have a third like Nano New Fuse or whatever making things even more confusing. One of the top issues I see on forums where people get stuck is the fact that lots of folks buy clones that tend to use the OLD bootloader and they aren't always aware they need to use the Old Bootloader selection, so their upload fails.

  • @mitchwright1558
    @mitchwright1558 Před 3 lety

    Please include the link to the text generator web site

    • @DesignBuildDestroy
      @DesignBuildDestroy  Před 3 lety

      One I used is: www.blindtextgenerator.com/lorem-ipsum
      FuseBytes sketch is a better way to confirm the change. I just wanted to show some sort of quick functional demo that uses up 100% of the space

  • @stefanolassandro886
    @stefanolassandro886 Před 3 lety

    I can't find the hardware folder, I'm in the same directory as in the video. Maybe I have to create it manually? I'm using the latest version of the IDE btw :)
    [SOLVED!] Apparently the folder was at: C:\Program Files (x86)\Arduino\hardware\arduino\avr

    • @DesignBuildDestroy
      @DesignBuildDestroy  Před 3 lety +1

      Someone else commented on the first video about Upgrading Bootloader that their boards.txt was same path as yours. May depend how it was installed or if you use App store vs manual download from Arduino - not exactly sure. I've had it installed for a LONG time so maybe things have changed in newer version installer ;)

    • @stefanolassandro886
      @stefanolassandro886 Před 3 lety +2

      @@DesignBuildDestroy Thanks for taking the time to answer :D Even if it wasn't needed anymore, it's kind

    • @AGregPalmer
      @AGregPalmer Před 2 lety

      Nope I can't find boards.txt anywhere on my system.

  • @MikeK8LH
    @MikeK8LH Před 3 lety

    Couldn't you simply program the bootloader & fuses onto the Nano by specifying that the target is an UNO? Of course you'd have to specify it as an UNO in the IDE from then on...

    • @DesignBuildDestroy
      @DesignBuildDestroy  Před 3 lety +2

      For the most part, there is a difference in build variant but I don't think it impacts anything for the overwhelming majority of users. Uno build variant is "standard" and Nano is "eightanaloginputs". When Uno first came out it used DIP package and only had 6 ADC's, Nano used SMD version of the 328 that exposed 8 ADC's. When Uno switched to SMD version, they never added the 2 additional ADC ports on the board I assume to keep the layout exactly the same and not cause any conflict with existing shields...but the UNO does have 8 ADC's in reality.
      The build variant affects a macro somewhere I forget, I'm not totally sure that the variant setting plays any part in loading the bootloader or fuses, I think it plays more in the IDE when building your sketch.