ATmega4809 I2C

I struggled with I2C on the ATmega4809 for some time and ended up using pieces of code found on the Web that either didn't work or were not a complete implementation. What I ended up with is a stable, fully functional C++ class.

ATmega4809 - A deeper dive

After working with the ATmega4809 off and on for a few months now I'm finding that it's pretty easy to work with, once you learn the ins and outs and actually read the data sheet. The problem that I've been running into is that because it is such a new chip there is very little example code or tutorials relating to it.

Desktop CNC Router

Computer Numerical Control (CNC), put very simply, is a process whereby a computer is used to control machining tools to fabricate some object. The CNC process can be used to control tools such as; Mills, Lathes, Routers, Drills, etc.. In this article we will be discussing the Desktop CNC Router.

ATmega4809 ADC

In this installment of the on going series of the ATmega4809 O-Series MCU we'll eb discussing the ADC functionality of the device. There are 16 ADC channels available with 5 selectable internal, VDD and external voltages that be configured as voltage references.

ATmega4809 Timer B Single Shot

In a project I am currently working on I needed to output a one shot pulse with a user definable pulse width using the new O-Series ATmega4809 MCU. One of the features of the new ATmega4809 O-Series MCU is Time B's Single Shot mode.

ATmega4809 - An Introduction

The new ATmega4809 are part of the megaAVR-O line of processors with 48KB flash, 6KB SRAM, 256 bytes EEPROM with a clock of up to 20MHz. The new megaAVR-O series provides additional functionality including; an Event System, enabling direct peripheral-to-peripheral signaling, an Configurable Control System and a CRC System.

7-Segment multiplexed display

In the past I designed my 7-segment multiplexed displays using the traditional method using transistors and a crap load of resistors, but rrecently I found the MAX7219 integrated circuit that performed the same functionality with a minimal of support components.

Build a basic Z80 computer - Part I

The Z80 is an 8-bit Microprocessor that was released by Zilog in July of 1976. Frederico Faggin, who had worked at Intel on the 4004 and its successors left the company and joined forces with Masatoshi Shima to form Zilog, a startup company with only 11 employees. The Z80 is software compatible with Intel's 8080 but with an extended instruction set, both were aimed at embedded systems. It ended up in thousands of products including the Osborne I, Kaypro II and the infamous Trash-80 computers, as well as many other products.

AVR Memory Managemenrt - A Deep Dive

Part of learning to program a Microcontroller is understanding the hardware and although it's not nedessary to unserstand all the mechaics of the system it becomes important when you start stressing the controller or approaching the it's limits.

CodeKeeper V1.0

In simple terms CodeKeeper started out as a simple repository for Code Snippets but soon blossomed into a tag replacement application with Code Snippet undertones. In practice CodeKeeper uses; Tags that are defined as Key - Value pairs where the Key defined in a piece of text may be replaced by the value. Alternatively the Tag may be embedded in a Snippet and a replacement made.

Insert text at a specified location in File using C#

I was wanting to insert some text into a file at a certain location in the file without overwriting text in the file. Googling I found that most all posts would give an example of writing to a file and another to read from a file but nothing that illustrated how to insert text at a given location within the file.

AD9833 Signal Generator

The AD9833 Signal Generator is a relatively inexpensive low power DDS device that can be used for a miriad of applications.

Pasting an image from Clipboard into an Image control

I'm in the process of creating a DB WPF .NET application for my significant other that she can organize her stamp collection. In the application one of the requirements is she wants to have a picture of the stamp. So my problem arose in getting an image from the clipboard and updating an Image control.

Raspberry Pi Pico

With the release of Raspberry Pi Pcio the foundation has entered into the embedded market. Priced at $4 the Pico was designed with the DIYer in mind and although inexpensive the board packs a lot of functionality in a small pakage.

.NET IEventAggregator messaging

EventAggregator, a part Microsoft's Prism library provides an event mechanism, that allows the developer to communicate between loosly coupled components in a WPF application. Anyone familiar with the MQQT Subscribe/Publish messaging protocol should find the Prism EventAggregator pattern earier to understand.

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.
Top ^