Blog Home

Issues with the new Arduino UNO Smd edition

Massimo BanziJanuary 20th, 2011

A few days ago we announced the release of the new Arduino Uno SMD that was made quite in a rush to compensate the global shortage of through hole parts that is affecting many manufacturers, ATMEL included.

We have received reports from a handful of users that their boards had a strange issue where the processor would not start the last sketch that had been uploaded. This was particularly annoying as it didn’t show up in our test done at the factory and it seems to affect only some of the Uno SMD boards.

After a few tests we determined that this happens when the board is unplugged and plugged back in triggering a bug in the new bootloader.

The new version of the bootloader is available here

If your board has a serial number between 317000 and 317999 they might be affected by this bug, please return your board to the distributor and you’ll get a new one for free, that’s the Arduino policy that every official distributor is bound to.

In case you know what an ISP programmer is, you can fix your board in 5 minutes by reprogramming the bootloader.

In the next few days we’ll post more tutorials for the ones who would rather fix the board themselves.


24 Responses to “Issues with the new Arduino UNO Smd edition”

  1. Philip Says:

    Are these shipping yet? I’m a distributor and there was no product announcement (other than on the blog here) and they are not in the distributor store.

  2. Philip Says:

    I’ve had success uploading the new bootloader like so:

    * Download

    * Replace the file in “/hardware/arduino/bootloaders/optiboot/optiboot_atmega328.hex” with the downloaded file. (The prefix depends on your operating system. e.g. on a Mac the prefix is “”) (Make an optional backup first.)

    * Connect your programmer (or Arduino as programmer).

    * Select “Tools > Board > Arduino UNO”.

    * Select “Tools > Burn Bootloader > w/ ….” and the appropriate programmer type.

    * Wait for bootloader to be uploaded.

    You’re done.

    (This assumes that the new bootloader for the SMD is compatible with
    the non-SMD version also–if this isn’t the case then you should definitely make a backup copy of the original file.)

    I did this with a USBtinyISP programmer and it Worked For Me.

  3. TheDarkIn1978 Says:

    i’m embarrassed to ask, but where is the serial number on the board? i can’t seem to locate it.

  4. Tech Support Tim Says:

    Hey Everyone,
    Sparkfun has been working closely with our customers to repair the effected boards. If you already have an Arduino that works, or you have an AVR programmer you can fix this issue by burning a new bootloader. One of our great Techs wrote a tutorial on how to reload your bootloader. This might help anyone struggling with this problem. It’s also good if you just want to brush up on your skills.
    Check it out

  5. Mike Says:

    When will the SMD version become available to your sole European distributor – e-Lioness please?

  6. Andre Says:


    I got my Arduino UNO smd yesterday and I noticed that my serial is between 317000 and 317999. I uploaded a sketch (blinking) in the arduino board and it worked. Then when I removed the power supply and put it back, the LED didn’t blinked anymore. I just would like to know if i’ve got the problem mentionned.

  7. GWDeveloper Says:

    No problems fixing it with a Bus Pirate. This is our 1st Arduino and I knew something had to be wrong. It’s great now.

  8. Boz Says:

    Will the UNO SMD variant reference files be made available (schematic and layout), they are not currently listed under the hardware section.

  9. wayne mitzen Says:

    What part is on there? is that a P “picopower” version? the only diff I see in the P variant is the ability to shutoff the BOD…

  10. wayne mitzen Says:

    Hmmm… I do recall issues years ago with disabling the BOD in ATmega128’s and power up events…

  11. pierre legrand Says:

    As an introduction to the arduino world I thought it would be better to buy an original “Made in Italy” product ….
    Of course I received one of these “bad” boards, which is totally useless to me, not having an ISP programmer or another arduino to re-flash its bootloader.
    Now my best bet is to order a good ol’ 2009 from China to flash the Uno, that’s a shame.
    Now let me alone with “more reliable” Italian products.

  12. goebish Says:

    I flashed mine with a quickly made parallel port ISP programmer ( )
    Worked fine !

  13. Peter Says:

    I am currently having this issue. I am completely new to programming and I have just one week to complete a project with the Uno. I need to fix this issue very , very fast.

  14. Lasse Says:

    I can´t get the sparkfun trick to work – any updates on this?

  15. LasseNM Says:

    I´ve tried the arduino as ISP sketch on my working regular UNO, but my SMD version arduino still doesn´t work. Does this ketch work with regular UNOs?

    Is there any other way to fix it

    I´m a complete arduino n00b and using Mac.

    Where di I find the directory described here?

    “* Replace the file in “/hardware/arduino/bootloaders/optiboot/optiboot_atmega328.hex” with the downloaded file. (The prefix depends on your operating system. e.g. on a Mac the prefix is “”) (Make an optional backup first.)”


  16. massimo Says:


    Please come to the forum and we’ll be able to help you a little bit better.

    Post your question here,2.0.html and I’ll tell you what to do


  17. AC Says:

    @pierre legrand – Why on -earth- would you refuse to both complain about the software bug -and- also refuse to accept the warranty exchange?

    Welcome to the world of micros… when you have something else to compare against, you will look back on this problem as a small blip in the big picture..

  18. t Says:

    I’m having this same problem with my UNO (sketch not running on power-on without a manual reset button press), but it is a through-hole model. Will re-loading the bootloader help the issue? Or am I experiencing another issue?

    I am running an LCD with the UNO, and after reading online that may be the source of the problem, I disconnected the LCD. The problem remains without the LCD, although at a lesser frequency (1 in 4 power-ups require a manual reset button press).

  19. Says:

    You’d better write a more detailed description of your problem on the forum or to (if you bought the Arduino from the Store).

  20. Richard Bolt Says:

    I purchased 3- SMD Uno in April 2011. They sometimes fail to start the sketch. The serial numbers are 365589, 366258 and 3rd is not known but purchased at same time.
    Are these a part of the same problem? They will start if “Reset” is pressed.
    I have 1- UNO with the standard chip (purchased Jan 1,2011).
    Can I burn the updated Bootloader with this UNO?
    Is there a recent tutorial or instructions available?
    Thanks for your help

  21. João Vaz Martins Says:

    Hi Massimo,

    Hi just bought one Arduino Uno at Farnell.

    Started to play with it and noticed that some times the board has some strange behavior after i upload some sketch to it. I appears that the board continues to run the previous sketch.

    I have to repeat the upload process again (some times twice), and then it behaves as aspect-ed.

    Noticed your January post on this Blog and because I bought my board only in July from Fanell, I suspect it is related.

    Can you help me check if the right bootloader is installed. And if not, what procedures should I execute in order to update my Uno Board.

    Best Regards,

    João Vaz Martins

  22. Says:

    Hi Joao.
    Have you sent a mail to Farnell asking about this?
    You should ask them or post this question in the forum.


  23. Nathan Says:

    This is my first time using an Arduino and i don’t know how to get the serial number, I’ve been looking online and i haven’t found how to get it yet. Any suggestion?

  24. Jon Says:

    / /
    / / Reads the Serial of the Arduino from the
    / / First 6 bytes of the EEPROM

    # Include
    sID char [7]

    void setup ()
    Serial.begin (9600);
    for (int i = 0; i <6; i + +) {
    sID [i] = (i)

    void loop () {
    Serial.println (sID);

Leave a Reply

You must be logged in with your Arduino account to post a comment.