Pinagem do Arduino Nano: diagrama de pinos, A6/A7, alimentação e Old Bootloader
A pinagem do Arduino Nano em um só guia: D0–D13, A0–A7 (A6/A7 só analógicos), pinos PWM, VIN/5V/3V3, driver CH340, Old Bootloader e um mapa de pinos do Uno para o Nano.
A pinagem do Arduino Nano é formada por 30 pinos enfileirados nas duas bordas longas de uma placa de 45 × 18 mm: 14 pinos digitais de entrada/saída (D0–D13), 6 dos quais podem gerar PWM (~3, 5, 6, 9, 10, 11), 8 entradas analógicas (A0–A7) e os pinos de alimentação e controle: VIN, 5V, 3V3, AREF, dois GND e dois RST. Como o Nano usa o mesmo processador ATmega328P do Arduino Uno, os números e as funções dos pinos também são os mesmos: um sketch escrito para o Uno roda sem nenhuma mudança, além de selecionar o Nano no menu de placas.
Ainda assim, alguns detalhes importantes diferenciam o Nano do Uno, e é justamente neles que os iniciantes empacam: A6 e A7 são só analógicos, não há conector DC, o pino 3V3 fornece pouquíssima corrente, as placas clone cuidam da USB com um chip CH340 e muitas vezes é preciso selecionar ATmega328P (Old Bootloader) para carregar o código. Neste guia você vai conhecer cada pino, aprender a colocar o Nano corretamente na protoboard, ver o mapeamento de pinos do Uno para o Nano e descobrir como o Nano Every e o Nano ESP32 se diferenciam do Nano clássico.

