Está en la página 1de 9

10 maneras de destruir un Arduino

Introducción
Usa un mazo, dispara una bala, tíralo a una piscina ... de eso no estamos hablando. Le mostraremos
cómo destruir eléctricamente su Arduino, aunque muchos de ustedes ya saben cómo hacerlo a través de
una experiencia desafortunada. Sabes a qué nos referimos ... ese olor extraño, la marca de quemado en un
componente o el temido mensaje de error "programador no sincronizado", todo indica que acabas de
aprender una lección de la manera difícil.
¿Por qué estamos haciendo esto? Si posee un Arduino, es bueno saber qué es y qué no está bien hacer
con él. También queremos que considere comprar nuestro Ruggeduino, que sobrevivirá a todas las torturas
que se describen a continuación.

Método n° 1: Cortar los pines de E/S a tierra

¿CÓMO?
Configure un pin de E/S para que sea una salida y luego configúrelo alto. Cortar el pasador al suelo.
Ahora ha creado una condición de sobrecorriente en el pin de E/S y se destruirá.

¿POR QUÉ?
Aquí está la ruta del flujo de corriente (el esquema es para el Arduino Uno, que se puede encontrar
aquí):
La hoja de datos del microcontrolador especifica una corriente máxima por pin absoluta de 40mA. Con
una resistencia interna típica de solo 25 ohmios por pin, un corto a tierra puede permitir que fluyan hasta
200mA de corriente, más que suficiente para destruir el pin del microcontrolador.

LA SOLUCIÓN
El Ruggeduino protege contra esta destrucción al colocar un fusible reiniciable (PTC) de 30mA en serie
con cada pin de E/S. La corriente no solo se limita de manera segura a 30mA en todas las condiciones (más
sobre esto a continuación), sino que la resistencia incorporada de 220 ohmios del fusible limita naturalmente
la corriente a 5V / 220 = 23mA desde el principio.

Método n° 2: Cortar los pines de E/S entre sí

¿CÓMO?
Configure dos pines de E/S para que sean salidas, luego configure uno alto y el otro bajo. Ahora conecte
los pines juntos. Ahora ha creado una condición de sobrecorriente en ambos pines de E/S y serán
destruidos.

¿POR QUÉ?
La ruta del flujo de corriente es similar al Método # 1 anterior, excepto que la ruta de retorno a tierra es a
través del microcontrolador.

LA SOLUCIÓN
Igual que para el Método # 1, el Ruggeduino protege contra esta destrucción al poner un fusible
reiniciable (PTC) de 30mA en serie con cada pin de E/S.

Método n° 3: aplicar sobretensión a los pines de E/S

¿CÓMO?
Aplique un voltaje superior a 5.5V a cualquier pin de E/S. El pin de E/S está destruido.

¿POR QUÉ?
Este método de destrucción predispone el diodo de protección ESD incorporado al microcontrolador.
Aquí hay un modelo de cada pin de E/S del microcontrolador de la hoja de datos Atmel ATmega328P:
Una vez que el voltaje en el pin de E/S es mayor que el voltaje de suministro (5V) en aproximadamente
0.5V, el diodo superior comienza a conducir corriente. Esto está bien para desviar un evento de
sobretensión de corta duración, como ESD (descarga electrostática), pero ese diodo no está encendido todo
el tiempo. Simplemente se quemará y dejará de proteger el pin.
Este diagrama muestra el flujo de corriente cuando se aplica una sobretensión a un pin de E/S.
Si el diodo de protección interno no se abre, la sobretensión destruye el pin de E/S. Si el diodo de
protección falla por cortocircuito, es aún peor porque ahora la sobretensión se aplica a todo el suministro de
+5V en el Arduino. Esto significa que alcanzará otros componentes, como el chip de interfaz USB, y también
los destruirá.

LA SOLUCIÓN
En el Ruggeduino , cada pin de E/S está protegido por un fusible reiniciable de 30mA (con resistencia
incorporada de 220 ohmios) y un diodo zener de 5.1V que, en conjunto, sirven para limitar el voltaje del pin
a 5.5V, independientemente de la sobretensión aplicada (hasta 24V).
Ahora, en lugar de que la corriente fluya a través del diodo de protección interno del microcontrolador,
fluye de manera segura a través del diodo zener, a tierra y de regreso a la fuente de sobretensión. El fusible
PTC limita esta corriente a 30 mA para que el diodo zener de 5.1V no disipe una potencia excesiva.

