Simple AVR Bootloader tutorial

July 21, 2018

I’ve used AVR microcontrollers both for hobbies and work projects. These versatile microcontrollers ran the code I programmed them with, but once the final device was shipped, it was hard to change the firmware (the software running on the microcontroller): The user needed an ISP programmer and the software tools to update the firmware. A more convenient solution is to use a bootloader. The bootloader is a small program that…


The AVR Watchdog

January 15, 2015

The AVR Watchdog is an essential mechanism to protect long term run applications from code freezes affecting their functionality.


AVR SDCard FAT support with FatFS

August 2, 2013

You’ve probably seen or done lots of cool microcontroller projects already, but did you ever consider adding permanent data storage to your projects? I did, and there are numerous advantages: saving data from sensors (data logger), saving configuration files, reading external content like images or songs, and so on! One thing is to connect an SD Card to an AVR microcontroller via SPI (relatively easy), a completely different thing is…


Using FS1000A/XY-FST RF Radio module with AVRs

July 31, 2013

Wireless data transfer can be useful for a variety of projects. I stumbled upon a very low cost emitter+receiver modules pair, and planned to use it for some time now. There are a few variants available on the market, but they do quite the same thing, just the operating frequency might be different (315MHz / 418MHz / 433MHz/ 915MHz): The emitter usually has 3 pins (VCC->5V, GND, DATA), with a…


How to set the AVR Fusebits

March 11, 2013

Learn how to set your atmega to work with various external crystals, program the fusebits, and build a fusebit doctor to revive your AVRs, in case you wrote the wrong settings .


NMEA GPS Library for Microcontrollers -2-

July 7, 2020

A few years back I wrote a NMEA parser library that would run on AVR Microcontrollers. Released as open source under GPL, it became quite popular. All these years I used this code as reliable way to add GPS functionality to my hardware projects. One example is the portable environmental monitor, the “model D”, here’s some cosmic radiation data mapped to location in an airplane flight, that was created using…


Microcontroller Programming Issues

February 11, 2017

Bugs in software are bad, bugs in hardware are even worse, but inconsistent results are what makes it a total nightmare. Not my first post on crazy voodoo wasting precious time, I previously approached a similar issue here, so you can call this article “voodoo reloaded” without being far from the truth. Because sometimes those devices we spend so many hours to build – using the best of our logic…


Introduction to CC2541

October 3, 2016

Exploring the versatile AVR microcontrollers or the powerful STM32 counterparts were amazing experiences which resulted in interesting projects, many of them presented on this blog. For a hardware designer, the multitude of options can be overwhelming and this is a good thing. In regards to BLE (Bluetooth Low Energy) applications, TI’s CC254X solutions are appealing to say the least. “The CC2541 is a power-optimized true system-on-chip (SoC) solution for both…


DIY Geiger Counter Kit 1.1

October 4, 2015

This is an Open Source Digital Radiation Dosimeter, that can be used both as a portable detector, but also as a monitoring station to upload readings to the uRADMonitor network. This project is an update to the previous Geiger Counter Kit 1.0. When used as a portable detector, readings are displayed on the LCD. There is also a speaker that beeps on radiation events or is used to sound an…


Portable Environmental Monitor

August 12, 2015

The portable environmental monitor addresses pollution, the kind that we are unable to see but directly affects our health and causes life threatening diseases. Airborne toxic chemicals, radioactive dust and radioactive radon are correlated with cases of pulmonary cancer. Since our biological senses can do little to warn us of such possible dangers, the plan was to design the Portable environmental monitor as a first line detection and warning system….


Resistive touchscreen

August 6, 2015

A complicated project July was a tough month, and August is no different. Due to some components arriving late, I’ve only been able to start my work on the project with considerable delay. So I had to catch up with everything and squeeze the entire development work for this complex project in a month’s timeframe. But the plan was solid and seemed doable … unless Murphy’s laws of chaos…


ESP8266 Troubleshooting

July 29, 2015

I got a few esp8266 modules back in 2014, shortly after they’ve been announced on HackaDay. I didn’t have much time for them, being caught with other projects, up until recently when the portable environmental monitor project needed a versatile wireless communication mechanism, low powered and if possible at a decent price. The esp8266 seemed the best candidate, but like with everything in life where nothing comes free, getting it…


ILI9341 touchscreen LCD Library

July 23, 2015

I got a few QVGA LCD’s with resistive touchscreen for an ongoing project. All that was left to do was putting the driver code together. The LCD code part was very much similar to my previous work on the ILI9163 but this time I went for faster SPI communication (also due to the bigger resolution). The microcontroller – an Atmega128 – uses normal SPI transfer and the external quartz crystal…


DIY Dosimeter Geiger Counter KIT1.0

March 8, 2015

Note: there is a newer version of this project, KIT1.1, see it here If I was to give this project a version number, the closest match would be the uRADMonitor model B. Finally an open source compact radiation dosimeter, that has an LCD and thus allows mobile use, but also comes with an Ethernet adapter so it can do radiation monitoring (uRADMonitor compatible). Yet, this is not quite the uRADMonitor…


Atmega128 Voodoo

February 9, 2015

Apparently I had no better inspiration on how to name this post. It all started with a nice sunny day, when I was in great shape for doing creative work. My plan was to do some research on the following uRADMonitor models B/C, to put everything together and start the design of the new device. With all the extra new features, it was clear I needed a microcontroller upgrade, from…


UT50 NaI Scintillation probe

August 7, 2013

I met some great people today, and I also got a wonderful device for my ongoing experiments as a gift: The UT50 Scintillation probe, manufactured by SC ICPM SA Romania. It features a huge NaI(TL) crystal, with a diameter of 5.5cm and 5.5cm length. The photomultiplier is a British EMI9656KB and the entire device is encapsulated in an aluminum modular cylinder of no more than 24cm total length and 1270g…


Global radiation monitoring network

July 11, 2013

EDIT: there is a dedicated blog on this project, here. Make sure to follow it for latest news. A few days ago I announced my intention of creating my first crowd-funded project, but I didn’t tell you what was it about. Well, I’m planning quite a challenging project – to bring my uRADMonitor to a global scale, and create a network of distributed detectors, with data centralized on one server,…