RC2014 Z80 Platform

I started my career in the early 80s as a programmer and fondly remember the 8-bit processors of the day; the Z80, 6502 and the 8080. My first computer was the Commodore 64 and I remember what fun it was learning how the hardware worked and programming in assembly. (Never was much of a Basic person)

Turbo Pascal 3.0 Cheat Sheet

The Turbo Pascal editor is a line editor and it's all done with keyboard commands.

EventAggregate - Message passing Part 2

The EventAggregator framework enables communication between loosely coupled components using an event mechanism. This article will discuss the inner workings of this simple implementation of the EventAggregator.

C# WinForms Form-to-Form Message Passing

I needed a simple way in a C# WinForms application to pass messages between Forms.

Simple Light Weight Wizard
The SimpleWizardUpdate is a complete rewrite of the SimpleWizard project that was first posted on CodeProject in 2010 but later moved to github. The last activity was 5 years ago and the owner has shut the project down.
Simon Says Child's game

I'm working on a Simon Says like project for my 5 year old grandson that uses voice commands to instruct him to do things like; clap your hands, raise your left arm, etc..

ARM Tutorial Part 2 Timers

In this, the second in the ARM tutorial series we take a look at the STM32 Timer peripheral. The STM32 embeds several timers that provide a variety of functions, both Output and Input Capture that provide timer critical operations. The STM32 Timer peripheral is very versatile and "provide multiple operating modes to off-load the CPU from repetitive tasks while minimizing interfacing circuitry needs".

ARM Tutorial Part 1 Clocks

This is the first in a series of articles based on the ARM CPU architecture. A logical place to start is at the beginning so in this article we will be discussing the clock system, which is the heart of the processor. I've always had the theory that when programming an embedded system getting to know the processor, it's capabilities and how it functions in relation to the rest of system is critical.

Using NUCLEO SWD to program external board

I'm new to ARM programming, coming from the 8-bit Microchip platform I wanted to explore the 32-bit world and see how easy the transition would be. I ordered a couple of NUCLEO boards, with the built in programmer/debugger thinking this would be the easiest way to learn. Also having Arduino UNO V3 connectivity was also a plus since I was very familiar with the UNO.

CNC Dust Shoe

Not long ago I fabricated a CNC machine but when I started to run the machine I found that dust became an issue very quickly. Checking on ebay and Amazon provided a plethora of dust shoes but they were either expensive or wouldn't work on my setup.

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.

Top ^