O que é o Arduino Nano e como ele se diferencia do Uno?
O Arduino Nano reúne todos os recursos principais do Uno em uma placa de 45 × 18 mm que pesa cerca de 7 gramas. Os pinos dele apontam para baixo, então ele encaixa direto na protoboard; isso significa menos jumpers e, quando o circuito fica pronto, ele vai fácil para dentro de uma caixa ou de uma placa de circuito permanente. Dentro dele está o mesmo ATmega328P de 16 MHz do Uno, o nível lógico é de 5 V e as mesmas bibliotecas funcionam sem mudanças. No Nano original, a comunicação USB-serial é feita por um chip FT232RL; quase todos os clones baratos do mercado têm, no lugar dele, um CH340G ou CH340C embaixo da placa. Para carrinhos robô, vestíveis, controles remotos e qualquer circuito que precise caber em uma caixa, o Nano é uma escolha mais prática que o Uno.
| Característica | Arduino Nano (V3) |
|---|---|
| Microcontrolador | ATmega328P, 8 bits, 16 MHz (encapsulamento TQFP-32) |
| Tensão lógica (de operação) | 5 V |
| Tensão de entrada no VIN | 7–12 V recomendados |
| Entrada/saída digital | 14 pinos (D0–D13); 20 contando A0–A5 |
| Saída PWM | 6 pinos: D3, D5, D6, D9, D10, D11 |
| Entrada analógica | 8 pinos (A0–A7), 10 bits (0–1023) |
| Corrente por pino | 20 mA recomendados, 40 mA de máximo absoluto |
| Memória | 32 KB de flash (30.720 bytes utilizáveis no IDE), 2 KB de SRAM, 1 KB de EEPROM |
| USB | Mini-B; FT232RL (original) ou CH340 (clone) |
| Tamanho e peso | 45 × 18 mm, cerca de 7 g |
Diagrama de pinos do Arduino Nano: qual pino fica onde?
Os 30 pinos do Nano ficam em duas fileiras frente a frente de 15, e as fileiras estão a 15,24 mm (0,6 polegada) uma da outra. Coloque a placa à sua frente com o conector mini USB mais perto de você e você verá dois pinos frente a frente logo ao lado do conector: D12 e D13. A fileira do D13 tem 3V3, AREF, A0–A7 e os pinos de alimentação; a fileira do D12 tem os pinos digitais do D11 ao D2, seguidos de GND, RST, RX0 (D0) e TX1 (D1). Na ponta das duas fileiras mais longe da USB, VIN e TX1 ficam frente a frente, e a barra ICSP 2×3 também fica nessa ponta. Em volta do botão de reset, no meio, você encontra o LED de alimentação (POW ou ON), o LED L ligado ao D13 e os LEDs TX e RX, que piscam durante o carregamento.
| Posição (a partir da USB) | Fileira analógica e de alimentação | Fileira digital | Observação |
|---|---|---|---|
| 1 | D13 (SCK, LED L) | D12 (MISO) | Logo ao lado do conector USB |
| 2 | 3V3 | ~D11 (MOSI) | O 3V3 fornece pouquíssima corrente |
| 3 | AREF | ~D10 (SS) | - |
| 4 | A0 | ~D9 | - |
| 5 | A1 | D8 | - |
| 6 | A2 | D7 | - |
| 7 | A3 | ~D6 | - |
| 8 | A4 (SDA) | ~D5 | Linha de dados do I2C |
| 9 | A5 (SCL) | D4 | Linha de clock do I2C |
| 10 | A6 | ~D3 (INT1) | A6 é só analógico |
| 11 | A7 | D2 (INT0) | A7 é só analógico |
| 12 | 5V | GND | 5V e GND ficam frente a frente |
| 13 | RST | RST | Os dois são a mesma linha de reset |
| 14 | GND | D0 (RX0) | O D0 está ligado ao chip USB-serial |
| 15 | VIN | D1 (TX1) | A barra ICSP fica nesta ponta |
Pinos digitais (D0–D13), PWM e funções especiais
Cada pino digital é configurado como entrada ou saída com pinMode(); como saída, HIGH dá cerca de 5 V e LOW dá 0 V. Para não deixar uma entrada flutuando, você pode ligar o resistor interno de 20–50 kΩ do chip com INPUT_PULLUP. A corrente segura por pino é de 20 mA; um LED vermelho com resistor de 220 Ω puxa cerca de 13 mA, e você encontra o resistor certo com a calculadora de resistor para LED. Alguns pinos têm funções extras, e conhecê-las antes evita conflitos quando o seu projeto crescer:
| Pino | Função extra | Atenção |
|---|---|---|
| D0 (RX), D1 (TX) | Porta serial de hardware (Serial) | Ligados ao chip USB-serial por resistores de 1 kΩ; deixe-os livres ao carregar |
| D2, D3 | Interrupções externas INT0, INT1 | O attachInterrupt() só funciona nesses dois pinos |
| ~D3, ~D11 | PWM, Timer2 (cerca de 490 Hz) | O PWM nesses pinos quebra enquanto o tone() estiver tocando |
| ~D5, ~D6 | PWM, Timer0 (cerca de 980 Hz) | Mesmo timer do millis() e do delay() |
| ~D9, ~D10 | PWM, Timer1 (cerca de 490 Hz) | A biblioteca Servo desativa o PWM nesses dois pinos |
| D10–D13 | SPI: SS, MOSI, MISO, SCK | O D10 precisa continuar como saída ao usar SPI |
| D13 | LED L da placa | O LED e o resistor dele estão ligados direto ao pino |
Um detalhe pequeno, mas importante, que diferencia o Nano do Uno está no D13. No Uno R3, o LED L é acionado por um amplificador operacional, enquanto no Nano o LED e o resistor dele ficam ligados direto ao pino. Se você usar o D13 como entrada de botão com INPUT_PULLUP, o LED puxa o pino para baixo e você pode ler LOW mesmo com o botão solto; reserve esse pino para saídas ou SPI. Você encontra como o PWM funciona e o que significam os valores do analogWrite() em O que é PWM?, e as interrupções em interrupções no Arduino.
Pinos analógicos A0–A7: por que A6 e A7 são diferentes?
As oito entradas analógicas do Nano medem tensões entre 0 e 5 V com resolução de 10 bits: o analogRead() retorna um número de 0 a 1023, e um passo vale cerca de 4,9 mV. Quando necessário, A0–A5 também funcionam como pinos digitais comuns (A0 = 14 … A5 = 19), e A4 e A5 servem ainda como as linhas SDA e SCL do barramento I2C. A6 e A7, que o Uno não tem, são dois canais extras do ADC presentes no encapsulamento de montagem em superfície (TQFP) do ATmega328P. Esses dois canais estão ligados só ao conversor analógico-digital; não há registrador de porta, driver de saída nem resistor de pull-up por trás deles. Por isso pinMode(), digitalRead(), digitalWrite() e INPUT_PULLUP não funcionam nesses dois pinos.
A6 e A7 serem só analógicos pode parecer uma desvantagem, mas dá para usar isso de forma esperta. Se você ligar vários botões a um pino analógico por meio de resistores de valores diferentes, cada botão gera uma tensão diferente; assim você lê quatro botões com um só pino e deixa os pinos digitais livres para motores e displays. No circuito, ligue o A6 ao 5V por um resistor de 10 kΩ; ligue o primeiro botão direto entre o A6 e o GND, e os outros três botões ao GND por resistores de 2,2 kΩ, 4,7 kΩ e 10 kΩ, respectivamente.
1// A6'da 4 buton: 10 kΩ pull-up + farklı seri dirençler / 4 buttons on A6: 10 kΩ pull-up + different series resistors
2const byte LADDER_PIN = A6; // yalnız analog pin / analog-only pin
3
4byte readButton() {
5 int v = analogRead(LADDER_PIN);
6 if (v < 92) return 1; // 0 Ω -> yaklaşık 0 / about 0
7 if (v < 256) return 2; // 2,2 kΩ -> yaklaşık 184 / about 184
8 if (v < 419) return 3; // 4,7 kΩ -> yaklaşık 327 / about 327
9 if (v < 767) return 4; // 10 kΩ -> yaklaşık 512 / about 512
10 return 0; // basılı değil -> 1023 / not pressed -> 1023
11}
12
13void setup() {
14 Serial.begin(9600);
15}
16
17void loop() {
18 static byte lastButton = 0;
19 byte b = readButton();
20 if (b != lastButton) {
21 delay(20); // kontak sıçramasını bekle / wait out contact bounce
22 b = readButton(); // değeri doğrula / confirm the value
23 if (b != lastButton) {
24 lastButton = b;
25 if (b != 0) {
26 Serial.print(F("Buton / Button: "));
27 Serial.println(b);
28 }
29 }
30 }
31}| Botão | Resistor em série até o GND | analogRead esperado | Faixa aceita no código |
|---|---|---|---|
| Botão 1 | 0 Ω (direto) | 0 | 0–91 |
| Botão 2 | 2,2 kΩ | Cerca de 184 | 92–255 |
| Botão 3 | 4,7 kΩ | Cerca de 327 | 256–418 |
| Botão 4 | 10 kΩ | Cerca de 512 | 419–766 |
| Nenhum | - | 1023 | 767–1023 |
Os valores vêm da fórmula analogRead = 1023 × R / (10 kΩ + R), e cada limite fica exatamente no meio entre dois valores vizinhos. Como o resistor de pull-up e o ADC são alimentados pelo mesmo barramento de 5 V, as leituras não mudam mesmo que a alimentação caia para 4,7 V; isso se chama medição raciométrica. Se dois botões forem apertados ao mesmo tempo, os resistores deles ficam em paralelo e a leitura cai: o código vê um botão de número menor, e apertar o 3 e o 4 juntos chega a ser lido como 2. Por isso, uma escada de resistores combina com menus em que só uma tecla é apertada por vez. Você pode testar as contas do divisor com a calculadora de divisor de tensão e ler mais sobre leituras analógicas no artigo sobre ADC.
Pinos de alimentação: VIN, 5V, 3V3 e GND
| Pino | O que faz | Limites e cuidados |
|---|---|---|
| VIN | Alimenta a placa com 7–12 V; o regulador reduz para 5 V | O AMS1117 dos clones tolera no máximo 15 V e esquenta rápido com 12 V |
| 5V | O barramento de 5 V da placa: como saída, alimenta sensores; como entrada, aceita 5 V regulados | Cerca de 4,7 V pela USB; nunca coloque mais de 5 V de fora |
| 3V3 | Saída de 3,3 V | Vem do FT232RL no original e do CH340 nos clones; corrente muito limitada |
| GND (2 pinos) | Terra comum | O GND de toda fonte externa precisa ser ligado aqui |
| RST (2 pinos) | Reinicia a placa quando puxado para LOW | Para um botão de reset externo; os dois são a mesma linha |
| AREF | Entrada de referência externa para medições analógicas | Chame analogReference(EXTERNAL) antes de usá-lo |
Você pode alimentar o Nano de três jeitos. Pela USB, os 5 V vêm do computador através de um diodo Schottky; o diodo tem queda de cerca de 0,3 V, então normalmente você mede 4,6–4,8 V no pino 5V, e o diodo MBR0520 da placa original aguenta no máximo 500 mA. Se você colocar 7–12 V no pino VIN, o regulador embaixo da placa (um LM1117 no original, normalmente um AMS1117 nos clones) reduz para 5 V. O regulador transforma o excesso de tensão em calor: a potência que ele dissipa é (VIN − 5 V) × corrente, então puxar 150 mA de uma entrada de 12 V faz o pequeno regulador queimar cerca de 1 W e ficar quente demais para tocar. Por isso 7–9 V é o ideal para o VIN. O terceiro jeito é colocar 5 V regulados de fora no pino 5V; aí o regulador fica de fora, e o diodo do lado da USB impede que a corrente volte para o seu computador. Se você está usando uma fonte de 12 V, usar um conversor buck LM2596 para gerar 5 V e colocá-los no pino 5V é uma solução muito mais fria; todas as opções de alimentação estão em Como alimentar um Arduino.
O pino 3V3 é o pino mais mal compreendido do Nano. No Uno, esse pino vem de um regulador separado, mas o Nano clássico não tem regulador de 3,3 V separado. No Nano original, os 3,3 V vêm de um pequeno regulador dentro do chip FT232RL (no máximo 50 mA) e, segundo a documentação antiga do Arduino, essa saída não fica disponível quando a placa não está alimentada pela USB. Na maioria dos clones, o pino está ligado ao regulador interno do próprio CH340 e só é seguro para cargas de alguns mA. Então não alimente módulos de 3,3 V como o nRF24L01, o ESP-01 ou o RC522 por esse pino; use um regulador AMS1117-3.3 separado, alimentado pelo pino 5V. E, ao ligar uma saída de 5 V do Nano à entrada de um módulo de 3,3 V, coloque no meio um conversor de nível lógico ou um divisor de tensão.
O pino 5V ficar em torno de 4,7 V na USB também afeta as medições analógicas: o analogRead() usa a tensão de alimentação como limite superior, então, se você colocar 5,0 V no cálculo, o resultado erra em 4–6 por cento. Você pode descobrir a tensão de alimentação real medindo a referência fixa interna de cerca de 1,1 V do ATmega328P. O primeiro sketch de teste abaixo faz exatamente isso, converte as oito entradas analógicas em volts usando a tensão de alimentação real e pisca o LED L do D13:
1// Arduino Nano: A0-A7'yi ve gerçek besleme gerilimini oku / read A0-A7 and the real supply voltage
2const byte ANALOG_PINS[8] = {A0, A1, A2, A3, A4, A5, A6, A7};
3
4long readVccMillivolts() {
5 // Referans AVcc, ölçülen kanal dahili 1,1 V / reference AVcc, measured channel internal 1.1 V
6 ADMUX = _BV(REFS0) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1);
7 delay(2); // referansın oturmasını bekle / let the reference settle
8 ADCSRA |= _BV(ADSC); // dönüşümü başlat / start the conversion
9 while (bit_is_set(ADCSRA, ADSC)) {} // bitmesini bekle / wait until it finishes
10 unsigned int raw = ADC; // 10 bit sonuç / 10-bit result
11 return 1125300L / raw; // 1,1 V x 1023 x 1000 / 1.1 V x 1023 x 1000
12}
13
14void setup() {
15 Serial.begin(9600);
16 pinMode(LED_BUILTIN, OUTPUT); // D13'teki L LED'i / L LED on D13
17}
18
19void loop() {
20 long vcc = readVccMillivolts();
21 analogRead(A0); // kanal değişti, ilk okumayı at / channel changed, discard the first reading
22 Serial.print(F("Vcc: "));
23 Serial.print(vcc);
24 Serial.print(F(" mV |"));
25 for (byte i = 0; i < 8; i++) {
26 int raw = analogRead(ANALOG_PINS[i]); // A6 ve A7 de okunur / A6 and A7 are read too
27 Serial.print(F(" A"));
28 Serial.print(i);
29 Serial.print(F("="));
30 Serial.print(raw * (vcc / 1000.0) / 1023.0, 2); // gerçek Vcc ile volta çevir / convert to volts using the real Vcc
31 }
32 Serial.println();
33 digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN)); // L LED'ini çevir / toggle the L LED
34 delay(1000);
35}Depois de carregar, abra o Monitor Serial em 9600 baud. O valor de Vcc deve ficar em torno de 4600–4800 mV na USB e em torno de 5000 mV quando alimentado pelo VIN. Pinos analógicos desconectados mostram valores aleatórios; se você ligar um potenciômetro no A0 e girá-lo, verá o valor mudar suavemente entre 0 e Vcc. A referência interna pode variar ±10% de um chip para outro; para um resultado mais preciso, meça o pino 5V com um multímetro e multiplique a constante 1125300 do código pela razão seu valor medido / o valor que o código mostra. Como este sketch usa diretamente registradores do ATmega328P, ele não funciona no Nano Every nem no Nano ESP32.
Mini USB, CH340 e instalação do driver
O Nano clássico tem um conector USB Mini-B; os cabos Micro-USB ou USB-C usados em celulares não encaixam nele. Alguns clones mais novos têm conectores Micro-USB ou USB-C, mas a maioria ainda é mini USB. O motivo mais comum de a placa nem aparecer na lista de portas é um cabo só de carga, sem os fios de dados: o LED de alimentação acende, mas o computador não vê a placa. Se o cabo estiver bom, vire a placa e olhe o chip perto do conector USB. Se estiver escrito FT232RL, você tem um Nano original e o driver dele normalmente já está no sistema operacional; se estiver escrito CH340G ou CH340C, você tem um clone.
O Windows 10 e o 11 muitas vezes instalam sozinhos o driver do CH340 pelo Windows Update, e a placa aparece no Gerenciador de Dispositivos com um nome como USB-SERIAL CH340 (COM3). Se aparecer um USB2.0-Serial com um ponto de exclamação amarelo em Outros dispositivos, instale o driver CH341SER da WCH, a fabricante do chip, depois desconecte a placa e conecte de novo. As versões atuais do macOS já trazem o driver; a porta aparece como /dev/cu.usbserial-…, e instalar drivers antigos por cima pode causar conflitos. No Linux, o driver já vem no kernel; se a porta sumir assim que você conecta a placa no Ubuntu 22.04 ou posterior, o pacote de leitor de tela brltty está tomando o CH340 e, se você não o usa, pode removê-lo com sudo apt remove brltty. Todos os problemas de porta e de driver estão em Arduino não carrega o código, e as diferenças entre chips USB-serial em conversores USB-TTL.
Carregando o código: ATmega328P ou Old Bootloader?
- No Arduino IDE, selecione Ferramentas > Placa > Arduino AVR Boards > Arduino Nano.
- Conecte a placa e escolha a porta que acabou de aparecer em Ferramentas > Porta (como COM3 no Windows ou /dev/cu.usbserial-… no macOS).
- Em Ferramentas > Processador, tente primeiro carregar o exemplo Blink com a opção ATmega328P.
- Se a saída repetir programmer is not responding ou not in sync por dez tentativas, coloque o Processador em ATmega328P (Old Bootloader) e carregue de novo.
- Se ainda falhar, tente outra porta USB, tire qualquer fio do D0 e do D1 e confira se o LED L pisca rápido quando você aperta o botão de reset.
- Anote qual opção funcionou; outros Nanos do mesmo vendedor provavelmente vão precisar da mesma configuração.
O motivo dessa confusão é uma mudança feita em 2018. O Arduino trocou o antigo bootloader de 2 KB do Nano (ATmegaBOOT) pelo Optiboot de 512 bytes usado no Uno. O Optiboot recebe o código a 115200 baud, enquanto o bootloader antigo espera 57600 baud; quando as velocidades não batem, a placa parece não responder de jeito nenhum. Como os fabricantes de clones continuaram enviando placas com o bootloader antigo por anos, o IDE oferece as duas opções, e escolher a errada não faz mal nenhum à placa. Se quiser, você pode usar um segundo Arduino como ArduinoISP para gravar o bootloader novo no Nano: os carregamentos ficam mais rápidos e o loop infinito de reset do bootloader antigo depois de um reset do watchdog também desaparece.
| Opção de processador | Bootloader | Velocidade de carregamento | Espaço para o código |
|---|---|---|---|
| ATmega328P | Optiboot (desde 2018) | 115200 baud | 30.720 bytes |
| ATmega328P (Old Bootloader) | ATmegaBOOT (antigo) | 57600 baud | 30.720 bytes |
| ATmega168 | ATmegaBOOT (antigo) | 19200 baud | 14.336 bytes |
Colocação na protoboard e solda

