Home Up Legal Union

Chosing A uController
Astronomy Robotics Electric R/C Software Stuff For Sale Intel CPUs David's Bio Publications Inventions Chosing A uController Celer

 

I started working with microprocessors in 1976, by building the Popular Electronics "Elf" which was based on the RCA 1802.  I did not exactly build mine according to the articles, but rather designed a back plane that would allow for memory expansion.  I programmed in machine code and switches to load the code in hex.  The experience I gained lead to my being able to design and build a number of projects for the collection of data from clinical testing machines when I worked for Roche Biomedical Labs, Inc.

The RCA 18xx series topped out at 5 MHz and a IO limited by it's 40 PIN DIP footprint.  But there were two invaluable lessons learned with this processor.
1.  An assembler (even a two pass tape based) was faster to write code with than using machine code.
2.  The Emulator that RCA sold ($5000) was a blessing beyond belief when it came to debugging hardware and software.

Support for the RCA 18xx series was limited to a Compuserve forum (using a 300 baud dial up modem) and a local rep.  Other than that, I was on my own.

I experimented with Motorola 6800 and the Zialog Z80 - but not having (not being able to personally afford) an emulator made them very difficult to work with.  As I recall I had to buy the assembler for the Z80 from Microsoft - I do not remember what I used for the 6800.

In the mid 1990's I started playing with Microchips 16fxxxx series of processors.  The development environment MPLAB (called an IDE)  was FREE.  Amazing.  The debugger was not.  Eventually I became serious about using Microchip's line so I invested almost $1000 in debugging hardware.  From a support community, the PICList is probably one of the strongest mail lists going.  It has an amazing amount examples of code for just about anything you can think of.  There are  more than just a few books available to teach you how to use/program the PIC processors, and low cost programmers all over the web .  As long as you were satisfied to program in assembly, it is a low cost way to go.  Moving to a higher level language (Basic or C) was relative expensive.

In the late 2007 I was developing a high school course on programming microprocessors.  Somewhere along the line I ran across the Renesas University program.  By being an educator and registering with the program, I was sent ten QSK26A Starter Kits.  I thought I had it the holy grail with these kits.  Each kit included a board with a Renesas Tiny 16C/26a processor, pin outs for all IO, and a built in FLASH programmer/debugger.  As well as Renesas development environment (HEW) which included a C/C++ complier for free.  Even if you had to buy these kits, they were less than $100.  There was a project I had been working on (off & on) for several years that had grown to using 2 PIC processors to have enough power.  Even so, I never got it to work - remember, this was in assembler.  In less than 3 days, I rewrote the project in C and had it working using one of the QSK26a kits.

The Renesas processors are reasonably priced.  The down side to the free C/C++ complier is that after 60 days, it limits itself to a maximum code size of 64k.  You can buy a full version of the complier for a particular series of processors - but it is over $1000.  Outside of the normal individual's pocketbook.  Renesas is good about giving away items.  I picked up another kit that included their E8 debugger.  This is basically the same programmer/debugger that is built into the QSK26a kit.  One down fall to the E8 (or the replacement E8a) is that it would not allow you to see the contents of global variables when you paused the program - the QSK26a will.  Otherwise to have that ability you must have at least an E30a which is a mere $3000.  The biggest downfall to using Renesas is the lack of support.  www.Renesasrulz.com is the support forum hosted by Renesas - but the activity level compared to other forums is dismal.  It is not unusual for a day or more to go by without a single message being posted.  And if you make a post, there is a fair chance it will never be answered.  My last dialog on the forum went for almost 4 days before it was answered!  In all fairness, the Renesas rep answering my question sent me an obsolete debugging device for free.  When this still did not fix my problem, I posted that to the forum on October 4, 2011.  I have yet (as of Nov 9, 2011) to have had a response.  The other thing that hurts is I had spent $130 for printed circuit boards that I cannot get to work, and another $50 on Renesas processors for the boards.  But my pleas for help have fallen on deaf ears.

So the time has come to pick another microcontroller/vendor to use.  From my experience, for the small time developer such as I, there are 4 things to be considered when choosing a microcontroller:
    1.  What kind of development environment is available for FREE.  I have no plans to move away from C, and want a complier that is fully functional.
    2.  What kind of debugger is available and at what price. 
    3.  What kind of support forum is available?  Is it active?
    4.  What is the cost of the microcontroller?

With these 4 questions in mind, I started looking through my magazines to see what microcontroller manufactures were offering it the product range I am interested in.  My desires are:
    1. I want a fast processor (25-50MHz min), with lots of IO, PWMs, Timers, Interrupts.
    2. I want a free fully functional development environment.
    3. I want a low cost emulator/debugger.
    4.  I want an active forum that I can ask questions of and expect to get answers back.

After spending several days looking, I found only one vendor who met my requirements - Atmel.  They have a broad range of products (including the Arduino that has become popular with home hobbyist).  In my case I settled on the newer AT32U series.  These are 32 bit processors running in the 60MHz range.  They come in a variety of pin counts for different IO needs.

Atmel provide a free development environment, AVR Studio (current version as of 11/09/2011 is 5.0).  Include are an assembler and a C/C++ complier.

Atmel has a number of starter boards for trying out. their processors.

From the debugging front, Atmel has several debuggers - with a range of prices - from the $49 Dragon, then $199 JTAGICE3, the $299 JTAGICE mkII, to the $599 AVR ONE!.

As for support, the AVR Freaks boast over 200,000 engineers.  Be sure and search the archives before asking - there is a ton of information there waiting to be used.

To get started, I found an AVR32 EVK1101 Evaluation Board and a JTAGICE mkII for sale on eBay - both for less than half price - both were new.

Having turned 60 this year, and having more than 35 years of microprocessor designing and programming behind me, I am pretty sure that with the stability, widespread market share and the support that is available for the AVR processors, this will be my last change.

All opinions are my own - I have not received any endorsements or considerations from any of the above mentioned manufactures - other than that listed.


Please address general comments to web@dv-fansler.com

This page was last modified: 01/22/14
This Document is Copyright 1998-2014 by David V. Fansler  All rights reserved.
Legal Notice