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…

Read More >>

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…

Read More >>

SSD1306 OLED LCD Library

October 27, 2018

Although there are already many examples and fine libraries readily available, most of them are using a buffer, meaning all the drawing operations are saved to a memory array and them dumped to the LCD as one complete frame. This has certain advantages that I would normally go for, but it also uses a lot of memory, a no go for small microcontrollers. This is why I wanted to write a library that will directly write to the LCD hardware instead of using a buffer. It’s a bit slower but it saves considerable memory!

Read More >>

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…

Read More >>

RN2483 / RN2903 Firmware upgrade guide

February 13, 2018

The Microchip RN2483 and the RN2903 are Low-Power Long Range LoRa® Technology Transceiver Modules, in the same package and Pin compatible. The RN2483 is intended for the 433 MHz and 868 MHz Frequency Bands (Europe), while the RN2903 is for the 915 MHz Frequency Band (US, Taiwan). I used the RN2483 in my first LoRaWAN project, some time ago. While LoRaWAN technologies have seen an impressive recent boost and Microchip’s…

Read More >>

Simple IOT temperature sensor

September 7, 2017

IOT stands for Internet of Things and refers to small devices equipped with direct internet connectivity, without needing an external computer. They are usually composed of a main microcontroller and an additional connectivity (eg. ESP8266 for Wifi, ENC28J60 for Ethernet) or they are complete SOC including both the processing unit and the connectivity modems in one single package. Regardless of their form or shape, these devices open new applications for…

Read More >>

CNC Router for DIY PCB manufacturing

August 15, 2017

I’ll have to go straight to the point: get yourself a CNC router now! I’m serious: I used to make my PCBs dual layer and in the kitchen, as Hackaday folks like to show on their Twitter from time to time, but looking back, I can’t understand how I’ve done without a CNC router so far. And if you’re like me, and you probably are since you’re on this blog,…

Read More >>

Easy PCB Manufacturing

January 26, 2017

For a maker, there’s now no excuse in not using his/her creativity to the maximum extent. All the tools are readily available, you just need to think of what you want to do and shape that will into something real. Electronics industry now offers everything from advanced microcontrollers to low power radios, various sensors, displays, a multitude of module of all kinds and also pcb manufacturing. Take the latter as…

Read More >>

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…

Read More >>

Morse encoder

August 17, 2016

The morse code encodes the latin alphabet comprised of 26 letters to a binary base. Traditionally, the destination set used dots and dashes, making the encoded letters easy to transmit as signals both over radio and wire. But any binary set of symbols can be used instead. For other languages with more than 26 characters, or for special characters, there is an extended set of morse binary combinations something we…

Read More >>

Sharp GP2Y1051 dust sensor

April 15, 2016

The previous Sharp GP2Y1010 dust sensor was already a successful optoelectronic product due to its small factor, simplicity and low cost. The 1051 update comes with some important improvements to make this an even better product, while using the exact same enclosure shape and size. The connector It’s the same 6 pin connector, but the pins are reassigned due to the new functionality: This new model makes using the sensor…

Read More >>

Featured by Atmel

November 7, 2015

Trained as a software developer I’ve been active in the field doing mostly mobile apps since 2003. My first contact with microcontrollers came later, in 2009, and I still remember how exciting it was to see the tiny silicon piece run some code. That was the Atmega8 made by Atmel, and the first app was blinking a few LEDs with a simple software loop and a delay. Amazed by the…

Read More >>

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…

Read More >>

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

Read More >>

A true hacker makes his own PCBs

August 6, 2015

A true hacker makes his own PCBs. Dual layer. And in the kitchen. Why so? Because doing them as DIY and not paying lots of money to some greedy company is some kind of hack. And if it wasn’t for all the issues I had with the Portable Environmental monitor along the road, I could have used the nice OSHPark voucher I won on Hackaday (Thanks again guys!). But I’ve…

Read More >>

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 Hackaday.io 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…

Read More >>

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…

Read More >>

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…

Read More >>

Digital bench power supply

April 8, 2015

As a follow up to one of my earlier projects, the Variable regulated power supply, initially designed to deliver 0..30Volts at up to 10Amps, I have decided it was time for an upgrade. I kept the enclosure and the nice 250W toroidal transformer, and am reshaping everything as a new digital power supply with regulated voltage and current, short circuit protection, lcd display, buzzer for various alarms, temperature sensor on…

Read More >>

Serial Digital to Analog converter (serial DAC)

April 8, 2015

Introduction We’re used to Analog to Digital converters (ADC) in a variety of applications such as voltmeters, thermometers or various other sensors. Their purpose is translating a given signal to a numeric representation. To handle numeric data, we encode it in digital, meaning all content is expressed by sequences of 0 and 1. A set of data is said to be continuous if the elements belonging to the set can…

Read More >>

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…

Read More >>

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…

Read More >>

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.

Read More >>