Quando encaixar o Nano em uma protoboard, coloque-o de modo que as duas fileiras de pinos fiquem uma de cada lado do canal central. Assim, cada pino cai em uma tira própria, e você pode ligar fios a esse pino pelos furos livres da tira. Como a placa cobre o canal e os furos entre os pinos, sobram só alguns furos ao lado de cada pino; nas protoboards comuns de 830 pontos, se você centralizar a placa sobre o canal, ficam 2 furos livres de um lado e 3 do outro. Virar o conector USB para a borda curta da protoboard facilita encaixar o cabo. Depois, ligue os pinos 5V e GND do Nano aos barramentos de alimentação vermelho e azul da protoboard para alimentar os sensores por ali. Para relembrar como a protoboard é ligada por dentro, veja O que é uma protoboard?.
- Soldando as barras de pinos: nos clones que vêm com os pinos soltos, encaixe primeiro as barras macho na protoboard, apoie o Nano por cima e solde assim; a protoboard mantém as barras retas e a exatamente 0,6 polegada uma da outra. A técnica está em Como soldar.
- Para tirar: levantar a placa por uma ponta entorta os pinos; levante as duas pontas um pouco de cada vez, ou passe uma chave de fenda plana por baixo e puxe por igual.
- Mau contato: em protoboards velhas ou baratas, as molas se desgastam; o Nano reinicia de vez em quando ou um sensor some de vez em quando. Tente mudar a placa para outra área da protoboard.
- Placa de expansão para Nano: em um projeto permanente, um shield de E/S para Nano com bornes de parafuso ou barras de 3 pinos que dão sinal, 5V e GND para cada pino reduz muito a bagunça de fios.
- Mini protoboard: as protoboards pequenas de 170 pontos não têm barramentos de alimentação; leve o 5V e o GND para tiras separadas e marque-as com as cores dos fios.
Tabela de mapeamento de pinos do Arduino Uno para o Nano
| Função | Arduino Uno R3 | Arduino Nano | Observação |
|---|---|---|---|
| E/S digital | D0–D13 | D0–D13 | Mesmos números e funções |
| PWM | ~3, 5, 6, 9, 10, 11 | ~3, 5, 6, 9, 10, 11 | Mesmas frequências e timers |
| Entrada analógica | A0–A5 | A0–A7 | A6 e A7 só existem no Nano e são só analógicos |
| I2C SDA / SCL | A4 / A5 (cópia ao lado do AREF) | A4 / A5 | Não há pinos SDA/SCL separados no Nano |
| SPI SS / MOSI / MISO / SCK | 10 / 11 / 12 / 13 | 10 / 11 / 12 / 13 | Os dois também os têm na barra ICSP |
| Interrupções externas | D2, D3 | D2, D3 | Iguais |
| LED embutido | D13 (com buffer de amp. op.) | D13 (ligado direto ao pino) | Cuidado ao usar o D13 como entrada no Nano |
| Entrada de alimentação | Conector DC e Vin, 7–12 V | Só o pino VIN, 7–12 V | O Nano não tem conector DC |
| USB | USB-B; ATmega16U2 ou CH340 | Mini-B; FT232RL ou CH340 | Cabos diferentes |
| Saída de 3,3 V | Regulador separado, 50 mA | Vem do chip USB, muito limitada | No Nano, não alimente módulos por ela |
| IOREF | Sim | Não | Para compatibilidade com shields |
| Espaço para o código | 32.256 bytes | 30.720 bytes | O IDE reserva 2 KB no Nano |
| Encaixe de shields | Direto | Com adaptador ou placa de expansão | - |
Como mostra a tabela, levar para o Nano um circuito montado para o Uno só exige ligar os fios nos pinos com os mesmos números: um servo no D9 do Uno vai no D9 do Nano, e um display I2C em A4/A5 continua indo em A4/A5. A única mudança no código é selecionar Arduino Nano em Ferramentas > Placa. Já os shields que encaixam direto no Uno não servem no Nano; para isso, existem placas adaptadoras que convertem o Nano para a disposição de pinos do Uno. Você encontra o papel detalhado de cada pino do Uno em pinagem do Arduino Uno e ajuda para escolher uma placa em Qual Arduino comprar?.
Nano Every e Nano ESP32: como se diferenciam do Nano clássico
| Característica | Nano clássico (V3) | Nano Every | Nano ESP32 |
|---|---|---|---|
| Processador | ATmega328P, 8 bits, 16 MHz | ATmega4809, 8 bits, 16 MHz no IDE (até 20 MHz) | ESP32-S3, dual-core, 32 bits, 240 MHz |
| Flash / SRAM | 32 KB / 2 KB | 48 KB / 6 KB | 16 MB / 512 KB (+8 MB de PSRAM) |
| Tensão lógica | 5 V | 5 V | 3,3 V (não tolera 5 V) |
| USB | Mini-B | Micro-B | USB-C |
| Faixa do VIN | 7–12 V recomendados | 7–21 V | 6–21 V |
| Pinos PWM | D3, D5, D6, D9, D10, D11 | D3, D5, D6, D9, D10 (não no D11) | Quase todos os pinos digitais |
| A6 / A7 | Só analógicos | Analógicos e digitais | Analógicos e digitais |
| Interrupções externas | Só D2, D3 | Todos os pinos digitais | Todos os pinos |
| Linha serial D0 / D1 | Compartilhada com a USB (Serial) | Separada da USB (Serial1) | Separada da USB (Serial0) |
| Sem fio | Nenhum | Nenhum | Wi-Fi e Bluetooth LE |
| Pacote de placa no IDE | Arduino AVR Boards | Arduino megaAVR Boards | Arduino ESP32 Boards |
O Nano Every é uma versão mais potente do Nano clássico, com o mesmo tamanho e a mesma disposição de pinos. Ele tem um ATmega4809 dentro, funciona em 5 V e oferece 48 KB de flash e 6 KB de SRAM, então projetos com OLED e fita de LED que sofrem com a RAM do Nano clássico ganham um respiro. No lado da USB, um chip SAMD11 faz a ponte e o código é carregado pela interface UPDI, então não há a dor de cabeça do Old Bootloader. Para usar a placa, instale o pacote Arduino megaAVR Boards pelo Gerenciador de Placas. As diferenças a observar: o PWM só existe em D3, D5, D6, D9 e D10 (o D11 não tem PWM), A6 e A7 também funcionam como pinos digitais, todo pino digital pode ser usado como interrupção externa, e D0 e D1 são uma porta Serial1 independente da USB. A opção Ferramentas > Registers emulation > ATMEGA328 emula registradores de porta como o PORTB, mas código antigo que escreve diretamente em registradores de timer ou de ADC continua sem funcionar. O sketch abaixo mostra juntas duas diferenças do Every: ele conversa com um módulo em D0/D1 enquanto o Monitor Serial está aberto e usa o A7 como entrada de botão com o pull-up interno.
1// Nano Every: Serial = USB, Serial1 = D0 (RX) ve D1 (TX) / Serial = USB, Serial1 = D0 (RX) and D1 (TX)
2const byte BUTTON_PIN = A7; // Every'de A7 dijital de çalışır / A7 also works as digital on the Every
3
4bool lastState = HIGH;
5
6void setup() {
7 Serial.begin(9600); // Seri Monitör / Serial Monitor
8 Serial1.begin(9600); // D0/D1'deki modül, ör. HC-05 / module on D0/D1, e.g. HC-05
9 pinMode(BUTTON_PIN, INPUT_PULLUP); // klasik Nano'nun A7'sinde çalışmaz / does not work on the classic Nano's A7
10}
11
12void loop() {
13 if (Serial1.available()) {
14 Serial.write(Serial1.read()); // modülden bilgisayara / module to computer
15 }
16 if (Serial.available()) {
17 Serial1.write(Serial.read()); // bilgisayardan modüle / computer to module
18 }
19 bool state = digitalRead(BUTTON_PIN);
20 if (state != lastState) { // durum değişince bildir / report when the state changes
21 lastState = state;
22 Serial1.println(state == LOW ? "Buton basildi / Button pressed" : "Buton birakildi / Button released");
23 delay(20); // kontak sıçraması / contact bounce
24 }
25}O Nano ESP32, por outro lado, é um mundo completamente diferente no mesmo tamanho de placa: o processador ESP32-S3 do módulo u-blox NORA-W106 funciona a 240 MHz e oferece Wi-Fi e Bluetooth LE. A diferença mais importante é a tensão: todos os pinos trabalham em 3,3 V e não toleram 5 V, então um sensor com saída de 5 V que você ligaria direto em um Nano clássico pode danificar o Nano ESP32. Onde o Nano clássico tem o pino 5V, há um pino VBUS, que só fornece 5 V enquanto a placa está alimentada pela USB; alimentada pelo VIN, esse pino fica morto. No lugar do AREF e do pino RST do lado analógico, você encontra BOOT0 e BOOT1. A placa é programada com o pacote Arduino ESP32 Boards, e o menu Ferramentas > Pin Numbering tem duas opções: na configuração padrão By Arduino pin, valem os nomes D e A impressos na placa, enquanto em By GPIO number os números são os números de GPIO do ESP32. Por exemplo, o D2 na verdade é o GPIO5; no modo GPIO, escrever pinMode(2, OUTPUT) configura o pino A1. Se você sempre escrever os pinos pelo nome, como D2 e A0, o seu código funciona corretamente nos dois modos.
1// Nano ESP32: Araçlar > Pin Numbering > By Arduino pin (default)
2// Nano ESP32: Tools > Pin Numbering > By Arduino pin (default)
3bool ledOn = false;
4
5void setup() {
6 Serial.begin(115200); // USB-C üzerinden / over USB-C
7 pinMode(LED_BUILTIN, OUTPUT); // D13 = GPIO48
8 pinMode(LED_RED, OUTPUT);
9 pinMode(LED_GREEN, OUTPUT);
10 pinMode(LED_BLUE, OUTPUT);
11 digitalWrite(LED_RED, HIGH); // RGB LED ters mantık: HIGH = sönük / active low: HIGH = off
12 digitalWrite(LED_GREEN, HIGH);
13 digitalWrite(LED_BLUE, HIGH);
14 analogReadResolution(12); // 0-4095 arası / range 0-4095
15}
16
17void loop() {
18 int raw = analogRead(A0); // 12 bit ham değer / 12-bit raw value
19 int mv = analogReadMilliVolts(A0); // kalibre edilmiş milivolt / calibrated millivolts
20 Serial.printf("A0: %d (%d mV)\n", raw, mv);
21 digitalWrite(LED_GREEN, mv > 1650 ? LOW : HIGH); // 1,65 V üstünde yeşil / green above 1.65 V
22 digitalWrite(LED_RED, mv > 1650 ? HIGH : LOW); // altında kırmızı / red below
23 ledOn = !ledOn;
24 digitalWrite(LED_BUILTIN, ledOn ? HIGH : LOW); // D13 LED'ini yakıp söndür / blink the D13 LED
25 delay(500);
26}As entradas analógicas do Nano ESP32 fazem leituras de 12 bits e retornam valores de 0 a 4095, enquanto o analogReadMilliVolts() usa os dados de calibração do chip para dar o resultado direto em milivolts. O LED RGB da placa funciona com lógica invertida, então acende quando você escreve LOW. Se o código não carregar e a placa sumir da lista de portas, você pode colocá-la no modo bootloader apertando o botão de reset duas vezes seguidas, rápido. Para conhecer o lado Wi-Fi do ESP32, veja O que é o ESP32? e, para decidir por uma placa, leia Arduino ou ESP32?. Entre os outros membros da família, o Nano R4 traz o mesmo processador Renesas RA4M1 de 48 MHz do Uno R4 para o formato Nano de 5 V, mas fornece só 8 mA por pino, enquanto o Nano 33 IoT e o Nano 33 BLE são placas de 3,3 V como o Nano ESP32.
Ideias de projetos com Arduino Nano
- Termômetro de bolso: mostre a temperatura medida com um DHT11 em um pequeno display OLED de 0,96 polegada; o Nano e o display cabem em uma caixa de fósforos.
- Mini carrinho robô: o tamanho pequeno do Nano economiza espaço no chassi; acione os motores com um L298N e siga os passos de Como fazer um carrinho robô.
- Robô seguidor de linha: oito entradas analógicas são mais que suficientes para ler uma barra de cinco sensores; os detalhes estão em Robô seguidor de linha.
- Controle por Bluetooth: ligue um módulo HC-05 no D8 e no D7 com SoftwareSerial e controle um LED ou um relé pelo celular; D0 e D1 ficam livres para carregar o código.
- Luz vestível: faça uma luz para crachá ou mochila com um Nano alimentado por bateria e alguns LEDs WS2812B.
- Um teclado em um pino: monte a escada de resistores acima tanto no A6 quanto no A7 para um menu de oito botões e guarde os pinos digitais para o display e os motores.
- Quer um teclado USB? O ATmega328P do Nano clássico não tem USB embutida, então não consegue aparecer para um computador como teclado ou mouse; para isso, você precisa de placas com ATmega32U4, como o Leonardo e o Pro Micro.
Erros comuns e como resolvê-los
| Sintoma | Causa | Solução |
|---|---|---|
| O Nano não aparece na lista de portas | Cabo só de carga ou falta o driver do CH340 | Use um cabo de dados, instale o driver CH341SER; no Linux, remova o brltty |
| O carregamento para com um erro “not in sync” | A placa tem o bootloader antigo | Ferramentas > Processador > ATmega328P (Old Bootloader) |
| Um botão no A6 ou no A7 não responde de jeito nenhum | Esses pinos não têm digitalRead nem pull-up interno | Coloque um pull-up externo de 10 kΩ e use um limite com analogRead |
| Um botão no D13 sempre é lido como pressionado | O LED L e o resistor dele puxam o pino para baixo | Mude o botão para outro pino |
| Um módulo alimentado pelo 3V3 fica instável ou não funciona | O pino 3V3 fornece pouquíssima corrente | Use um regulador de 3,3 V separado, alimentado pelo 5V |
| As leituras analógicas ficam alguns por cento altas demais | Na USB, o pino 5V fica em cerca de 4,7 V | Meça o Vcc real ou alimente a placa pelo VIN |
| A placa esquenta muito com 12 V no VIN | O regulador dissipa (12 − 5) × corrente como calor | Coloque 7–9 V no VIN ou alimente o pino 5V com um módulo buck |
| Com um servo ligado, o LED no D9/D10 não muda de brilho | A biblioteca Servo usa o Timer1 | Mude o LED para o D3, D5, D6 ou D11 |
O Arduino Nano é o jeito mais fácil de levar tudo o que você aprendeu no Uno para projetos pequenos e permanentes; desde que você conheça as diferenças em torno de A6/A7, do 3V3 e do bootloader, não vai haver surpresas. Se quiser voltar ao básico, comece por O que é Arduino?. No app BlueGrays você encontra projetos passo a passo, com esquemas do circuito e código pronto, para piscar um LED, LED com botão, medir luz com LDR, distância com HC-SR04, temperatura e umidade com DHT11, LED RGB, servo com potenciômetro e comunicação serial entre dois Arduinos; todos funcionam no Nano com os mesmos números de pino.
Perguntas frequentes
Quantos pinos tem um Arduino Nano?
O Arduino Nano clássico tem 30 pinos em duas fileiras. 14 deles são entradas/saídas digitais (D0–D13), 8 são entradas analógicas (A0–A7) e o resto são os pinos VIN, 5V, 3V3, AREF, dois GND e dois RST. Como A0–A5 também podem ser usados como pinos digitais, você tem 20 pinos digitais; A6 e A7 só conseguem ler valores analógicos.
Quais pinos do Arduino Nano são PWM?
Os pinos PWM são D3, D5, D6, D9, D10 e D11; na placa ou nos diagramas de pinagem, eles são marcados com um ~ ao lado do número. D5 e D6 funcionam a cerca de 980 Hz, os outros a cerca de 490 Hz. A biblioteca Servo afeta o PWM no D9 e no D10, e a função tone() afeta o D3 e o D11.
A6 e A7 do Arduino Nano podem ser usados como pinos digitais?
Não. A6 e A7 são dois canais do ATmega328P ligados só ao conversor analógico-digital; pinMode, digitalRead, digitalWrite e o pull-up interno não funcionam nesses pinos. Para ler um botão, coloque um resistor de pull-up externo de 10 kΩ e compare o valor do analogRead() com um limite. Já no Nano Every e no Nano ESP32, A6 e A7 também podem ser usados como pinos digitais.
Que tensão posso usar para alimentar um Arduino Nano?
Você pode alimentar o Nano pela USB, com 7–12 V no pino VIN ou com 5 V regulados no pino 5V. O regulador AMS1117 das placas clone pode falhar acima de 15 V e esquenta rápido mesmo com 12 V, então 7–9 V é o ideal para o VIN. Nunca coloque mais de 5 V no pino 5V.
O que significa Old Bootloader no Arduino Nano?
Em 2018, o Arduino trocou o bootloader do Nano pelo Optiboot, menor e mais rápido; o bootloader novo se comunica a 115200 baud e o antigo a 57600 baud. A maioria dos Nanos clone do mercado ainda tem o bootloader antigo, então, a menos que você selecione ATmega328P (Old Bootloader) em Ferramentas > Processador, o carregamento para com um erro not in sync. Escolher a opção errada não faz mal à placa, então você pode simplesmente testar as duas.
Qual é a diferença entre o Arduino Nano e o Uno?
Os dois usam um ATmega328P de 16 MHz, então os números dos pinos, os pinos PWM, as linhas I2C (A4/A5) e SPI (D10–D13) e o código são os mesmos. O Nano é menor, encaixa na protoboard e tem duas entradas analógicas extras (A6, A7), mas não tem conector DC nem barras para shields. O Nano também usa mini USB e o IDE dá a ele 30.720 bytes para o código, enquanto o limite do Uno é de 32.256 bytes.
Projetos para montar depois desta leitura
Ver todos os projetos
LED piscante
O primeiro contato com a eletrônica: acender e apagar um único LED. O Arduino acende e apaga o LED em intervalos curtos, fazendo a luz piscar rapidamente. Você vê da forma mais simples como a placa co

