Blog

All posts in reverse chronological order

last modified: October 19, 2025

Compact Text Based Driver for Sharp Display

Posted on 2015-09-07— Common

I built a compact, text-based driver for the Sharp LS013B4DN04 that uses 8×8 fonts to show a 12×12 character display. It uses only 174 bytes, refreshes changed rows, supports inverted characters, swappable fonts and scrolling. Read the full post to see the demo and code.

Read this post

More Features Added To "Font To Byte" App

Posted on 2015-09-05— Software

I updated my Font to Byte app after finding missing features while working on a Sharp display driver. I added bit inversion, a printable character map, and a compact driver using about 160 bytes RAM. Read the full post for screenshots, the download link, and usage tips.

Read this post

Convert Bitmap Fonts for LCD Displays with Style

Posted on 2015-09-04— Software

I created a small macOS app that converts bitmap 8×8 fonts into byte arrays for text-only LCD displays. It accepts PNGs, validates the layout, and outputs source code you can save or copy. I also provide an example font, a Photoshop template, and the source—read on for download and usage.

Read this post

Data Logger – Sensor Limits

Posted on 2015-09-01— Projects

I fixed a timing bug and logged AM2302 (DHT22) readings every 10 seconds until memory filled. The data revealed temperature precision limits (0.1°C) and jitter that causes humidity jumps. I walk through the patterns, implications for real‑time displays, and link the CSV/Excel—please read the full post for details.

Read this post

Data Logger Simple – Software Bugfix

Posted on 2015-08-31— Projects

I noticed my Data Logger Simple was recording identical values every 30 seconds because sleep mode stopped timer1 used by millis(). I fixed this in v1.1 by replacing the DHT timing check with a simpler DHT22-only implementation. Read the full post for details and the v1.1 download.

Read this post

Simple Version of the Data Logger Published

Posted on 2015-08-29— Common

I published the simple version of my data logger that adds external FRAM for more records and higher precision. I explain why FRAM lowers power use and speeds writes, how the software lets you swap storage (flash or SD), and the small hardware change if you already built the minimal version—read on for steps.

Read this post

Long-Term Test Finished

Posted on 2015-08-27— Projects

I finished a multi-day test of the minimal data logger, recording hourly readings to check stability and battery use. I walk through the reset issue when connecting via TTL, the coarse integer readings, how I imported and charted the data, and the small improvements I plan next — please read on.

Read this post

Data Logger Documentation Online

Posted on 2015-08-23— Projects

I published a minimal data logger that stores sensor readings in the microcontroller's EEPROM, so no external memory is needed. I walk through parts, hardware assembly, and software — plus a deep-dive on the code and usage. If you're curious, please read the full documentation and share feedback or questions.

Read this post

Are My Documents Safe in the Root Cellar at ~80% Humidity?

Posted on 2015-08-20— Projects

I'm concerned my archived documents could absorb moisture in a root cellar with 75–90% humidity, so I built a DIY data logger to monitor conditions inside sealed boxes. I walk through parts, breadboard-to-stripboard assembly, tests and a wiring diagram — please read the full post for the complete build.

Read this post

Lucky World – A jump'n'run game for MeggyJr RGB

Posted on 2014-12-17— Common

I've released Lucky World, a compact jump'n'run for the MeggyJr RGB featuring an intro, 16+ levels, secrets and an end scene. I squeezed it into ATmega328P limits and shared the sources under GPLv2. If you're curious, please read on for downloads, requirements, and play instructions.

Read this post

Source Code for Xmas Decoration on GitHub

Posted on 2014-12-01— Common

I documented the source code for my color-changing Xmas decoration and pushed it to GitHub, adding comments and safety notes about parts you shouldn't copy. If you're curious about the implementation or want to build your own, please view the repository and the full project description for details.

Read this post

How to Create Color Changing Xmas Decoration

Posted on 2014-11-20— Projects

I made a simple color-changing Xmas decoration from laminated paper strips, NeoPixels and an Arduino Uno. In this post I walk you through cutting and assembling the paper spheres, wiring the LEDs, and the Arduino code so you can recreate it. Read the full project for parts, photos and code.

Read this post

All Meggy Jr RGB Colors

Posted on 2014-11-14— Learn

I compiled a complete set of Meggy Jr RGB color tables showing all 4,096 combinations and created green-based and blue-based layouts to reflect the brighter green LED. I’m sharing individual PNGs and brief notes on how I captured and processed the images — read the full post for the download and details.

Read this post

How to Debug Time Critical Code using an Oscilloscope

Posted on 2014-11-13— How and Why

I often use a simple oscilloscope trick to debug time-critical code: toggle an I/O line before and after critical sections and observe interrupt timing and execution width. It’s low-effort and revealing — read on for practical steps, examples, and tips to measure and reason about your timing issues.

Read this post

A New Library for Meggy Jr RGB

Posted on 2014-11-13— Projects, Software

I rebuilt the Meggy Jr RGB library from scratch to make game development simpler on the ATmega328P. I focused on low memory use, frame‑synchronized loops with a back buffer, clear color handling, fast pixel operations, reliable button input and a background sound player. Read the post for examples and the GitHub release.

Read this post

From Prototype to the Final Device

Posted on 2014-11-08— Common, Projects

I tested a prototype of my Cat Protector and then built the finished device. I’ve added a new page that walks through the whole process—design tweaks, parts, assembly, and final testing—in clear, practical steps. If you’re interested in building or learning from the project, please read the full walkthrough.

Read this post

Using the TDA 7052 as Amplifier

Posted on 2014-11-08— Projects

I swapped my LM386 for an NXP TDA7052 to reduce distortion and gain more volume. The TDA7052 needs only power, an input and connects to an 8Ω speaker; I added a volume trimmer (I used 47k, 10k also works). Read the full post for the schematic and wiring details.

Read this post

The Cat Protector Project

Posted on 2014-11-06— Projects

I built a small device that detects movement on protected surfaces and plays recorded phrases in your voice to deter the cat. I documented schematics and software details, including SD access, so you can replicate or adapt it. Read the full project notes to learn how it works and ask questions.

Read this post

How and Why to use Namespaces

Posted on 2014-10-31— C++, How and Why

I explain how C++ namespaces prevent name conflicts and why they matter, especially in Arduino projects. I walk through practical patterns—prefixing, selective using-declarations, and importing a namespace—with class and global examples. Read the full post for simple, pragmatic examples to keep your code clearer and conflict-free.

Read this post