Método n° 4: aplique el poder externo de Vin al revés

¿CÓMO?
Alimente su Arduino a través del pin del conector Vin, pero invierta la polaridad de la conexión de
alimentación Vin/GND. Destruirás varios dispositivos en el Arduino.

¿POR QUÉ?
No hay protección de voltaje inverso en los voltajes aplicados al pin del conector Vin. La corriente fluirá
desde el pin GND del ATmega328P hacia arriba a través del pin 5V, a través del regulador de 5V y hacia
Vin. Lo mismo sucederá con el microcontrolador ATmega16U2. Ambos microcontroladores y el regulador de
5V serán destruidos.

LA SOLUCIÓN
En el Ruggeduino, el pin Vin está protegido por un diodo de bloqueo inverso de 30V , como se muestra
en el esquema.
Puede aplicar hasta 30V de voltaje de polaridad inversa en el pin Vin sin causar ningún daño.

Método n° 5: aplique > 5V al pin del conector de 5V

¿CÓMO?
Aplique un voltaje de 6V o más al pin del conector de 5V. Muchos componentes del Arduino serán
destruidos, y este voltaje también puede aparecer en el puerto USB de su computadora, posiblemente
dañándolo.

¿POR QUÉ?
No hay protección en el pin del conector de 5V. Este voltaje está conectado directamente al
microcontrolador ATmega328P, al microcontrolador de interfaz USB ATmega16U2 y al regulador de 5V,
todo lo cual puede dañarse por voltajes superiores a 6V y las corrientes resultantes que fluyen. Aquí hay un
ejemplo de ruta actual a través del microcontrolador ATmega328P.
Es un error común pensar que el regulador Arduino de 5V asegurará que el voltaje de 5V permanezca en
5V, pase lo que pase. ¡NO LO HARÁ! Lo único que puede hacer el regulador de 5V es controlar la corriente
proveniente del puerto USB o del conector de alimentación de CC externo. Si la corriente proviene de una
fuente de alimentación externa directamente conectada al pin del conector de 5V, el regulador no puede
hacer nada al respecto.
Otra consecuencia de aplicar más de 5V al pin del conector de 5V es el posible daño al puerto USB de la
PC. Si el Arduino funciona con USB, este voltaje excesivo puede hacer que la corriente fluya hacia atrás a
través del MOSFET T1 de conmutación de voltaje y de regreso al puerto USB de la PC.

LA SOLUCIÓN
En el Ruggeduino, un circuito de corte de voltaje asegura que el pin del conector de 5V esté
desconectado si excede los 5.5V.
Puede aplicar hasta 24V en el pin del conector de 5V y los componentes de Ruggeduino nunca lo verán,
y nada se dañará.

Método n° 6: aplique > 3.3V al pin del conector de 3.3V

¿CÓMO?
Aplique un voltaje de 3.6V o más al pin del conector de 3.3V. Cualquier blindaje de 3.3V enchufado u
otros dispositivos alimentados por este pin serán destruidos. Si se aplica al menos 9V, este voltaje puede
destruir el regulador Arduino 3.3V y también alimentar la corriente al puerto USB de la PC.

¿POR QUÉ?
El pin del conector de 3.3V no tiene circuitos de protección. Este voltaje está conectado directamente al
regulador Arduino 3.3V y a cualquier otra pantalla o dispositivo que esté alimentado por este pin conector. Si
el voltaje excede los 9V, el regulador de 3.3V será destruido y puede permitir que la corriente fluya hacia
atrás al nodo de 5V y luego hacia atrás al puerto USB de la PC. El voltaje excesivo también destruirá los dos
dispositivos conectados al nodo de 5V: los microcontroladores ATmega328P y ATmega16U2.

LA SOLUCIÓN
Similar al circuito de protección de 5V, el Ruggeduino tiene un circuito de corte de voltaje para el pin del
conector de 3.3V. Cualquier voltaje aplicado a este pin mayor a 3.6V desconecta el pin del nodo
Ruggeduino 3.3V.

Método n° 7: Vin corto a GND

