Arduino – LED logarithmic fade

Yet another Arduino LED fade effect. Similar to Arduino – LED linear fade. However, this one is using logarithmic scale for the delay time. It gives a nice “breathing” LED light effect. With properly adjusted settings it can look like a sleep LED effect in a macbook. This example Arduino project lights the basic LED connected in series with … Read more

Arduino – LED linear fade

This article explains how to make an example Arduino project that lights the basic LED (connected in series with resistor to pin 11) using linear fade effect. To build a nice fade effect you need to know how to change the LED brightness, first. The complete code is also on GitHub, here. Linear Fade effect changes the LED brightness … Read more

Arduino – basic LED blink

Yet another Arduino blinking LED example. This one is using BasicLed class to make the LED control more comfortable. The code is on Github, here. Parts Required arduino board (i.e. Arduino/Genuino UNO) basic LED (i.e. on-board LED) Software This code is written in C++ and can be compiled using an Arduino IDE. All information about how to compile this project is here. … Read more

Generating true random numbers using floating ADC input – myth or facts?

This article shows the feasibility of using ADC input of AVR chip as a source of True Random Number Generator (TRNG). I have prepared the testbed and recorded via UART (115200; 8N1) about 50’000’000 of 32bit random numbers. The tests took about 11 hours (including a time I spent to pray to UART for a … Read more

AVR – dockerized toolchain

Lightweight docker image built on top of alpine:3.10 with installed AVR toolchain and few additional tools: AVR8 toolchain (2019, AVR_8_bit_GNU_Toolchain_3.6.2_1759) avrdude (v6.3) make (v4.2) cmake (v3.14) DockerHub: Installing Bellow you can find recommended simple one-line installer that pulls the newest docker-image and installs avr-toolchain script into “/usr/bin/” directory. curl | bash -s — Getting started Install toolchain using … Read more

AVR development board for ATtiny13, ATtiny85, etc.

This is an upgraded version of MBAVR-1 – a minimalist development board for tiny AVR microcontrollers like ATtiny13, ATtiny15, ATtiny25, ATtiny45 or ATtiny85. The board has been designed for a rapid prototyping of devices based on tinyAVR chips. The small-size MBAVR-1t board can be installed directly on protoboard or used as shield by other PCB. Also, by adding DIP8 holder you can … Read more

ATtiny13 – reading temperature and humidity from DHT11

This article shows how to make ATtiny13 to read temperature and humidity from DHT11 sensor and log this information using a Software UART. What you need is connect DHT11 DATA-pin to PB0 and RX-pin of USB to serial adapter to PB3 of ATtiny13. You also need to connect sensor to power supply (3.3V or 5V). Well, with a little code … Read more

How to make ATtiny13 running at 128 kHz clock source

The ATtiny13’s default clock source setting is the Internal RC Oscillator running at 9.6MHz with clock divider /8 (fuses L=0x6A and H=0xFF; see fuse calculator). This short article explains how to downclock the ATtiny13 by swtiching to Internal RC Oscillator running at 128kHz without clock divider (fuses L=0x7B and H=0xFF) and still have a control to program AVR … Read more

How to update AVR USBasp firmware to latest version

The common reason why you would like to update this firmware is unlock slow-sck function for cheap (e-bay or Aliexpress) USBasp programmers, like this one on the picture. The slow-sck function allows to program AVR chips running at very low frequency clock source (i.e. 128kHz). When your USBasp programmer prints that warning it means that firmware update is … Read more