Controle de LED com botão (momentâneo)
É como uma campainha: a luz fica acesa enquanto você pressiona o botão e apaga quando você solta. O Arduino monitora o botão continuamente; enquanto ele está pressionado, o LED fica aceso e apaga assi

Medição da intensidade da luz com LDR
Quer ver a luminosidade do seu quarto em números? O LDR, um pequeno componente sensível à luz, mede a luz ambiente, e o Arduino exibe o valor na tela do computador a cada meio segundo. Cubra o sensor

Medição de distância com HC-SR04 (Monitor Serial)
O sensor HC-SR04 funciona como um morcego que se orienta no escuro: emite um som que você não consegue ouvir, escuta o eco e mede a distância até o objeto à sua frente. O Arduino escreve essa distânci

Temperatura e umidade com DHT11
Qual é a temperatura do seu quarto? O ar está úmido ou seco? O sensor DHT11 mede a temperatura e a umidade, e o Arduino mostra os valores em um display LCD de duas linhas, atualizando a cada poucos se

Uso de LED RGB
Três cores se escondem em um único LED: o LED RGB acende primeiro em vermelho, depois em verde e, por fim, em azul. Cada cor fica acesa por meio segundo e apagada por meio segundo antes de o ciclo rec

Uso de servo motor com potenciômetro
Conforme você gira o botão do potenciômetro, o braço do servo motor gira junto: uma extremidade do botão corresponde a zero grau, e a outra, a meia volta. O Arduino lê continuamente a posição do botão

Comunicação unidirecional entre 2 Arduinos
Faça dois Arduinos conversarem por um único fio: ao pressionar o botão de um, o LED do outro acende; ao pressionar de novo, ele apaga. A placa transmissora informa que o botão foi pressionado com uma
Mais artigos
App BlueGrays
Monte este circuito passo a passo pelo celular
Esquema do circuito, código e lista de componentes em uma só tela. Mais de 200 projetos com Arduino, ESP32 e Pico prontos para montar.
Escaneie com seu celular
Aponte a câmera para o código para abrir a loja de aplicativos do seu celular.
ou abrir a loja