¿CÓMO?
Alimente el Arduino desde el conector de alimentación de CC y acorte el pin del conector Vin a GND. El
diodo de bloqueo Arduino se destruirá y las huellas en el PCB Arduino pueden derretirse y destruirse.

¿POR QUÉ?
No hay protección de límite de corriente en el pin del conector Vin. Un cortocircuito de Vin a GND efectúa
un cortocircuito efectivo en la entrada del conector de alimentación de CC y supera la clasificación actual del
diodo de bloqueo.
La cantidad de corriente que fluye está limitada solo por la resistencia de las trazas de PCB Arduino y la
capacidad actual de la fuente de alimentación. Si esto es lo suficientemente alto, el diodo D1 se destruirá y
las trazas de PCB pueden derretirse debido al calor causado por esta gran corriente.

LA SOLUCIÓN
El Ruggeduino tiene un fusible reiniciable PTC de 500mA en serie con el circuito de entrada de
alimentación de CC (al igual que el que protege la entrada de alimentación USB). Este fusible limita la
corriente a niveles seguros incluso si Vin está en cortocircuito a GND.

Método n° 8: aplique energía externa de 5V con carga Vin

¿CÓMO?
Si está alimentando la placa desde 5V aplicada al pin del conector de 5V y tiene un circuito conectado al
pin Vin (o ha acortado Vin a GND), la corriente fluirá hacia atrás a través del regulador de 5V y lo destruirá.

¿POR QUÉ?
No hay protección de voltaje inverso en el regulador de 5V, por lo tanto, la corriente puede fluir desde el
pin del conector de 5V, hacia atrás a través del regulador, y hacia lo que esté conectado a Vin.

LA SOLUCIÓN
El Ruggeduino tiene su diodo de bloqueo inverso justo en la entrada del regulador de 5V, asegurando
que no pueda fluir corriente hacia atrás a través del regulador, incluso si un circuito está conectado al pin
Vin.

Método n° 9: aplique > 13V al pin de reinicio

¿CÓMO?
Aplique> 13V al pin del conector de reinicio. El microcontrolador ATmega328P se dañará.

¿POR QUÉ?
El pin del conector de reinicio está conectado directamente al pin de reinicio en el ATmega328P. Si bien
este pin tolera 13V, los voltajes más altos dañarán el dispositivo.

LA SOLUCIÓN
En el Ruggeduino se coloca una resistencia de 1k en serie con el pin de reinicio ATmega328P. Si se
aplican voltajes superiores a 13V al pin del conector de reinicio, este pin limita la corriente que puede fluir, lo
que limita el daño a este pin.

Método n° 10: exceda la corriente total del microcontrolador

¿CÓMO?
Configure al menos 10 pines de E/S para que sean altos y extraiga 20mA de cada uno (por ejemplo,
encendiendo 10 LED). Ahora ha excedido la clasificación de corriente de suministro total para el
microcontrolador y se dañará.

¿POR QUÉ?
No es suficiente limitar la corriente de cada pin de E/S: la corriente total proveniente de todos los pines
de E/S no debe exceder los 200mA, de acuerdo con la hoja de datos ATmega328P.

LA SOLUCIÓN
En el Ruggeduino, un IC de limitación de corriente dedicado (MIC2009A se muestra a continuación)
garantiza que, independientemente de las corrientes que obtenga de los pines de E/S, la corriente de
suministro total del microcontrolador no supera los 150mA (típico).
Si fluyen más de 150mA de corriente al ATmega328P, el MIC2009A comienza a reducir el voltaje hasta
que la corriente se reduce a un nivel seguro.

10 Ways to Destroy An Arduino

Introduction

Use a sledgehammer, fire a bullet at it, throw it into a pool....that’s not what we’re talking about. We’re
going to show you how to electrically destroy your Arduino, though many of you seem to already know how
to do that through unfortunate experience. You know what we mean....that funny smell, the scorch mark on a
component, or the dreaded “programmer not in sync” error message -- all signs that you’ve just learned a
lesson the hard way.
Why are we doing this? If you own an Arduino, it’s good to know what is and what isn’t OK to do with it.
We also want you to consider buying our Ruggeduino, which will survive all of the tortures described below.

Method #1: Shorting I/O Pins to Ground


