Microcontrollers and pull-up / pull-down resistors

A pull-up resistor is a resistor connected between a signal conductor (GPIO) and a positive power supply voltage while a pull-down resistor is a resistor connected between a signal conductor and a ground. They are used on inputs to prevent floating lines, rapidly switching between high and low and a middle “undefined” region. Outputs normally do … Read more

ATtiny13 – controlling LED RGB | fancy light effects

This is a simple ATtiny13 project that controls LED RGB using Software PWM. In result It gives really nice and colourful light effect. In our circuit a LED cathodes are connected to PB0, PB1 and PB2 while common anode is connected to VCC. The code is on Github, click here. Parts Required ATtiny13  – i.e. … Read more

[MBAVR-4] Minimalist development board for Atmega16/Atmega32

Yet another quick how-to guide of making a minimalist development board for AVR. The MBAVR-4 development board is designed for megaAVR MCUs like Atmega16 and Atmega32. It is a 4th and last project in series of MBAVR family home-made boards in order to create an nice environment for rapid development. I did these all things … Read more

[MBAVR-3] Minimalist development board for ATmega8/ATmega88/ATmega168/ATmega328

This is another quick how-to guide of making a minimalist development board for AVR. This time is about MBAVR-3 development board designed for megaAVR MCUs like ATmega8, ATmega88, ATmega168 or ATmega328. It is a 3rd project in series of MBAVR familly home-made boards in order to create an nice environment for rapid development. I did … Read more

[MBAVR-2] Minimalist development board for ATtiny2313/ATtiny4313

This is a quick how-to guide of making a minimalist development boards for MCU of tinyAVR, like ATiny2313 or ATiny4313. MBAVR-2 is a second project in series of MBAVR family home-made boards in order to create an nice environment for rapid development. All I did, I did at home. I used toner transfer technique for … Read more

What is Serial Peripheral Interface (SPI) ?

Serial peripheral interface (SPI) is a hardware/software communication protocol originally developed by Motorola and widely used by others in the industry. SPI is quite straightforward – it defines how to communicate in easy way between 2 digital devices – i.e. between AVR and devices, like other AVRs, external EEPROMs, DACs, ADCs, etc. SPI is a single-master … Read more

ATtiny13 – blinky with Watchdog Timer

Yet another ATtiny13  blinky project. In our circuit a LED is connected to PB0 and it is made to blink for roughly every second by using Watchdog Timer. The code is on Github, click here. Parts Required ATtiny13  – i.e. MBAVR-1 development board Resistor – 220Ω, see LED Resistor Calculator LED Circuit Diagram Firmware This … Read more

ATtiny13 – software UART (debug logger)

Since ATtiny13 does not have hardware USART/UART in some cases we’re forced to use Software UART. In this example project a simple bit-banging UART has been presented. Compiled for both TX and RX it uses just 248 bytes of flash. Default serial configuration is 8/N/1 format at 19200 baud (lowest error rates during tests). It … Read more

ATtiny13 – blinky with timer OVF (Overflow)

Yet another blinky project that is based on internal timer. In our circuit a LED is connected to PB0 and it is made to blink for roughly every second by using timer OVF (overflow). The code is on Github, click here. Parts Required ATtiny13  – i.e. MBAVR-1 development board Resistor – 220Ω, see LED Resistor … Read more

ATtiny13 – randomly flashing LED with PRNG based on LFSR

This Project simply flashes the LED in random manner. It uses PRNG (Pseudo Random Number Generator) based on LFSR (Linear Feedback Shift Register) to generate 16-bit (pseudo) random numbers. The less significant bit of randomly generated number is a major factor in decision to on/off the LED. The code is on Github, click here See … Read more