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 (-40C to +85C)
  • 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.

pingout_attiny13

Project List

[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
[028] ATtiny13 – running digits on TM1637
[029] ATtiny13 – temperature logger using LM35 ans Software UART
[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
[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)

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

Libraries

  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.

 

12 thoughts on “100+ Projects on ATtiny13

  1. 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

  2. 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)
    gives
    Program Memory Usage : 326 bytes 31,8 % Full

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

    Do you have any idea, what causes this?

  3. 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.

  4. 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
    demetrios

  5. 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?

Leave a Comment