100+ Projects on ATtiny13

ATtiny13 is my favorite tiny uC. That’s why I decided to design and assemble 100+ projects based on this chip. Why I like ATtiny13?

  • advanced RISC architecture (up to 1MIPS/1MHz, easy to learn Assembler – only 120 instructions)
  • pin-compatible with the ATtiny*5 series so if 1K bytes of FLASH and/or 64 bytes of RAM turns out too restrictive, it’s easy to swap in up to 8K without a layout redesign
  • operating voltage range (1.8V to 5.5V) and industrial temperature range (-40ºC to +85ºC)
  • basic peripheral features like timer, 4-channel ADC, Watchdog or Analog Comparator
  • AVR-GCC compiler and many other developer tools that are open-source and free
  • very-very low price for such computing power!

Here are the ATtiny13 – manual, the ATtiny13 – development board, little guides about how to  compile and burn the code to ATtiny13 (ANSI C) and how to install AVR assembler (AVRA) on Linux.



[001] ATtiny13 – blinky with delay function
[002] ATtiny13 – LED fading with delay function (Software PWM)
[003] ATtiny13 – randomly flashing LED with PRNG based on LFSR
[004] ATtiny13 – blinky with timer OVF (Overflow)
[005] ATtiny13 – blinky with Watchdog Timer
[006] ATtiny13 – blinky with timer COMPA
[007] ATtiny13 – tone generator
[008] ATtiny13 – software UART (debug logger)
[009] ATtiny13 – pseudo random numbers (lightweight library)
[010] ATtiny13 – controlling LED RGB (fancy light effects)
[011] ATtiny13 – IR remote to control LEDs (NEC proto)
[012] ATtiny13 – IR remote to control LED RGB (NEC proto)
[013] ATtiny13 – IR receiver / NEC proto analyzer
[014] ATtiny13 – Best Room Tempature on DS18B20
[015] ATtiny13 – two tone alarm
[016] ATtiny13 – digital DC voltmeter with MAX7219
[017] ATtiny13 – digital DC ampmeter with MAX7219
[018] ATtiny13 – dance lights with FFT
[019] ATtiny13 – simple timer on TM1637
[020] ATtiny13 – power LED PWM driver
[021] ATtiny13 – simple text CLI (Command Line Interface) via UART
[022] ATtiny13 – Morse Code (flashing light)
[023] ATtiny13 – battery level indicator
[024] ATtiny13 – simple logic probe
[026] ATtiny13 – disco lights using FFT
[028] ATtiny13 – running digits on TM1637
[029] ATtiny13 – temperature logger using LM35 ans Software UART
[030] ATtiny13 – reading temperature and humidity from DHT11
[031] ATtiny13 – hardware PWM
[032] ATtiny13 – running dots & digits on 7-segment LED tube display
[033] ATtiny13 – WS2812 LED strip – blinky
[034] ATtiny13 – rainbow on single LED WS2812
[035] ATtiny13 – rainbow on several LEDs WS2812
[036] ATtiny13 – circular WS2812 LED chaser
[037] ATtiny13 – PI (Pulse Induction) metal detector
[040] ATtiny13 – random flickering pixels on 8×8 matrix LED display
[043] ATtiny13 – blinky with delay function (assembler version)
[044] ATtiny13 – blinky with timer OVF (assembler version)
[045] ATtiny13 – blinky with timer COMPA (assembler version)
[047] ATtiny13 – controlling stepper motor 28BYJ-48
[048] ATtiny13 – randomly flashing LED with PRNG based on BBS
[050] ATtiny13 – clap clap switch
[052] ATtiny13 – 8bit mono Class D amplifier

Realization plan is about ~50%. Some of projects are in progress and some are ready to publish. I’ll keep this page updated!


Do you have an idea for next project on ATtiny13? Submit the project topic in a comment or mail it to me! (lpodkalicki@gmail.com)

  • single LED dice (charliplexing)
  • double LED dice (charliplexing)
  • triple LED dice (charliplexing)
  • line follower robot
  • obstacle avoiding robot
  • EMF Detector
  • advanced 4-channel clapper switch
  • Canon remote controller (jack 2.5mm)
  • Canon remote controller (Infrarred RC6)
  • simple remote controller and 4 channel receiver (Infrarred: RC5 or NEC)
  • electronic dice using WS2811 LEDs
  • pulse counter – counting TTL pulses, 7-segment LED module and reset button
  • pulse generator – simple TTL pulse generator
  • matrix keyboard – one wire, ADC
  • OneWire Slave
  • smart desk lamp controller
  • disco lights (upgraded version)
  • PI Metal detector
  • clap-clap switch.

