3D print Beam Compass
A Beam Compass that is easy to print, uses few non-printable parts and has a maximum span of 10-1/2".
Z80 MBC2 Retro computer kit - Part 1 Setup

There comes a time in every programmers career when they look back on a time that was very special to them, that time for me was the age of the 8 bit micro processor. I loved them for their simplicity and the fact that anyone with a little knowledge of electronic and could program in Assembler and/or C programming laguages could put together a crude system using only a few chips.

MAX7219 DotMatrix library

Years ago I was given an assignment of creating a test instrument that had a dot matrix display and charged with the task of devising a menu system to be used by the operators to program the machine. To solve the problem I created firmware that shifted the display at a rate the operator could read comfortably but quick enough to be able to program the machine in a timely manner. It turned out to be a big success so when years later I spotted a dot matrix display on ebay I thought it would be fun to see if I could created a C++ library for the device.

ADO.NET DataView pool

I'm currently working on an .NET Core 3 WPF application that uses ADO and I ran into a problem when using DataView's RowFilter to filter data. Because I was using the same table in several windows whenever I set the RowFilter in one View it would simulatneously filter the DataView in another window because I was using the same DataView.

MahApps WPF Framework
The MahApps WPF framework is a feature rich framework that provides the developer with tools to, among other things provide; theming, which is what initially drew me to the framework. For all the functionality it provides it unfortunately lacks in documentation.
Yet Another Configuration Manager for .NET

YACCM is an easy to use highly configurable and extensible configuration manager that was created out of pure desperation. After spending many hours attempting to extend the standard microsoft configuration manager it proved to be complex undertaking and was abandoned in favor of a more simple and intuitive approach that I came up with here. As a side note I did not come up with the YACCM acronym I found that several site had offered it for download and had given it this acronym.

Finite State Machine for embedded systems

A State Machine is defined as a pattern that allows an object to change it's state as a result of an external stimulus. When the number of states is known and of a limited number it is called a Finite State Machine..

433MHz RF Scanner

The RFScanner Prrof-of-concept application was created to scan and monitor active channels for the inexpensive 433MHz RF communcations devices. Used together with the HT-12E/HT-12D EncoderDecoder chips these devices offer a fairly simple way to communicate.

Refrigerator calendar hanger

My Significant Other uses a calendar to keep track of all our important appointments and hangs the calendar on the refrigerator using those little magnets she collects from places she's visited. Well the dang thing kept falling because the magnets weren't strong enough so her solution was to use more magnets. I recently purchased some earth magnets for a project I completed and had a few left over so we put out heads together and came up with a solution that works very well.

433Mhz RF Communications using HT-12D/HT-12E

I recently purchase several pairs of the 433Mhz RF Transmitter/Receiver modules from a vendor on ebay. They are very inexpenisve and they use the Amplitude Ship Keying (ASK) protocol, which allows the developer to transfer data between the two devices wirelessly using RF. But very early on I realized that the communications I required for my project would be very simple, just a notification to turn a device on and off. Durring my research I found that the HT-12D/HT-12E encoder/decoder devices allow the transfer of 4 bits of data without one having to deal with the ASK protocol.

AVR Piano with Nextion display

About a year ago a friend sent me a link to the Nextion web site where they advertise touch screen displays of various sizes. At the time I didn't have the need for a display with that much resolution and consequently never did any research on the display. But in the last couple of months I started doing some research and became intrigued with the display and so I broke down and ordered an 2.8" 320x240 Nextion touch display.

Tip: How to remove 3D print from the Bed

I used to struggle when it came time to remove my print, using blue tape when the printer finished but with this simple trick you can remove the product easily!

Stopwatch/Timer project

The Stopwatch project is an inexpensive bench Stopwatch/Timer, hardware/firmware solution that I have had on my long list of projects to do for some time. It has a simple interface; a 20x4 LCD display times and 4x4 keypad to configure the times. There are two main segments in the Stopwatch project; the clock source, an ATtiny2313 MCU that provides the clock pulses to the the Stopwatch segment, an ATMega328P that provides everything else.

Garage Light project - Receiver circuit

In this the second and final article of the Garage Light series I will be providing the receiver and associated circuitry and code to complete the project. When I started this project I didn't have a clear design and as a result got into a just one more feature mode and ended up with a nice design.

Garage Light project - IR Emitter circuit

As the old saying goes, "Necessity is the mother of invention" and in this case the need was a light in the garage that could be turned on for a period of time when motion is detected. We tried putting a couple of inexpensive motion sensitive, battery operated lights along the path to the recycle and garbage bins but they are so faint and you have to get so close to trigger them that it just didn't do the job.

Raspberry Pi 2 - IoT Hello World

In this, the third in the Raspberry Pi series of articles we will be building on previous articles to develop a simple solution for what I would call an Internet of Things Hello World project. In my previous articles we discussed initially setting up the Raspberry Pi and in the second article using Mosquitto as a message broker. In this article we will be introducing several new software, middleware and firmware packages as well as a new hardware device the ESP8266-12e WiFi adapter. If you haven't read my previous articles I suggest you read them before continuing.

Raspberry Pi 2 - Initial Setup

You've got your finger on the mouse button ready to pull the trigger and finally order that Raspberry Pi 2 that just came out but you don't know if you've got the time to do the research to learn how to set it up and start programming it. In this first of n part series of articles I will walk you through the process of getting the Pi configured. In future articles we will configure the Pi to program in the C/C++ and Python languages.

Raspberry Pi 2 - The Pi as an IoT Message Broker

In this, the second article in an ongoing series dedicated to the amazing Raspberry Pi we will be configuring the Pi as an MQTT message broker using Mosquitto. Mosquitto is a lightweight, but powerful publish/subscribe model messaging system that can be installed on a wide variety of platforms. Our goal in this tutorial is to install, configure and test the software on a Raspberry Pi 2 and to be able to publish and subscribe to messages on not only the Pi but other computers as well.

Motor Primer and the L293D Quad Half-H Driver

There are many ways to drive small current motors, those requiring 500mA or less but the L293H Quadruple Half-H driver is a versatile chip that was designed for use with motors, can very easily be controlled with a micro-controller and can be purchased JameCo Electronics. Using this chip we can drive either 2 DC motors or one Stepper motor and we will learn how to do both in this tutorial. The components needed to complete this exercise are an ATMega328p Micro-controller to interface with and control the L293D device but any controller may be used, the L293D component and one dc motor and/or one stepper motor.

AVR Asm - 101

In order to learn the assembler programming language some knowledge must be known about the hardware we are using. In this tutorial we will start with a brief introduction to the inner workings of the AVR micro controller then move on to pure assembler and finally show how to mix 'C' and assembler languages.

Top ^