web statistic Portions of this site require Javascript to be enabled

A New look is coming

I have completely rewritten this site and intend to put it online some time this week.  Along with the new look will be a lot of changes one of the main being that all the links to the old pages will have changed and will no longer be valid.  It's been several years since I've done anything with this site so I thought it was about time to bring it into the present and in doing so I used some current technology; MVC and bootstrap are the main players.  So be sure to come back and let me know what you think and if you have any problems or suggestions.
Acronis Console Problem
Using the Factory Design Pattern on AVR with C++

The Factory Pattern is one of the most widely used design patterns in object oriented languages like Java and C#. The Factory design pattern is not new and comes in many variations and implementations and in it's simplist form a factory creates objects called products that are used by a client process.

Arduino Due UART 101

One of the most important functions in embedded electronics is the abitlity to communicate with other processors or integrated circuits and one of the primary ways that the Arduino Due and accomplish this is with the UART/USART Controllers. For those not familiar with this method of communications I recommend the Serial Communication article at Sparkfun.com.

Arduino Due SPI 101

One of he most popular series of articles on my site is on the subject of Serial Peripheral Interface (SPI) communcxtions, so it would be only natural that early on in this seriers I would do research and write an article on the SPI functiionality provided by the Arduino Due.

Arduino Due PWM 101

In this edition of the continuing series of articles uncovering the mysteries of the Arduino Due we will be tackling the problem of creating a Pulse Width Modulation (PWM) signal. To do this we will use two techniques; the old fashion way with a timer and the PWM Controller. If you look at the pinout for the Arduino Due you will see that Pins 2-13 are set aside for PWM with 4 of them using the PWM Controller and the rest use the various timer channels.

Arduino Due PIO 101

This is the first in a series of articles I indend on writing that will cover the inner workings of the Arduino Due 32bit board based on the Atmel SAM3X8E ARM Cortex-M3 processor. Each article in this series will cover a discrete sub-system within the micro controller and in this first article we will begin with a discussion of the Parallel I/O controller.

AVR Dynamic Memory primer

Writting applications that utilize dynamic memory allocation pose several problems on MPUs; they have limited memory and dynamic allocation tends to fragment memory, there is no garbage collection because it's just to expensive to implement and problems with memory leaks can be a nightmare to debug. But if you are careful and practice good technique using dynamic memory allocation can be a valuable tool.

C++ and the L298N Dual Full-Bridge Driver

For the past couple of years I've been developing projects for the Atmel line of micro controllers using the GNU toochains Asm and C languages. Until recently C++ was very difficult if not impossible using the previous versions of Atmel's IDE, but that's no longer an obsticle with the new version, Atmel Studio 6.1 which is available here. I prefer the power of C++ and have missed being able to use it in my projects, there are still some issues using C++ in projects such as interrupts but there are work arounds and it's not a deal breaker. Another consideration why I wasn't using C++ was that the ATmega development boards were rather expensive upwards of $50+ but recently the price of knockoff ATMega1280/2560 boards have come way down, to around $17 and they function as well as the originals, at least I haven't had any problems with them.

C++11 standards for AVR

I've been using Ateml's IDE for some time now and have long awaited the time when C++ would become a viable programming option and now with Atmel Studio 6 they have finally made this a reality. The latest version of Atmel Studio is 6.1 that uses the GCC 4.7.2 version toolchain, which in Atmel's lingo means the compilers and linker used to build projects in the IDE.

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 verstatile chip that was designed for use with motors, can very easily be controlled with a micro-controller and can be purchased [here]. 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 excerise 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.