Community Projects



  1. attiny13-software-uart-library – ATtiny13 Software UART library.
  2. attiny-random-library – ATtiny13/25/45/85 16-bit PRNG (Pseudo Random Number Generator) library based on Galois LFSR algorithm.
  3. attiny-max7219-led-tube-display-library – ATtiny13/25/45/85 7-segment LED tube display (MAX7219/MAX7221) library.
  4. attiny-max7219-matrix-8×8-led-display-library – ATtiny13/25/45/85 8×8 matrix LED display driver (MAX7219/MAX7221) library.
  5. attiny-74hc595-library – ATtiny13/25/45/85 74hc595 shift register library.
  6. attiny-tm1638-library – This is tinyAVR (ATtiny13, ATtiny25, ATtiny45, ATtiny85, and other) library for LED controller modules based on TM1638 chip.
  7. attiny-tm1637-library – TinyAVR – ATtiny13, ATtiny25, ATtiny45, ATtiny85 – library for 7-segment display modules based on TM1637.
  8. attiny-ds18b20-library – This is tinyAVR (ATtiny13, ATtiny25, ATtiny45, ATtiny85, etc.) library for DS18B20 temperature sensor.
  9. attiny-onewire-library – This is tinyAVR (ATtiny13, ATtiny25, ATtiny45, ATtiny85, etc.) library to access devices using OneWire (1-Wire) protocol.


30 thoughts on “100+ Projects on ATtiny13

  1. Hello. Thanks for your very nice and useful site
    Can we set up a memory card with attiny13? For example, read the temperature and save it to the memory card?

    • Hi, I would be surely interested. Do you have a link to your project on github or somewhere else?

    • Cześć, udało mi się zrobić kilka prostych ładowarek na ATtiny13 dla akumulatorów żelowych. Jakie akumulatorki są w PS3?

    • If so, have a nice adventure! I hope that materials I posted here will help you start your project.

  2. Hey Lukasz, is attiny 13 powerful enough to make a sound reactive LED driver? I want to connect audio input on one pin and have LED on the other? Thanks 🙂

  3. Cesc z Litwy,

    czy bedzie pan Lukasz robic projekty z innymi AVR mikroprocesorami, na przyklad Atmega8 itd.?

  4. Hi Łukasz, from what I understand attiny13a have 2 pwm channels so i wonder if you could help me to build pwm dimmer for 2 led fixtures by providing 2 channels which would run 2 Darlington transistors to run them?
    My understanding of pwm functionality of the chip is very limited. Thx ahead of time.

    • Hi, do you have any specific PWM parameters (frequency, duty cycle resolution) for your project?

      • For leds i don’t need more then 120hz but to be on the safe side it we can do more. Duty cycle resolution 8bit(max).

        Thanks again

  5. Dear Sir,
    ATiny13 must be always be used with uno this will let the Atiny13 work as standalone unit? After of course compile it! Mfile winAVR!
    kind regarrds

  6. It seems like Atmel Studio 7’s display of Program memory use is not trustworthy. It does not show the same value as the hex-files properties does. There is a big difference.

  7. This is a great blog. I like playing around with the Attiny MCU’s. Especially the 13. I have tried your software UART. It works great. In my last project, I use an attiny13 to get signals from a photoresister and a movement sensor. I use a ESP8266-01 to request measurements. My request terminated first with ‘>’. But i wanted to change this to ‘\r’. I use Atmel Studio 7 as IDE.
    When I use ‘>’ as terminater, everything is OK. But when I change it to anything else (‘\r’ or ‘A’), I get a program overflow.
    while ((c = uart_getc()) != ‘>’ && (p – buff) < 16)
    Program Memory Usage : 326 bytes 31,8 % Full

    while ((c = uart_getc()) != 'A' && (p – buff) < 16)
    Program Memory Usage : 2268 bytes 221,5 % Full (Memory Overflow)

    Do you have any idea, what causes this?

  8. Hi Łukasz,

    I like the ATtiny13A too. Thank you very mutch for sharing your Soft UART library.

    For me the ATtiny is a perfect Co-Controller for the ESP8266 wifi chip and low current applications. You can power down the ESP, the ATtiny messures sensors, keep variable and uptime. After wakeup or trigger the ATtiny send it’s data to the ESP. The ATtiny itself going to sleep for small intervalls.

    Best regards, Robert

Leave a Comment