Introduction: Beginning Microcontrollers Part 3: Transferring a Program Into the Microcontroller (Drivers)

About: I like robots!

Welcome to Part 3. This is a smaller tutorial that will deal with simply loading drivers to make sure your programmer can communicate with your computer properly.

Please note that sometimes TinyISP and USBAVR devices now come preloaded with Windows Drivers and should be automatically recognized by the computer. If not, you will need to load the drivers manually. This is a guide for this process.

By now, you should have constructed the SPI interface. If not, you can either review the previous tutorial, or live with the flimsy wires. If you have read the first sentence more than two times after constructing the device I presented in the last tutorial, don't worry...the thing you made is the SPI interface! It's simply the 6-pin cable, wired to a straight set of 6 pins that match the proper pin arrangement on the microcontroller.

At this point though, we need to make sure the computer will recognize the programmer. This is the USBTinyISP device from sparkfun or adafruit industries, that connects the computer to the microcontroller. Like everything in this universe that plugs into a computer loaded with the Windows operating system, there is a need for drivers--and this programmer is no exception. However my video will provide you with instructions for the complete installation of these drivers, so there is no more guessing!

Since I am installing the driver on my computer running the Windows 7 64-bit operating system, the installation is somewhat different than the procedure for the 32-bit operating system. No need to worry though--if you can click and drag files from one folder to another, you will not have a problem. Apparently, the drivers from sparkfun.com do not contain the latest version of the 64-bit drivers. This is completely explained in the video however, so you should have no problem installing the driver if you are running a 64-bit system. Here are the general steps to get the drivers on the system, and the programmer recognized by either a 32-bit or 64-bit Windows operating system.

  1. Go to sparkfun.com and navigate to the Pocket AVR Programmer page (left pane under "Programmers - AVR") . The link is supplied so you don't need to pay attention to my overly verbose description.
  2. Scroll down and find the Windows Driver link under Documents.
  3. Now you have the pocketprog-driver.zip file on your computer somewhere. Let's hope you know where it downloaded! If you do, whew...!
  4. Unzip the file into another folder for which you know the location.
  5. Before you fiddle with the contents or try to install it for some reason, a couple of files need to be revised for the 64-bit version of Windows 7 or Vista. However, if you are using a 32-bit version of Windows, go ahead and start the installation. You can simply disregard the following explanation for the 64-bit procedure.
  6. Now, go to the libusb sourceforge page and click on the latest release.You will see a few or more files listed. You want the bin file (i.e. libusb-win32-bin-#.#.#.#.zip).
  7. Now you have another .zip file to find on your computer. Go ahead and unzip it into a known location.Go into that folder and navigate to the bin folder, then into the amd64 folder.
  8. There will be two files there ghcalled libusb0.dll and libusb0.sys. Rename these files to libusb0_x64.dll and libusb0_x64.sys.Copy these files into the pocketprog-driver folder, overwriting the existing version of these files.
  9. For installation of the newly downloaded drivers, I will show a rather non-traditional method which I like very much. This is the "add legacy hardware" mode. Yes, there is such an animal in Windows! Click on the Start menu. Right-click on "Computer" You will see a menu... select the "Manage" option. It will probably have a yellow and blue shield next to it. Click on "Device Manager".
  10. Yes, I know you know of a different way to get to the device manager. Well, now you know another way.Right-click on the top of the list (the computer name, typically ends with a "-PC." Mine is patrick-PC). You guessed it, my name is Patrick.
  11. On the menu, select "Add Legacy Hardware." If you are wondering, "Legacy" means hardware that is still in use and has been for a while; or hardware that Windows does not have on their all-powerful hardware list. Well, that's my definition for it anyway...Press "Next" when the wizard is introduced.
  12. On the next screen, select "Install the hardware that I manually select from a list (Advanced)," so the radio button is changed to that selection. A radio button is a windows control that looks like a circle with a small blue spherical dot in the center.
  13. Click Next. The "Show All Devices" option should be highlighted. Make sure of this and click next. Click on the "Have Disk" button. Using the "Browse" button, navigate to where the pocketprog-driver folder is located. If you selected the correct folder, you will see the pocketprog.inf file located in that folder.
  14. Double-click this file and the driver should start to install. Review this procedure again, or watch the video a second time if the installation doesn't seem to go as planned.

Hopefully your computer can now successfully recognize and communicate with your MCU!

In the next tutorial we start to get into some programming. This is where things get fun.