HOW
Configure an I/O pin to be an output then set it high. Short the pin to ground. You have now created an
overcurrent condition on the I/O pin and it will be destroyed.

WHY
Here is the path of current flow (the schematic is for the Arduino Uno, which can be found here):

The microcontroller datasheet specifies an absolute maximum per-pin current of 40mA. With a typical
internal resistance of only 25 ohms per pin, a dead short to ground can allow as much as 200mA of current
to flow, more than enough to destroy the microcontroller pin.

THE FIX
The Ruggeduino protects against this destruction by putting a 30mA resettable fuse (PTC) in series with
every I/O pin. Not only is the current safely limited to 30mA under all conditions (more on this below), but the
built-in 220 ohm resistance of the fuse naturally limits the current to 5V/220 = 23mA right off the bat.

Method #2: Shorting I/O Pins to Each


Other
HOW
Configure two I/O pins to be outputs then set one high and the other one low. Now connect the pins
together. You have now created an overcurrent condition on both I/O pins and they will be destroyed.

WHY
The path of current flow is similar to Method #1 above except the ground return path is through the
microcontroller.

THE FIX
Same as for Method #1, the Ruggeduino protects against this destruction by putting a 30mA resettable
fuse (PTC) in series with every I/O pin.

Method #3: Apply Overvoltage to I/O Pins


HOW
Apply a voltage exceeding 5.5V to any I/O pin. The I/O pin is destroyed.

WHY
This method of destruction forward-biases the ESD protection diode built-in to the microcontroller. Here is
a model of each microcontroller I/O pin from the Atmel ATmega328P datasheet:

Once the voltage at the I/O pin is greater than the supply voltage (5V) by about 0.5V, the top diode starts
to conduct current. This is OK for diverting a short-duration overvoltage event, like ESD (electro-static
discharge), but that diode is not meant to be on all the time. It will simply burn out and stop protecting the pin.
This diagram shows the flow of current when overvoltage is applied to an I/O pin.

If the internal protection diode fails open, then the overvoltage destroys the I/O pin. If the protection diode
fails by shorting out, it’s even worse because now the overvoltage is applied to the entire +5V supply on the
Arduino. This means it will reach other components, like the USB interface chip, and destroy them too.

THE FIX
On the Ruggeduino, every I/O pin is protected by a 30mA resettable fuse (with built-in 220 ohm
resistance) and a 5.1V zener diode that together serve to limit the pin voltage to 5.5V, regardless of applied
overvoltage (up to 24V).

Now, instead of current flowing through the microcontroller’s internal protection diode, it flows safely
through the zener diode, to ground, and back to the source of the overvoltage. The PTC fuse limits this
current to 30mA so the 5.1V zener diode does not dissipate excessive power.

Method #4: Apply External Vin Power


Backwards
HOW
Power your Arduino through the Vin connector pin, but reverse the polarity of the Vin/GND power
connection. You will destroy several devices on the Arduino.

WHY
There is no reverse-voltage protection on voltages applied to the Vin connector pin. Current will flow from
the GND pin of the ATmega328P back up through the 5V pin, back through the 5V regulator and to Vin. The
same thing will happen with the ATmega16U2 microcontroller. Both microcontrollers and the 5V regulator will
be destroyed.

THE FIX
On the Ruggeduino the Vin pin is protected by a 30V reverse-blocking diode, as shown in the schematic.

You can apply as much as 30V of reverse-polarity voltage on the Vin pin without causing any damage.

Method #5: Apply >5V to the 5V


Connector Pin
HOW
Apply a voltage of 6V or higher to the 5V connector pin. Many components on the Arduino will be
destroyed, and this voltage can also appear on your computer’s USB port, possibly damaging it.

WHY

There is no protection on the 5V connector pin. This voltage is directly connected to the ATmega328P
microcontroller, the ATmega16U2 USB interface microcontroller, and the 5V regulator, all of which can be
damaged by voltages exceeding 6V, and the resulting currents that flow. Here is an example current path
through the ATmega328P microcontroller.
It is a common misconception that the Arduino 5V regulator will ensure that the 5V voltage remains at 5V,
no matter what. IT WILL NOT! The only thing the 5V regulator can do is control current coming from the USB
port or the external DC power jack. If the current is coming from an external power source directly connected
to the 5V connector pin, the regulator can do nothing about it.
Another consequence of applying more than 5V to the 5V connector pin is possible damage to the PC’s
USB port. If the Arduino is powered from USB then this excessive voltage can cause current to flow
backwards through the voltage-switching MOSFET T1 and back to the PC’s USB port.

