Nerd Ralph writes: I’ve written a few software UARTs for AVR MCUs. All of them have bit-banged the output, using cycle-counted assembler busy loops to time the output of each bit. The code requires interrupts to be disabled to ensure accurate timing between bits. This makes it impossible to receive data at the same time […]
Category Archives: AVR
μSim: PICmicro instruction simulator
Dilshan has published a new build: μSim is a lightweight PIC™ CPU and ALU simulator. This simulator supports the PICmicro mid-range instruction set and designed to work on both PC and Arduino platforms. Compare with most of the other emulators, μSim does not provide all MCU features and peripherals. This simulator design as a minimalistic […]
A full-duplex tiny AVR software UART
Nerd Ralph writes: I’ve written a few software UARTs for AVR MCUs. All of them have bit-banged the output, using cycle-counted assembler busy loops to time the output of each bit. The code requires interrupts to be disabled to ensure accurate timing between bits. This makes it impossible to receive data at the same time […]
NRI G-13.mft parallel coin acceptor to Serial adapter
David has been working on an ATmega based USB serial adapter for the NRI G-13.mft coin validator: The NRI G-13.mft by Crane is a versatile and high secure coin validator. It can be programmed using the propretary WinEMP software and PC interface, or event it has some DIP Switch that can be used to program […]
High-voltage FLASH programming on ATTINY85
ATTINY85 High-Voltage Flash programmer @ td0g.ca: The Atmel ATTINY85 is a great chip (cheap, easy to use, supported in the Arduino IDE). Unfortunately it only has 5 IO pins, which limits its usability. There are guides on using a High-Voltage Programmer (HVP) to change the Reset pin into an IO pin. However, that prevents you […]
MCP4141 based digital potentiometer
Dilshan Jayakody has been working on an open-source hardware project MCP4141 based digital potentiometer, that is available on GitHub: The main objective of this project is to create an experimental prototype of a digital potentiometer using Microchip’s MCP4141 IC. MCP4141 is available with end-to-end resistances of 5KΩ, 10KΩ, 50kΩ, and 100KΩ. This potentiometer-module can drive […]
AVR high voltage programmer 2
Dilshan Jayakody posted an update on his AVR high voltage programmer project we covered previously: AVR-HV2 is Arduino based high voltage parallel programmer for AVR microcontrollers. This programmer can read, write, and erase both flash memory and EEPROM. Also, this can use to set fuse bits of AVR MCUs. Compare with the previous version of […]
Building a better bit-bang UART – picoUART
Ralph Doncaster writes, ” The screen shot above is from picoUART running on an ATtiny13, at a baud rate of 230.4kbps. The new UART has several improvements over my old code. To understand the improvements, it helps to understand how an asynchronous serial TTL UART works first. Most embedded systems use 81N communication, which means […]
An ATmega brushless sensored motor driver v02
David Gironi writes, “Brushless electric motor (BLDC motors) are synchronous motors that are powered by a DC electric source via an integrated inverter/switching power supply, which produces an AC electric signal to drive the motor. Hall sensored motors uses hall effect sensors or a rotary encoder to directly measure the rotor’s position. See the full […]
An ATmega brushless sensorless motor driver v02
Davide Gironi has posted an update on his ATmega brushless sensorless motor driver project we covered previously: Brushless electric motor (BLDC motors) are synchronous motors that are powered by a DC electric source via an integrated inverter/switching power supply, which produces an AC electric signal to drive the motor. See the full post on his […]
Drive an MCP49XX series DAC with an AVR ATmega
Davide Gironi writes: Driving that IC is pretty simple, expecially if you have a dedicated SPI hardware interface, like many microchip has. The ATmega8, used in this example has a dedicated SPI Control Register (SPSR) that one can use to setup the SPI interface. This library can drive more then one MCP49XX of the same […]
Nano current meter based on an ATtiny84
Johnson Davies published a new build: This project describes a simple low-current meter I devised to check the sleep current of different microcontroller circuits, such as ones based on AVR microcontrollers. It’s capable of measuring currents of between 10µA and 30nA with reasonable accuracy, using an ATtiny84 and a few other low-cost parts Project details […]
ATTiny85 Pulse oximeter with photoplethysmogram (PPG) display
tinyPulsePPG, an ATTiny85 Pulse Oximeter with Photoplethysmogram (PPG) display by Jeff Magee: This project implemented on an ATTiny85 displays a moving Photoplethysmogram together with pulse rate and estimates of SpO2 – blood oxygen percentage. It uses an SSD1306 128×32 OLED display and a Max30102 sensor. It is emphasised that this should not be used for […]
FM stereo radio receiver with RDS
Dilshan Jayakody has published a new build: This tuner circuit is a quick prototype which I build to test the RDA5807M FM radio tuner IC. RDA5807M is a single-chip tuner IC with RDS and MPX decoder, and it equipped with I2C interface for control. This receiver builds around Atmel’s ATmega16A 8-bit MCU. The output stage […]
Use a MCP4728 DAC with AVR ATmega
AVR ATmega MCP4728 DAC library: The MCP4728 device is a quad channel, 12bit voltage output DAC. It also has EEPROM embedded. The DAC is driven using the I2C interface. This library implements an ATmega driver for this IC. More details on Davide Gironi’s blog. Check out the video after the break.
Tiny thermocouple thermometer
Johnson Davies built a tiny thermocouple thermometer based on an ATtiny85 measuring boiling water: This project describes a thermocouple thermometer, capable of measuring temperatures up to +1350°C, using just an ATtiny85 and an OLED display. More details on Technoblogy.
HX711 load cell amplifier library for AVR ATmega
A HX711 load cell library for AVR ATmega: HX711 is a precision 24bit ADC IC designed for weigh scales and industrial control applications to interface directly with a bridge sensor. A load cell is a transducer that is used to create an electrical signal whose magnitude is directly proportional to the force being measured. The […]
Qi wireless power receiver from scratch
Vinod made a Qi wireless power receiver using Attiny13, that is available on GitHub: I have only two aims while trying this. The receiver should get powered by the transmitter continuously. I should be able to control the power received by adjusting the error packets, in my case I am trying to keep received voltage […]
Programmable light controller
Dilshan Jayakody published a new build: The main objective of this project is to design a maintenance free and low-cost light which automatically turns on and off at the predetermined time of the day. To meet the above requirement I designed this controller using ATmega8 MCU and DS1307 RTC. The driver stage of this light […]
ATtiny13 – 8bit mono class D amplifier
Łukasz Podkalicki shared a how-to on building a Class D amplifier on ATtiny13: I always wonder whether it is possible to make an amplifier of class D on ATtiny13 or not. Some time ago I found George Gardner’s project based on ATtiny85 – TinyD. It was a sign to start challenging it with ATtiny13. It took me […]