Muitos projetos feito em Arduino utilizam somente alguns pinos, com isso você acaba “gastando” o seu Arduino de uns 20 pinos (no caso do UNO) para uso efetivo de somente uns 4 ou 5.
O Arduino por si só não é muito grande, mas as vezes você não consegue, por exemplo, “hackear” um brinquedinho, colocando LEDs, comando de voz e motorzinhos, ou fazer um sistema de irrigação, iluminação para aquário e os famosos paper circuits, etc…
A seguir veremos algumas maneiras, muito simples, de reduzir o seu projeto, tanto em tamanho, quando em preço ($$).
A parte mais interessante desse processo é que continuaremos utilizando o Arduino (placa e IDE), além, é claro o nosso protagonista, o microcontrolador Attiny85.
O que é o Attiny85
O Attiny85 é um microntrolador da Atmel que possui 8 pinos, sendo 2 para energia (5v e Gnd), 1 reset e 5 I/O (entradas e saídas)
Os 5 pinos por vez temos, entradas analógicas, PWM, digital, ou seja, diversão garantida.
Ele possui voltagem de apenas 2,7 – 5,5v, logo, uma bateria CR3032 já será suficiente para garantir o funcionamento do seu projeto.
Nosso objetivo não é o aprofundamento em detalhes técnicos, caso haja curiosidade acesse o Datasheet do Attiny link.
A primeira coisa que se deve fazer é identificar a posição do Attiny85. Ele possui um indicador, no formato de um círculo.
Essa identificação é muito importante, pois há risco de curto-circuito na montagem (experiência própria – 😥 ).
Os pinos de trabalho são 0, 1, 2, 3, 4 (5pinos) (padrão); Pode ser modificado o pino 1 (reset) que será o Pino 5 para programação)
| Pino do Attiny85 | Função | Pino Digital | Pino Analógico |
| 1 | Reset* | ||
| 2 | I/O | 3 | A3 |
| 3 | I/O e PWM | 4 | A2 |
| 4 | Ground | ||
| 8 | Voltagem | ||
| 7 | I/O | 2 | A1 |
| 6 | I/O e PWM | 1 | |
| 5 | I/O e PWM | 0 |
O pino 1, pode ser convertido em I/O (pino de entrada e saída), porém ele deixa de ser programado via ISP.
Você precisará de um programador de alta-voltagem para resetar o pino, novamente.
Em um outro tutorial iremos tratar esse tema, gravando o bootloader para funcionamento igual ao Digispark da Digistump.
O que você vai precisar?
Placa Arduino/Genuino/Clone Uno, Nano e Duemilanove (1) – testamos nesses modelos, mas é possível em vários outros.
Breadboard (1)
Capacitor de 10µF (1)
Cabos (alguns)
LEDs (para teste)
Resistores 220 Ω. (para os LEDs)
Como ligar o Attiny na sua placa Arduino/Genuino:
Através do Arduino é possível utilizar a função ISP (In-system Programmer), onde nós utilizaremos o Arduino para gravar o Attiny85.
A ligação é muito simples, veja o esquema abaixo feito no Fritizing:
| Pino Attiny85 | Pino Arduino |
| 8 | 5v |
| 7 | 13 |
| 6 | 12 |
| 5 | 11 |
| 1 (Reset) | 10 |
| 4 | Ground |
| Capacitor | |
| Reset (+) | Gnd (-) |
Preparando a sua IDE do Arduino
Primeiramente, retire o Capacitor (Ground e Reset) instale o programa ArduinoISP, para que o Arduino esteja habilitado para gravar o Attiny85.
Na imagem abaixo há o processo detalhado, siga os passos: 1, 2 e 3

![]() |
![]() |
Coloque o Capacitor (Ground e Reset) novamente
Incluindo o chip Attiny85 na IDE do Arduino
Com o Arduino preparado, você precisará instalar o chip na IDE do Arduino para que a gravação seja igual a uma placa.
Na criação deste post, a versão mais atualizada do Arduino era a 1.6.12, mas testamos em outras e funcionou de maneira igual.
Siga os seguintes passos:
[Arquivo] -> [Preferências]
Copie o endereço abaixo e cole em: [URLs Adicionais de Gerenciadores de Placas]:
https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json
O próximo passo será instalar a placa Attiny85:
Passos 1, 2 e 3:

Passos 1 e 2:

Se tudo correu bem, você verá o nome do Attity25/45/85, logo abaixo:
Logo após esse processo selecione o chip que você possui:
O Clock deverá se o Interno (Internal) e neste primeiro momento deixe com 1MHz.
Gravando o Attiny85
No programa você irá testar os três pinos PWM 3, 7 e 8 (que são o 0, 1 e 4), e os demais pinos digitais.
Copie o código abaixo:
/*
Attiny85 - PinTest
Test PWM pins 0,1,4
Test blinking pins from 2 and 3.
This example code is in the public domain.
created on 20 Oct 2016
by Edson Sobreira
for http://hackeduca.com.br
*/
//---------------------------------------
void setup() {
// Inicializa os 5 pinos
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(0, OUTPUT);
pinMode(1, OUTPUT);
}
void loop() {
//Teste para os pinos PWM
//---------- Pino 0 -------------------
for (int i=0; i<=255; i+=5)
{
analogWrite(0, i);
delay(50);
}
//---------- Pino 1 --------------------
for (int i=0; i<=255; i+=5)
{
analogWrite(1, i);
delay(50);
}
//---------- Pino 4 --------------------
for (int i=0; i<=255; i+=5)
{
analogWrite(4, i);
delay(50);
}
//---------- Pino 2 e 3 --------------
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
delay (1000);
digitalWrite(2, LOW);
digitalWrite(3, LOW);
}
Se você seguiu todos os passos acima, é só gravar o programa no Attiny85 e ao final do processo aparecerá a informação de Carregado 🙂
O seu Attiny85 já pode ser utilizado.
Veja o exemplo que montamos:
Nossa área de trabalho:
Nosso projeto Final:













3 Comments
Hackeduca, gostei muito das vossas dicas, com esse pequeno artigo deu para saber um pouco do Attiny 85.
Tenho um projeto a fazer com esse microcontrolador, automatizar uma residencia, queria que me dessem mais dicas como posso fazer e quais são os componentes que vou precisar para fazer o projeto.
Agradeceria a vossa ajuda.
Olá Bertacio, depende do tipo de automatização que você deseja.
Há inúmeros tipos, como Wifi (não seria possível usar o Attiny), por Bluetooth (é possível a utilização e há alguns artigos explicando o procedimento) ou mesmo usando sensores (temperatura, luz, unidade, relé, etc…)
O Attiny85 é bastante limitado, mas em teoria qualquer sensor poderia funcionar com ele, considerando que há somente 5 pinos utilizáveis e 1 que pode ser convertido (reset).
Boa sorte pra você em seu projeto.
Parabéns pelo artigo!
O uso de timers e interrupções no Attiny é tão fácil quanto no arduino Uno/Nano/Mega?
Grato,
Valdir