Skip to content
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. Troubleshooting
  3. Killing Nanos, one after the other

Killing Nanos, one after the other

Scheduled Pinned Locked Moved Troubleshooting
10 Posts 4 Posters 109 Views 4 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • 3 Offline
    3 Offline
    3nibble
    wrote on last edited by
    #1

    Happy New Year everybody!

    First post, so please bear with me.

    I have got five Arduino Nanos with FTDI chip (far east replicas). When connected one to my PC (Ubuntu 20.04) they are immediately detected as valid and working USB devices:

    lsusb
    ID 0403:6001 Future Technology Devices International, Ltd FT232 Serial (UART) IC
    
    dmesg | grep ttyUSB
    FTDI USB Serial Device converter now attached to ttyUSB0
    

    Using the Arduino IDE 2:1.0.5+dfsg2-4.1 I even could flash sketches successfully. No problem, whatsoever.

    BUT: as soon as I put the Nano onto a breadboard, set up my circuit (two DS18B20 one 4.7k Resistor and 8 wires) and connect it to the PC to flash it, it's dead. After taking it off from the breadboard it's no longer detected as USB device. Plugging it out and back in does not help. It is no more, it has ceased to be, it is an ex-Nano - so it seems at least.

    I have read about missing bootloaders and flashing through another Nano's ICSP interface. But even if this was possible, hadn't the nano then at least to be seen by the PC? Is the bootloader a prerequisite for the FTDI to work and make itself detected?

    Already killed two, three to go.

    Is there a way to bring these dead Nanos back to life?

    Any help is very much appreciated.

    Thank you.

    3nibble

    1 Reply Last reply
    0
    • alexeliteA Offline
      alexeliteA Offline
      alexelite
      wrote on last edited by
      #2

      Bootloader is not the problem, you should see the Ftdi Serial device even without a MCU connected.
      Did you connect any power supply to the breadboard? Maybe you reversed the polarity?
      It would help if you could post a schematic of the circuit and a photo with the actual circuit.

      1 Reply Last reply
      1
      • R Offline
        R Offline
        r-nox
        wrote on last edited by
        #3

        This is old but maybe?

        https://hackaday.com/2014/10/22/watch-that-windows-update-ftdi-drivers-are-killing-fake-chips/

        1 Reply Last reply
        0
        • 3 Offline
          3 Offline
          3nibble
          wrote on last edited by
          #4

          Thanks for your replies.

          Just killed another one.

          Compiled the sketch, flashed a naked Nano that connected to my PC without any problem.
          The Arduino IDE said "Sketch flashed successfully". The Nano showed a green LED blinking.
          I pulled the Nano off of the PC and put it on the breadboard as shown in the pictures below. Reconnecting it to the PC just proved I had killed the third one. No signs of life - nothing.

          @r-nox
          I am on Linux

          @alexelite
          This is my breadboard setup:
          [01].JPG
          [02].JPG
          [03].JPG
          [04].JPG

          This is my code:

          I took it from here
          https://www.arduino-projekte.de/index.php?n=64
          and only changed the data bus pin from 10 to 3.

          #include <OneWire.h>
          
          // OneWire DS18S20, DS18B20, DS1822 Temperature Example
          //
          // http://www.pjrc.com/teensy/td_libs_OneWire.html
          //
          // The DallasTemperature library can do all this work for you!
          // http://milesburton.com/Dallas_Temperature_Control_Library
          
          OneWire  ds(3);  // on pin 3
          
          void setup(void) {
            Serial.begin(9600);
          }
          
          void loop(void) {
            byte i;
            byte present = 0;
            byte type_s;
            byte data[12];
            byte addr[8];
            float celsius, fahrenheit;
            
            if ( !ds.search(addr)) {
              Serial.println("No more addresses.");
              Serial.println();
              ds.reset_search();
              delay(250);
              return;
            }
            
            Serial.print("ROM =");
            for( i = 0; i < 8; i++) {
              Serial.write(' ');
              Serial.print(addr[i], HEX);
            }
          
            if (OneWire::crc8(addr, 7) != addr[7]) {
                Serial.println("CRC is not valid!");
                return;
            }
            Serial.println();
           
            // the first ROM byte indicates which chip
            switch (addr[0]) {
              case 0x10:
                Serial.println("  Chip = DS18S20");  // or old DS1820
                type_s = 1;
                break;
              case 0x28:
                Serial.println("  Chip = DS18B20");
                type_s = 0;
                break;
              case 0x22:
                Serial.println("  Chip = DS1822");
                type_s = 0;
                break;
              default:
                Serial.println("Device is not a DS18x20 family device.");
                return;
            } 
          
            ds.reset();
            ds.select(addr);
            ds.write(0x44,1);         // start conversion, with parasite power on at the end
            
            delay(1000);     // maybe 750ms is enough, maybe not
            // we might do a ds.depower() here, but the reset will take care of it.
            
            present = ds.reset();
            ds.select(addr);    
            ds.write(0xBE);         // Read Scratchpad
          
            Serial.print("  Data = ");
            Serial.print(present,HEX);
            Serial.print(" ");
            for ( i = 0; i < 9; i++) {           // we need 9 bytes
              data[i] = ds.read();
              Serial.print(data[i], HEX);
              Serial.print(" ");
            }
            Serial.print(" CRC=");
            Serial.print(OneWire::crc8(data, 8), HEX);
            Serial.println();
          
            // convert the data to actual temperature
          
            unsigned int raw = (data[1] << 8) | data[0];
            if (type_s) {
              raw = raw << 3; // 9 bit resolution default
              if (data[7] == 0x10) {
                // count remain gives full 12 bit resolution
                raw = (raw & 0xFFF0) + 12 - data[6];
              }
            } else {
              byte cfg = (data[4] & 0x60);
              if (cfg == 0x00) raw = raw << 3;  // 9 bit resolution, 93.75 ms
              else if (cfg == 0x20) raw = raw << 2; // 10 bit res, 187.5 ms
              else if (cfg == 0x40) raw = raw << 1; // 11 bit res, 375 ms
              // default is 12 bit resolution, 750 ms conversion time
            }
            celsius = (float)raw / 16.0;
            fahrenheit = celsius * 1.8 + 32.0;
            Serial.print("  Temperature = ");
            Serial.print(celsius);
            Serial.print(" Celsius, ");
            Serial.print(fahrenheit);
            Serial.println(" Fahrenheit");
          }
          

          Any ideas?

          Thank you.

          1 Reply Last reply
          1
          • 3 Offline
            3 Offline
            3nibble
            wrote on last edited by 3nibble
            #5

            EDIT:

            Found my mistake. I just had a false understanding of the breadboard's rails by thinking of them as individually isolated groups of 5 pads. Now all is well.
            [01]_v1.JPG
            Interestingly, the current Nano survived the abuse.
            So back to question No 1: is there a way to rescue the apparently dead Nanos?

            Thanks.

            alexeliteA 1 Reply Last reply
            0
            • 3 3nibble

              EDIT:

              Found my mistake. I just had a false understanding of the breadboard's rails by thinking of them as individually isolated groups of 5 pads. Now all is well.
              [01]_v1.JPG
              Interestingly, the current Nano survived the abuse.
              So back to question No 1: is there a way to rescue the apparently dead Nanos?

              Thanks.

              alexeliteA Offline
              alexeliteA Offline
              alexelite
              wrote on last edited by alexelite
              #6

              @3nibble You shorted the power supply. This will not kill your MCU or usb-serial chip. The 5V rail is the USB power rail and usually if you short it, the USB controller disconnects power or limits current to that USB port until the short is removed or it need a reset.

              If one board works and another one doesn't you might have a blown fuse on the backside of the board. Pease post a photo with the backside.
              The schematic I found shows a Schottky Diode between VUSB and +5V. It might be open circuit because of your short. If you have a DC 6V-12V power supply you can try powering the board through VIN pin.
              Or you can short the usb diode with some conductive tweezers.
              FIS8V7MIAINIB9X.jpg

              1 Reply Last reply
              0
              • 3 Offline
                3 Offline
                3nibble
                wrote on last edited by
                #7

                @alexelite said in Killing Nanos, one after the other:

                You shorted the power supply. This will not kill your MCU or usb-serial chip.

                Well, I hope, you are right.

                Here are the pictures.

                DeadNanoNo1
                06.JPG

                DeadNanoNo2
                07.JPG

                Thanks,

                alexeliteA 1 Reply Last reply
                0
                • 3 3nibble

                  @alexelite said in Killing Nanos, one after the other:

                  You shorted the power supply. This will not kill your MCU or usb-serial chip.

                  Well, I hope, you are right.

                  Here are the pictures.

                  DeadNanoNo1
                  06.JPG

                  DeadNanoNo2
                  07.JPG

                  Thanks,

                  alexeliteA Offline
                  alexeliteA Offline
                  alexelite
                  wrote on last edited by
                  #8

                  @3nibble Your usb diode should be the one with B2 written on it. You can try shorting it.
                  Do you have a digital multimeter (DMM)? You can measure the voltage between gnd and both lead of the diode.

                  1 Reply Last reply
                  0
                  • 3 Offline
                    3 Offline
                    3nibble
                    wrote on last edited by
                    #9

                    @alexelite said in Killing Nanos, one after the other:

                    Do you have a digital multimeter (DMM)? You can measure the voltage between gnd and both lead of the diode.

                    Yes, I have one. For both MPs I got
                    GND vs the "B-side" of "B2" 0.0V
                    GND vs the "2-side" of "B2" 4.97V

                    The Diode-Test-Function shows .0L in one direction and 1.9 running down fast to .0L in the opposite direction.

                    Does this tell us the diodes do their job?

                    Regards shortening the diode, I am not sure whether I have means or the ability to solder on a bridge across this tiny part.

                    Kind regards,

                    K 1 Reply Last reply
                    0
                    • 3 3nibble

                      @alexelite said in Killing Nanos, one after the other:

                      Do you have a digital multimeter (DMM)? You can measure the voltage between gnd and both lead of the diode.

                      Yes, I have one. For both MPs I got
                      GND vs the "B-side" of "B2" 0.0V
                      GND vs the "2-side" of "B2" 4.97V

                      The Diode-Test-Function shows .0L in one direction and 1.9 running down fast to .0L in the opposite direction.

                      Does this tell us the diodes do their job?

                      Regards shortening the diode, I am not sure whether I have means or the ability to solder on a bridge across this tiny part.

                      Kind regards,

                      K Offline
                      K Offline
                      kimot
                      wrote on last edited by kimot
                      #10

                      @3nibble

                      Diode is bad.
                      You can shorting it.
                      But then you can power this Arduino only from USB or from +5V in the same time!!!
                      Not both !!! This can damage your USB port.

                      1 Reply Last reply
                      0
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      13

                      Online

                      11.7k

                      Users

                      11.2k

                      Topics

                      113.0k

                      Posts


                      Copyright 2019 TBD   |   Forum Guidelines   |   Privacy Policy   |   Terms of Service
                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • MySensors
                      • OpenHardware.io
                      • Categories
                      • Recent
                      • Tags
                      • Popular