
Are you an electronics hobbyist who loves building compact and clever devices? You can use the powerful and affordable ATtiny85 microcontroller for your next creation. This small chip is perfect for dedicated, single-purpose functions.
The ATtiny85 is ideal for dedicated tasks. Its small size and low power use are perfect for battery-operated projects, from wearable tech to smart home tools. 💡
This guide delivers 10 creative ATtiny85 projects to inspire your 2025 builds. You will find a fun project for every skill level, from beginner to intermediate, using the versatile attiny chip.
The ATtiny85 is a small, cheap chip. It is great for simple projects that do one job well.
You can build many fun things with the ATtiny85. These include smart plant sensors, tiny game consoles, and remote controls.
The ATtiny85 uses little power. This makes it good for projects that run on batteries for a long time.
You can program the ATtiny85 using an Arduino board. This makes it easy to start building your own projects.
You might wonder why you should pick the ATtiny85 in a world full of powerful microcontrollers. Chips like the ESP32-C3 and Raspberry Pi Pico offer features like Wi-Fi, Bluetooth, and much more processing power. These are great for complex projects. However, the ATtiny85 shines for its simplicity and focus. It is the perfect choice for small, dedicated tasks where you need efficiency and low cost. This tiny chip excels at doing one job and doing it well.
For many hobbyist projects, you do not need the features of a more advanced board. The ATtiny85 provides just what you need for simple, battery-powered devices. Its low power consumption is a major advantage. You can compare its core features to other popular options below.
MCU Family | Architecture | Max Clock Speed | RAM | Flash | Key Strength |
|---|---|---|---|---|---|
ESP32 | Xtensa LX6 | 240MHz | 520KB | 4MB | Integrated Wi-Fi/BT |
ATmega328P (similar to ATtiny) | AVR | 20MHz | 2KB | 32KB | Low power, simple |
RP2040 (Raspberry Pi Pico) | ARM Cortex-M0+ | 133MHz | 264KB | - | Dual-core, PIO |
You also get the benefit of a strong and active community. Getting started with a new component can be challenging, but you are not alone with the attiny.
This community support continues to thrive. Development boards based on the attiny85, like the Digispark, remain popular through clone versions and community efforts. Tools like Spence Konde's ATTinyCore make it easier than ever to program the chip using the familiar Arduino IDE. This ongoing development ensures the ATtiny85 remains a reliable and accessible choice for your creative builds.
Here are 10 creative ATtiny projects to spark your imagination. Each idea includes the key features, core components, and a difficulty rating to help you choose your next build.
You can build a simple device to monitor your plants. This beacon checks the soil moisture and alerts you when your plant needs water. It is a perfect beginner project that solves a common problem. The core of the circuit is a moisture sensor that the ATtiny85 reads. When the soil is dry, the microcontroller flashes an LED, giving you a clear visual signal. You can make this project very power-efficient by using the ATtiny's sleep modes.
#include <avr/sleep.h> #include <avr/wdt.h> #define sensorPin 2 #define sensorValuePin 3 #define ledPin 4 void setup() { pinMode(sensorPin, OUTPUT); pinMode(sensorValuePin, INPUT); pinMode(ledPin, OUTPUT); } void loop() { digitalWrite(sensorPin, HIGH); // Power the sensor delay(100); if (digitalRead(sensorValuePin) == 1) { // Check for dry soil // Blink 10 times to signal "water me" for (byte i = 0; i < 10; i++) { digitalWrite(ledPin, HIGH); delay(200); digitalWrite(ledPin, LOW); delay(200); } } else { digitalWrite(ledPin, LOW); // Soil is moist, turn LED off } digitalWrite(sensorPin, LOW); // Power down the sensor // Code for deep sleep would go here to save power }
Key Features:
Low-power operation ideal for battery use.
Simple visual alert system (blinking light).
Core Components:
ATtiny85 Microcontroller
Soil Moisture Sensor (capacitive or resistive)
LED
Resistors
Battery Holder (e.g., for a CR2032 or AAAs)
Difficulty: Beginner
Boost your productivity with a tiny, dedicated Pomodoro timer. This device helps you focus by timing 25-minute work sessions and 5-minute breaks. You can start and reset the timer with a single button. A buzzer provides an audible alert when your session is over. You can make this project extremely compact, perfect for carrying in your pocket or leaving on your desk. For long battery life, you should use the ATtiny85's low-power sleep modes. This can reduce power drain to just a few microamperes (uA) in inactive mode.
Key Features:
Single-button operation for simplicity.
Audible alerts for start and stop.
Ultra-low power consumption for long battery life.
Core Components:
ATtiny85
Piezo Buzzer
Optional: LEDs for visual progress
Difficulty: Beginner
You can turn an ATtiny85 into a "BadUSB" device. This tool pretends to be a USB keyboard and automatically types a sequence of commands when you plug it into a computer. It is a fascinating project for learning about USB Human Interface Devices (HID). You can automate repetitive tasks or use it for cybersecurity demonstrations. You will need a library like V-USB or the simpler DigiKeyboard.h to handle the USB communication.
To get started, you install the Digistump board support in your Arduino IDE. Then, you can use simple commands like
DigiKeyboard.print("Hello, world!");to type text.
Key Features:
Acts as a USB keyboard (HID device).
Executes pre-programmed keystrokes on connection.
Requires no special drivers on the target computer.
Core Components:
ATtiny85
USB-A Male Connector
A few resistors and Zener diodes (for USB voltage logic)
Difficulty: Intermediate
Build a unique desk clock that displays the time in binary. Each column of LEDs represents a digit of the time (hours and minutes), and you read the value by adding up the lit LEDs in that column. While the ATtiny85 can keep time, it lacks a dedicated asynchronous timer for high accuracy. Its internal oscillator can drift. For a more precise clock, you might consider an external Real-Time Clock (RTC) module. However, for a simple and stylish clock where slight drift is acceptable, the attiny is a great choice.
Key Features:
Unique binary time display.
Compact design with minimal components.
Core Components:
ATtiny85
6 to 10 LEDs (depending on display format)
Resistors
Push Buttons (for setting the time)
Optional: DS3231 or other RTC module for accuracy
Difficulty: Intermediate
Create a glowing, animated badge that you can wear to parties or events. This project uses a ring of addressable RGB LEDs (NeoPixels) to create colorful patterns. You can program different animations and cycle through them with a button. This badge makes for one of the best custom electronic gifts. A key consideration is power. NeoPixels draw a lot of current, so a standard coin cell battery will not be enough. You will need a small LiPo battery to provide sufficient power for the bright light. This is a fun way to learn about controlling NeoPixels and managing power in wearable projects. The final badge can reflect your mood with different colors.
Key Features:
Displays vibrant, customizable animations.
A single button to change the light patterns or mood.
Wearable and powered by a rechargeable battery.
Core Components:
ATtiny85
NeoPixel Ring (e.g., 8 or 12 LEDs)
Small LiPo Battery
Push Button
TP4056 LiPo Charging Module
Difficulty: Intermediate
This project turns the ATtiny85 into a miniature science tool. You can build a self-contained device that records environmental data like temperature and humidity over time. The attiny reads data from a sensor (like a DHT11 or DHT22) and saves it to its internal 512-byte EEPROM. After collecting data, you can connect the chip to an Arduino to read and analyze the stored values. For reliable sensor readings, you can use Rob Tillaart's dht.h library, which works well with the ATtiny85.
Key Features:
Logs sensor data without a computer.
Stores data in the ATtiny85's internal EEPROM.
Can run for days or weeks on a small battery.
Core Components:
ATtiny85
DHT11 or DHT22 (Temperature/Humidity) Sensor
Battery
Difficulty: Intermediate
Yes, you can build a tiny game console with an ATtiny85! This project challenges you to create a simple game on a small OLED screen, controlled by just one or two buttons. Think of a "Flappy Bird" or "Dino Run" clone. The biggest challenge is memory. The ATtiny85 has only 8KB of flash, so you need a lightweight library like Tiny4kOLED or a modified SSD1306XLED library to drive the display. This is an excellent exercise in code optimization and hardware limitations.
Key Features:
Drives a monochrome OLED display.
Simple, single-button gameplay.
A great challenge in optimizing code for limited memory.
Core Components:
ATtiny85
Push Button(s)
Small Buzzer (for sound effects)
Difficulty: Intermediate
Tired of checking an empty mailbox? Build a system that tells you when the mail has arrived. This project uses two ATtiny85 chips. One chip is a transmitter inside your mailbox. It uses a switch or sensor to detect when the mailbox door opens. It then sends a wireless signal. The second chip is a receiver inside your home, which beeps or flashes an LED to notify you. You can use a reliable 433MHz RF module pair like the FS1000A transmitter and RXB6 receiver. The Manchester code protocol is a great choice for sending simple signals between the two chips.
Key Features:
Wireless notification system.
Low-power transmitter for long battery life in the mailbox.
Simple and effective alert at the receiver.
Core Components:
2x ATtiny85 Microcontrollers
433MHz RF Transmitter/Receiver Pair (FS1000A/RXB6)
Switch (e.g., magnetic reed switch or tilt switch)
LED or Buzzer
Batteries
Difficulty: Intermediate
Declutter your coffee table by building a tiny, custom IR remote. You can program this device to control your TV, stereo, or other infrared-controlled appliances. The project involves capturing IR codes from your existing remotes and storing them in the ATtiny85. You can then assign each code to a button. Lightweight libraries like IRremote_Attiny are perfect for this. You can find databases of IR codes online, like the 'irdb' repository on GitHub, if you lose a remote.
You can find codes for many devices. For example, a Samsung TV's power command might look like this in a database file:
name: POWER protocol: Samsung32 address: 07 00 00 00 command: 02 00 00 00
Key Features:
Controls multiple devices from one tiny remote.
Customizable button layout and functions.
A great introduction to IR communication protocols.
Core Components:
ATtiny85
IR LED (Transmitter)
Push Buttons
Battery
Optional: IR Receiver (for capturing codes)
Difficulty: Intermediate
Harness the power of the sun to create an automatic outdoor light or a decorative rgb mood light. This project uses a small solar panel to charge a LiPo battery during the day. An ATtiny85 monitors the light level using a photoresistor (LDR). When it gets dark, the ATtiny85 turns on an LED or a string of LEDs. The PWM85 is a great example of a solar charge controller circuit built around an ATtiny85. It efficiently manages charging and can run on as little as 0.74mA. This is a fantastic project for learning about solar power, battery charging, and efficient light control.
Key Features:
Self-sufficient and powered by solar energy.
Automatically turns on at dusk and off at dawn.
Efficiently manages battery charging and power to the light.
Core Components:
ATtiny85
Small Solar Panel (e.g., 5V or 6V)
LiPo Battery
TP4056 Charging Module (or a custom charge controller)
Photoresistor (LDR)
High-Efficiency LED(s)
Difficulty: Intermediate
You can start your first ATtiny project using a tool you already know: an Arduino board. The most common method turns your Arduino into a programmer, also known as an ISP (In-System Programmer). This process is straightforward and lets you upload code directly to the tiny chip.
First, you need to teach the Arduino IDE how to recognize the attiny. You can do this by adding board support.
Open the Arduino IDE and go to File > Preferences.
Find the "Additional Boards Manager URLs" field.
Paste this URL: http://drazzy.com/package_drazzy.com_index.json.
Go to Tools > Board > Boards Manager..., search for attinycore, and install it.
Next, you must prepare your Arduino board. Connect your Arduino to the computer, open the ArduinoISP example sketch from File > Examples > 11.ArduinoISP, and upload it. Your Arduino is now ready to program other chips.
Now, you can wire the ATtiny85 to your Arduino. Follow these connections carefully.
Arduino Pin 13 ➡️ ATtiny85 Pin 7 (SCK)
Arduino Pin 12 ➡️ ATtiny85 Pin 6 (MISO)
Arduino Pin 11 ➡️ ATtiny85 Pin 5 (MOSI)
Arduino Pin 10 ➡️ ATtiny85 Pin 1 (Reset)
Arduino 5V ➡️ ATtiny85 Pin 8 (VCC)
Arduino GND ➡️ ATtiny85 Pin 4 (GND)
To prevent your Arduino from resetting during the upload, connect a 10uF capacitor between its RESET and GND pins. The negative leg of the capacitor goes to GND.
Finally, you are ready to upload your code. In the Arduino IDE, select the correct settings under the Tools menu:
Board: ATtiny25/45/85
Chip: ATtiny85
Clock: Internal 8 MHz (a good starting point)
Programmer: Arduino as ISP
Open your sketch and click "Upload". Your code will be sent to the attiny chip. This simple setup opens up a world of compact Arduino projects.
You can see that innovation often comes in small packages. The ATtiny85 remains an excellent, low-cost choice for your focused and creative electronics builds. Companies are making this technology more accessible, offering powerful chips in prototype-friendly designs.
You have the skills to bring these ideas to life. Your creativity is the most important component. 🚀
Now is the perfect time to start. Choose a project that excites you, gather your components, and begin building. Share your amazing creations or other fun ideas in the comments below!
You will find the ATtiny85 is much smaller and more affordable than a standard Arduino board. It has fewer pins and less memory. This makes it perfect for simple, dedicated projects where a full Arduino is too large or expensive.
You cannot use every Arduino library out of the box. Many libraries need special versions to work with the ATtiny85's limited resources. You should always check a library's documentation for compatibility before including it in your project.
Your ATtiny85 likely runs at its default 1MHz clock speed to save power. You can easily change this setting in the Arduino IDE. Go to Tools > Clock and select Internal 8 MHz to make your project run much faster. 🚀
You can use up to 6 pins for your projects. However, one of these pins (Pin 1) functions as the reset pin by default.
You can disable the reset function to get a sixth I/O pin. Be careful, as this change makes it much harder to upload new code to the chip.