Monday, September 5, 2011

Microprocessor Spaghetti

Today, I spent a considerable amount of time getting familiar with the Amtel line of microprocessors.  I needed to find the best fit for my project among the vast many processors that they manufacture.  I settled on the ATMEGA32U4.  Its strong points relative to my project are:

  • USB controller
  • 32K memory
  • 44 pin package instead of 64 pin
  • SPI interface
  • QTouch channels

I've started adding this one to my schematic, but still have lots to go until that is complete.  Working with Eagle PCB design software is slow and very frustrating for me.  I seem to have to design over half my own parts before I can place them in my design.  I rarely am able to locate a part in either the standard or on-line libraries.  I end up spending about an hour or two or so on each part that I have to design.  Perhaps speed will pick-up with more practice.  It is slow and steady going with the schematic creating.

From my previous post, a friend of mine, Jeff, pointed out that the LUFA TeensyHID Bootloader is no longer available for a variety of reasons that are outlined here.  So, I'm coming to the realization that I may not be able to maintain an Arduino bootloader that acts as a Human Interface Device ("HID") on my project that is going to work via USB.  I'm thinking that it might be best to integrate an In System Programmer ("ISP") port into my design so that compiled binary firmware can be directly flashed to the processor via an external programmer with something like AVRDude.  While not the most convienient way to get code into the board, it may be what I'm left with.  I'll keep picking at this portion of the project for a better solution. 

Jeff also pointed out a piece of work that he has released that seems like a nice middle ground in the battle of the bootloaders.  His Arduino Wrapper looks like a fine piece of work for all us non-AVR programmers who love our easy mode Arduino coding and could be moving into the LUFA environment.

No comments:

Post a Comment