;

Snippy - Code Snippet Editor
Last Updated: Sun Mar 29,2015
Code Snippets are very handy and can make coding a lot easier by allowing us to package commonly used code and make it readily available using Intellisense. AS5 defines some common snippets that insert stubs for; do, for and while loops, etc. and provide a good place to start but having programmed for many years there are pieces of code that get repeatedly added making them a perfect canidate for Code Snippets.
Color Theme Editor for Atmel Studio
Last Updated: Tue Mar 10,2015
Allows users to create and edit Visual Studio themes. Themes can customize colors used for menus, toolbars, tabs, title bars, the text editor, and other environment colors.
Welcome to WinHeist Help
Last Updated: Sun Mar 29,2015
I've gone to the online help system for a couple of reasons; at times I make changes at fairly frequent intervals such as when the weather is so bad I can't hike and I think it will be a lot easier to maintain if the help is online. The online help will provide a lot more in depth information then the Quick Start embedded help and will contain tips on usage, version history and much more.
Atmel Studio and C++
Last Updated: Tue Mar 10,2015
C++ is generally not a good choice for programming Micro controllers as it consumes more program and data memory but if memory is not a primary concern then C++ can be a viable option. This also assumes that timing is not a critical consideration for your application, in this case C or Assembler would be the obvious choice. But for those who would like to benefit from the advatages that C++ has to offer a solution is  presented here using AVR Stduio and GCC++
AVR Assembler 101
Last Updated: Tue Apr 07,2015
There is a good reason to learn assmebler, the more you know about the inner workings of the processor the more capable a programmer you will become. And even if you do decide that you need to write portions of your code in Assembler you are not restricted to just using Assmbler or higher level language we can mix them as long as we observe a few simple rules. For instance we could use 'C' as our main language but write the interrupt routines in assembler.
SPI Communications Primer
Last Updated: Sun Mar 29,2015
The Serial Peripheral Interface (SPI) or four wire serial bus as it is sometimes referred to is a synchronous serial data protocol operating in a master/slave configuration in full duplex mode. It is used by microcontrollers for communicating with one or more peripheral devices quickly over short distances. You can also think of SPI as being built around a double buffered 8-bit shift register with both ends of the shift register brought out to MCU pins.
Motor Primer and the L293D Quad Half-H Driver
Last Updated: Tue Mar 10,2015

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.

AVR Assembler 101 (AVRInstruction Set.pdf)
Last Updated: Tue Apr 07,2015
There is a good reason to learn assmebler, the more you know about the inner workings of the processor the more capable a programmer you will become. And even if you do decide that you need to write portions of your code in Assembler you are not restricted to just using Assmbler or higher level language we can mix them as long as we observe a few simple rules. For instance we could use 'C' as our main language but write the interrupt routines in assembler.
AVR Assembler 101 (AVRAssembler101.zip)
Last Updated: Tue Apr 07,2015
There is a good reason to learn assmebler, the more you know about the inner workings of the processor the more capable a programmer you will become. And even if you do decide that you need to write portions of your code in Assembler you are not restricted to just using Assmbler or higher level language we can mix them as long as we observe a few simple rules. For instance we could use 'C' as our main language but write the interrupt routines in assembler.
Color Theme Editor for Atmel Studio (thememanagerpackage.vsix)
Last Updated: Tue Mar 10,2015
Allows users to create and edit Visual Studio themes. Themes can customize colors used for menus, toolbars, tabs, title bars, the text editor, and other environment colors.
Atmel Studio and C++ (Blink.zip)
Last Updated: Tue Mar 10,2015
C++ is generally not a good choice for programming Micro controllers as it consumes more program and data memory but if memory is not a primary concern then C++ can be a viable option. This also assumes that timing is not a critical consideration for your application, in this case C or Assembler would be the obvious choice. But for those who would like to benefit from the advatages that C++ has to offer a solution is  presented here using AVR Stduio and GCC++
AVR C/C++ Collection Classes (CCollection.zip)
Last Updated: Tue Mar 10,2015

The AVR C++ Collection classes are a light weight feature rich implementation of the most popular set of collections used in C++ applications. The download comes with a test harness that was used to unit test the classes. Additionally all classes are well docmented and DoxyGen ready which can be had here.

Snippy - Code Snippet Editor (snippy.zip)
Last Updated: Sun Mar 29,2015
Code Snippets are very handy and can make coding a lot easier by allowing us to package commonly used code and make it readily available using Intellisense. AS5 defines some common snippets that insert stubs for; do, for and while loops, etc. and provide a good place to start but having programmed for many years there are pieces of code that get repeatedly added making them a perfect canidate for Code Snippets.
SPI Master and USI Slave communications (SPIMaster-to-USISlave.zip)
Last Updated: Sun Mar 29,2015
Serial Peripheral Interface or SPI might be referred to as a non-standard standard as there doesn't seem to be any official specification on the subject. The best reference I've found are in the Atmel datasheets and "AVR319: Using the USI module for SPI communication". The older Atmel chips did not use the SPI protocol they instead had a Universal Serial Interface or USI that was close to SPI and with a little effort can be used to communicate with a device using the SPI protocol.

Arduino Due UART 101
Last Updated: Sun Mar 29,2015

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.

SPI Master and USI Slave communications
Last Updated: Sun Mar 29,2015
Serial Peripheral Interface or SPI might be referred to as a non-standard standard as there doesn't seem to be any official specification on the subject. The best reference I've found are in the Atmel datasheets and "AVR319: Using the USI module for SPI communication". The older Atmel chips did not use the SPI protocol they instead had a Universal Serial Interface or USI that was close to SPI and with a little effort can be used to communicate with a device using the SPI protocol.

SPI Serial CMOS EEPROM (Updated)
Last Updated: Sun Mar 29,2015
Since memory on an AVR processor is at a premium an inexpensive solution is the Serial EEPROM memory. It can be purchase from 128 bytes to 125K bytes in many different configuations but we will be looking at the CAT25128 device in this article. Adding external memory to an AVR turned out to be a simple task requiring very little hookup and basic SPI code to communicate with the device.
Arduino Due SPI 101
Last Updated: Sun Mar 29,2015

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.

C++ Firmware for nRF24L01+ Transceiver
Last Updated: Sun Mar 29,2015
The Nordic nRF24L01+ is a highly integrated, ultra low power (ULP) 2Mbps RF transceiver IC for the 2.4GHz ISM (Industrial, Scientific and Medical) band. With peak RX/TX currents lower than 14mA, a sub μA power down mode, advanced power management, and a 1.9 to 3.6V supply range, the nRF24L01+ provides a true ULP solution enabling months to years of battery life from coin cell or AA/AAA batteries.
nRF24L01+ Wireless stack
Last Updated: Sun Mar 29,2015

Pipes, it's all about pipes. The nRF24L01+ device uses the data pipe concept in it's communications schema. Each data pipe has it's own unique address and can be configured for individual behavior.

Nokia 5110 display firmware
Last Updated: Sun Mar 29,2015

The Nokia 5110 is a basic 84X48 pixel monochrome graphic LCD with backlight that was originally manufactured as a cell phone screen. They are small about 1.5" in diameter, inexpensive and easy to use and can be use for graphics or text. To communicate with and control the device required 4-6 pins depending on whether you intent on manually coontrol the chip select (SCE) and/or want ro use a separate pin to control the backlight contrast. THe display uses the Phillips PCD8544 display driver that runs a 3.3V supply and although I have read that it can be run at 5V I personally wouldn't do it.