THE FIX
On the Ruggeduino a voltage cutoff circuit makes sure that the 5V connector pin is disconnected if it
exceeds 5.5V.

You can apply up to 24V on the 5V connector pin and the Ruggeduino components will never see it, and
nothing will be damaged.

Method #6: Apply >3.3V to the 3.3V


Connector Pin
HOW
Apply a voltage of 3.6V or higher to the 3.3V connector pin. Any 3.3V shields plugged in, or other devices
powered from this pin, will be destroyed. If at least 9V is applied, this voltage can destroy the Arduino 3.3V
regulator and also feed current back into the PC’s USB port.

WHY
The 3.3V connector pin has no protection circuitry. This voltage is directly connected to the Arduino 3.3V
regulator and any other shields or devices that are powered by this connector pin. If the voltage exceeds 9V,
the 3.3V regulator will be destroyed and may allow current to flow backwards to the 5V node, and then
backwards further to the PC’s USB port. The excessive voltage will also destroy the two devices connected
to the 5V node: the ATmega328P and ATmega16U2 microcontrollers.

THE FIX
Similar to the 5V protection circuit, the Ruggeduino has a voltage cutoff circuit for the 3.3V connector pin.
Any voltage applied to this pin greater than 3.6V disconnects the pin from the Ruggeduino 3.3V node.

Method #7: Short Vin to GND


HOW
Power the Arduino from the DC power jack and short the Vin connector pin to GND. The Arduino blocking
diode will be destroyed and traces on the Arduino PCB may melt and be destroyed.

WHY
There is no current limit protection on the Vin connector pin. A short circuit from Vin to GND effectively
short circuits the DC power jack input, and exceeds the current rating of the blocking diode.
The amount of current that flows is limited only by the resistance of the Arduino PCB traces and the
current capability of the power supply. If this is high enough, the diode D1 will be destroyed and PCB traces
may melt due to the heat caused by this large current.

THE FIX
The Ruggeduino has a 500mA PTC resettable fuse in series with the DC power input circuit (just like the
one that protects the USB power input). This fuse limits the current to safe levels even if Vin is shorted to
GND.

Method #8: Apply 5V External Power with


Vin Load
HOW
If you are powering the board from 5V applied to the 5V connector pin and you have circuitry connected
to the Vin pin (or have shorted Vin to GND) then current will flow backwards through the 5V regulator and
destroy it.

WHY
There is no reverse voltage protection on the 5V regulator thus current can flow from the 5V connector
pin, backwards through the regulator, and to whatever is connected to Vin.

THE FIX
The Ruggeduino has its reverse-blocking diode right at the 5V regulator input, ensuring that no current
can flow backwards through the regulator, even if a circuit is connected to the Vin pin.

Method #9: Apply >13V to the Reset Pin


HOW
Apply >13V to the Reset connector pin. The ATmega328P microcontroller will be damaged.

WHY
The Reset connector pin is directly connected to the reset pin on the ATmega328P. While this pin
tolerates 13V, higher voltages will damage the device.

THE FIX
On the Ruggeduino a 1k resistor is placed in series with the ATmega328P reset pin. If voltages greater
than 13V are applied to the Reset connector pin, this pin limits the current that can flow thus limits the
damage to this pin.
Method #10: Exceed Total Microcontroller
Current
HOW
Configure at least 10 I/O pins to be high and draw 20mA from each one (for example, by lighting 10
LED’s). You have now exceeded the total supply current rating for the microcontroller and it will be damaged.

WHY
It’s not enough to limit the current of each I/O pin -- the total current sourced from all I/O pins must not
exceed 200mA, according to the ATmega328P datasheet.

THE FIX
On the Ruggeduino a dedicated current-limiting IC (MIC2009A shown below) ensures that no matter what
currents you are sourcing from I/O pins, the total microcontroller supply current does not exceed 150mA
(typical).

If more than 150mA of current flows to the ATmega328P, the MIC2009A starts reducing the voltage until
the current is reduced to a safe level.