Home

Datasheet

image

Contents

1. Building a project with AVR Studio 9 Note You will probably want to customize this program slightly if the clock frequency of your AVR is not 20 MHz F CPU should be defined as the clock frequency of your AVR in units of Hz If you do not make this change the timing of delayms will be off but the LED will still blink 4 Make sure your USB AVR programmer is connected to your computer via its USB A to mini B cable and then click the Display the Connect Dialog button on the toolbar You can also accomplish this by going to the Tools menu and selecting Program AVR gt Connect w AVR Studio CABlinkLEDABlinkLED c B File Project Build Edit View Tools Debug Window Help ng I lu ed eS e Trace Disabled An e i aL m ee F CPU temi elar hon ack frec 2 BlinkLED default detine F_CPU Display the Connect Dialog an 1 Me z akpa i define F CPU 2 ME Displa oao vrang H ource Files tinclude lt avrio h gt E Header Files include lt lt util delay h gt Connecting to the programmer with AVR Studio 3 Getting Started in Windows Page 14 of 43 Pololu USB AVR Programmer User s Guide O 2001 2010 Pololu Corporation 2 This will bring up a programmer selection dialog Select AVRISP as the platform The USB AVR programmer uses AVR ISP version 2 which is written as AVRISPv2 Please note that this is not the same as AVR ISP mkII Select the port name of your programmer
2. Important Safety Warning and Handling Procedures The USB AVR programmer is not intended for young children Younger users should use this product only under adult supervision By using this product you agree not to hold Pololu liable for any injury or damage related to the use or to the performance of this product This product is not designed for and should not be used in applications where the malfunction of the product could cause injury or damage Please take note of these additional precautions The USB AVR programmer contains lead so follow appropriate handling procedures such as washing hands after handling Since the PCB and its components are exposed take standard precautions to protect your programmer from ESD electrostatic discharge such as first touching the surface the programmer is resting on before picking it up When handing the programmer to another person first touch their hand with your hand to equalize any charge imbalance between you so that you don t discharge through the programmer as the exchange is made 1 Overview Page 2 of 43 Pololu USB AVR Programmer User s Guide O 2001 2010 Pololu Corporation 1 a Module Pinout and Components ISP EN Pin 1 connector E Yellow LED UO A ole TTL TX fe ys T Red LED GND D A aa BD 5V VBUS hi 2 E Mini B USB Connector Pololu USB AVR programmer labeled top view The Pololu USB AVR programmer connects to a computer s USB port via an included
3. Windows 7 Vista and Linux The driver for the bootloader will automatically be installed Windows XP When the Found New Hardware Wizard is displayed follow steps 4 6 in Section 3 a to get the driver working 5 Once the bootloader s drivers are properly installed the green LED should be blinking in a double heart beat pattern and there should be an entry for the bootloader in the Ports COM amp LPT list of your computer s Device Manager in Windows 6 Usea terminal program such as Br y Terminal http sites google com site terminalbpp to connect to the bootloader s virtual serial port In Windows you can determine the port name of the bootloader e g COM5 9 Upgrading Firmware Page 42 of 43 Pololu USB AVR Programmer User s Guide O 2001 2010 Pololu Corporation by looking in the Device Manager In Linux you can determine the port name e g dev ttyacmo by running dmesg You can use any baud rate 7 Type the following lower case letters in to your terminal program to send them to the bootloader fwbootload After each letter is sent the bootloader should echo back the upper case version of that letter After you have finished typing this sequence you should see FWBOOTLOAD as the output from the bootloader in your terminal program and the programmer s yellow LED should be on 6G 99 8 Now send lower case s The bootloader will spend a few seconds erasing the current firmware and settings and
4. avrdude Device signature 0x1le9406 avrdude NOTE FLASH memory has been specified an erase cycle will be performed To disable this feature specify the D option avrdude erasing chip avrdude reading input file BlinkLED hex avrdude input file BlinkLED hex auto detected as Intel Hex avrdude writing flash 224 bytes Writing Sf STSHSHESAESESHETATAHHHSRASHHATSATSHASATSASASHASSTSTSSS4 1009 0 39s avrdude 224 bytes of flash written avrdude verifying flash memory against BlinkLED hex avrdude load data flash data from input file BlinkLED hex avrdude input file BlinkLED hex auto detected as Intel Hex avrdude input file BlinkLED hex contains 224 bytes avrdude reading on chip flash data Reading FHHHFHEEEEE EE EE EEE EE EEE EE EE EEEEEEEEEEEEEEEEEEEEEEE 100 0 05s avrdude verifying avrdude 224 bytes of flash verified 4 Getting Started in Linux Page 25 of 43 Pololu USB AVR Programmer User s Guide O 2001 2010 Pololu Corporation avrdude safemode Fuses OK avrdude done Thank you rm BlinkLED o BlinkLED obj This output indicates the AVR was successfully programmed The LED connected to PD1 of your AVR should now be flashing Note that if you are trying this on a 3pi robot and you have not yet soldered in the optional through hole LEDs the flashing LED will be on the bottom of the robot If there was a problem please see Troubleshooting Section 8 for help identifying and fixing it 4 Getting S
5. select No not this time and click Next Found Mew Hardware Wizard Welcome to the Found New Hardware Wizard Windows will search for curent and updated software by looking on your computer on the hardware installation CD or on the Windows Update web site with your permission Read aur privacy policy Can Windows connect to Windows Update to search for software CO Yes this time only CO T es now and every time connect a device No not this time Click Next to continue 5 On the second screen of the Found New Hardware Wizard select Install the software automatically and click Next 3 Getting Started in Windows Page 8 of 43 Pololu USB AVR Programmer User s Guide O 2001 2010 Pololu Corporation Found Mew Hardware Wizard This wizard helps you install software for Pololu USB AVH Programmer If your hardware came with an installation CD Cm or floppy disk insert it now What do you want the wizard ta do 5 Install the software automatically Recommended Install fram a list or specific location Advanced Click Next to continue 6 Windows XP will warn you again that the driver has not been tested by Microsoft and recommend that you stop the installation Click Continue Anyway Peet fae pede ihe mz aid malah the pote Hardeare Intialla iyn Phe piirame p ae mihak bow they hahae 3 Pokolu LESE AMA Progne Programming Port Fogi US B 4
6. 00 Cls ef unk Sub 02 Prot 01 MxPS 8 Cfgs 1 Vendor l1ffb ProdID 0081 Rev 0 01 Manufacturer Pololu Corporation Product Pololu USB AVR Programmer SerialNumber 00000005 Ifs 5 Cfg 1 Atr 80 MxPwr 100mA Firstlf 0 IfCount 2 Cls 02 comm Sub 02 Prot 01 Firstlf 2 IfCount 2 Cls 02 comm Sub 02 Prot 01 If 0 Alt 0 EPs 1 Cls 02 comm Sub 02 Prot 01 Driver cdc acm Ad 81 I Atr 03 Int MxPS 10 rvl 1ms If 1 Alt 0 EPs 2 Cls 0a data Sub 00 Prot 00 Driver cdc acm Ad 02 0 Atr 02 Bulk MxPS 8 Ivl 0ms Ad 82 I Atr 02 Bulk MxPS 8 Ivl Oms If 2 Alt 0 EPs 1 Cls 02 comm Sub 02 Prot 01 Driver cdc acm Ad 83 I Atr 03 Int MxPS 10 Ivl 1ms B If 3 Alt 0 EPs 2 Cls 0a data Sub 00 Prot 00 Driver cdc acm Ad 04 0 Atr 02 Bulk MxPS 8 Ivl 0ms Ad 84 I Atr 02 Bulk MxPS 8 Ivl 0ms If 4 Alt 0 EPs 1 Cls ff vend Sub 01 Prot 01 Driver none Ad 85 I Atr 03 Int MxPS 22 Ivl l1ms Try comparing the outputs on your system to the outputs above to determine what went wrong 8 Troubleshooting Page 39 of 43 Pololu USB AVR Programmer User s Guide O 2001 2010 Pololu Corporation Still need help If none of the above troubleshooting suggestions help please contact us http www pololu com contact for support 8 Troubleshooting Page 40 of 43 Pololu USB AVR Programmer User s Guide O 2001 2010 Pololu Corporation 9 Upgrading Firmware The program that runs on the USB AVR Progra
7. FE Progr Progaming Fort hac red pacis al rade Longe Peri arg lo verd di ormai wath elders XTF Toll ma coh has terim n meen 7 When you have finished the Found New Hardware Wizard click Finish After that another wizard will pop up You will see a total of three wizards when plugging in the programmer Follow steps 4 7 for each wizard 3 Getting Started in Windows Page 9 of 43 Pololu USB AVR Programmer User s Guide O 2001 2010 Pololu Corporation Found Hew Hardware Wizard Completing the Found New Hardware Wizard The wizard has finished installing the software for Pololu USB AWA Programmer Click Finish to close the wizard If you use Windows XP and experience problems installing the serial port drivers the cause of your problems might be a bug in older versions of Microsoft s usb to serial driver usbser sys Versions of this driver prior to version 5 1 2600 2930 will not work with the USB AVR programmer You can check what version of this driver you have by looking in the Details tab of the Properties window for C Windows System32 drivers usbser sys To get the fixed version of the driver you will need to either install Service Pack 3 http www microsoft com downloads details aspx FamilyId 68C48D A D BC34 40BE 8D85 6BB4F56F5110 or Hotfix KB918365 Some users who installed the hotfix have reported problems using the programmer which were solved by upgrading to Service Pack 3 so
8. USB A to mini B cable http www pololu com catalog product 1129 and it connects to the target device via an included 6 pin ISP programming cable http www pololu com catalog product 972 the older 10 pin ISP connections are not directly supported but it is easy to create or purchase a 6 pin to 10 pin ISP adapter The USB AVR programmer has three indicator LEDs The green LED indicates the USB status of the device When you connect the programmer to the computer via the USB cable the green LED will start blinking slowly The blinking continues until it receives a particular message from the computer indicating that the drivers are installed correctly After the programmer gets this message the green LED will be on but it will flicker briefly when there is USB activity The yellow LED indicates that the programmer is doing something When it is blinking it means that the programmer has detected the target device the voltage on the target VDD line is high When it is on solid it means that the SLO scope is enabled and lines A and B are used for the SLO scope instead of the USB to TTL serial adapter The red LED indicates an error or warning When it is blinking it means that the target device is not detected the voltage on the target VDD line is low When it is on solid it means that the last attempt at programming resulted in an error You can determine the source of the error by running the configuration utility see Secti
9. can be programmed at 1500 kHz 460 8 kHz in AVR Studio An AVR running at 1 MHz such as one clocked off of the internal RC oscillator with the divide by 8 fuse bit programmed can be programmed at an ISP frequency as high as 200 kHz 57 6 kHz in AVR Studio This is the USB AVR programmer s default ISP frequency The two lowest frequencies support AVRs with a clock frequency under 1 MHz The 1 5 kHz setting is too slow to actually program the flash or EEPROM on your target device using AVR Studio it will timeout while attempting to program the flash EEPROM pages but it will still let you set the fuses Be aware that 1f you attempt to program flash or EEPROM at 4 0 kHz it might take five minutes or longer to program a 16K B of flash so we only recommend this ISP frequency for putting small programs on very low frequency AVRs Serial Number This is a unique identifier assigned to this programmer by Pololu This number can not be changed TTL Serial Port This section is used to identify pins A and B with serial handshaking lines so that they can be used as general purpose user I O lines See Section 6 a 3 Getting Started in Windows Page 22 of 43 Pololu USB AVR Programmer User s Guide O 2001 2010 Pololu Corporation AVR ISP Emulation This section is used to change the hardware and software version numbers of the programmer These numbers are read by AVR Studio when it connects to the programmer and are expressed in hex If the
10. download pgm03a v1 04 pgm file id 0J479 34k pgm released April 29th 2011 Recommended Firmware version 1 01 for the USB AVR Programmer http www pololu com file download pgm03a_v1 01 pgm file_id 0J316 34k pgm released December 17th 2009 3 Get your programmer in to bootloader mode If you are using Windows and your programmer has the standard firmware this can be done by clicking the Start Bootloader button in the lower left corner of the configuration utility If you are using a different operating system or you have installed a special modified firmware or your firmware has been corrupted during an upgrade attempt then you will need to use the programmer s bootloader pads to get it in to bootloader mode To do this first unplug everything from your programmer Short out the two bootloader pads highlighted below by touching them both to a wire screwdriver or other conductive tool While the pads are shorted out plug the programmer in to USB This may take a few tries You can stop shorting out the pads after the programmer is plugged in to USB mr 1 13 m F m ee IE BET rr j ESEESE TEE i 1 i a 1 411111111 M5 ui MEI NI MP http www pololu com picture view 0J2175 The Pololu USB AVR Programmer s bootloader pads 4 Once the programmer is in bootloader mode it will appear to your computer as a new device called Pololu pgm03a Bootloader
11. except the programmer has fewer control lines available and transmits at 5 V The TX and RX lines of the programmer are used to send asynchronous serial communication When the programmer receives a byte from the computer via USB it will transmit that byte on the TX line When the programmer receives a byte on the RX input line it will send that byte back to the computer via USB The bytes are sent and received eight bits at a time with no parity and one stop bit This coding is sometimes abbreviated 8N1 The bits must be non inverted meaning that a zero is sent as low voltage and a one is sent as high voltage All devices involved in asynchronous serial communication need to agree ahead of time on the duration of one bit the baud rate so all devices must be independently configured to run at the same baud rate before they will be able to communicate with each other The USB AVR programmer supports all integer baud rates from 110 to 115200 bits per second The following figure is an example of an 8N1 TTL serial byte LSB MSB By 10011010 OV LI d n AZ 8x start bit stop bit To use the USB to TTL serial adapter you must first determine what port name the operating system has assigned it To determine the port name in Microsoft Windows open the Device Manager expand the Ports COM amp LPT list and look for the Pololu USB AVR Programmer TTL Serial Port entry The port name will be at the end of this line in parentheses e
12. forget to check the 6 pin ISP cable for shorts as well If dev ttyACMO or dev ttyACM1 do not exist in Linux Try closing all programs using the programmer unplugging the programmer and plugging it back in If the programmer is connected the 1susb command should output a line like this the important thing is the 1ffb 0081 Bus 002 Device 002 ID 1ffb 0081 If the CDC ACM driver detected the programmer when it was plugged in then the dmesg command should have some output like this 26 378771 build buildd linux 2 6 24 drivers usb class cdc acm c This device cannot do calls on its own It is no modem 26 380858 cdc acm 2 1 1 0 ttyACMO0 USB ACM device 26 413512 build buildd linux 2 6 24 drivers usb class cdc acm c This device cannot do calls on its own It is no modem 2044159542 CAC acm 21 61 23 Cy ACMET USE JACM device 26 421314 usbcore registered new interface driver cdc acm 26 421333 build buildd linux 2 6 24 drivers usb class cdc acm c v0 25 USB Abstract Control Model driver for USB modems and ISDN adapters If the CDC ACM driver is associated with both serial ports of the programmer then the dev bus usb devices file or proc bus usb devices should have a group of lines like this the important thing 1s that Driver cdc acm should appear in four places E r4 Ed Ed H EH HA Ed Ed Hl Ed H 9 0 0 UO C0 00 9 CO H Bus 02 Lev 01 Prnt 01 Port 00 Cnt 01 Dev 2 Spd 12 MxCh 0 Ver 2
13. if you know what it is or select Auto and AVR Studio will try all the ports until it detects the programmer You can determine your programmer s port name by looking in the Ports COM amp LPT list of your Device Manager for Pololu USB AVR Programmer Programming Port Click Connect to bring up the ISP window Select AVR Programmer Flatform AVRISP mkll uum JTAG ICE E Cancel JTAGICE mkl il um TET AVH Dragon S TKBUL 16200 oam C L mg Baud rate changes are Tip To auto conmect to the programmer used last time press the Programmer active immediately button an the toolbar Mate that a tool cannot be used for programming as long as itis connected in a debugging session In that case select Stop Debugging first Disconnected Made AVR Studio s programmer selection dialog If the ISP window does not appear when you click Connect your computer cannot detect the programmer Please see Troubleshooting Section 8 for help identifying and fixing the problem If AVR Studio brings up a dialog asking if you want to upgrade or downgrade your programmer s firmware click Cancel to ignore the message and use your programmer To prevent this dialog from appearing in the future use the Configuration Utility Section 3 d to change the programmer s hardware and software version numbers 6 Select the Main tab In the dropdown box that lists AVR models select the same device
14. port device usually dev ttyACMO0 Additionally it may be necessary to change the settings at the beginning to reflect the locations where the AVR utilities were installed Note You will probably want to edit BlinkLED c slightly if the clock frequency of your AVR is not 20 MHz F CPU should be defined as the clock frequency of your AVR in units of Hz If you do not make this change the timing of delayms will be off but the LED will still blink At this point you should be ready to compile the example program and load it on to the AVR Plug in the programmer and type make You should see output like this usr bin avr gcc g Os Wall mcall prologues mmcu atmegal608 c 0o BlinkLED o BlinkLED c usr bin avr gcc g Os Wall mcall prologues mmcu atmegal68 BlinkLED o o BlinkLED obj usr bin avr objcopy R eeprom O ihex BlinkLED obj BlinkLED hex usr bin avrdude c avrispv2 p m168 P dev ttyACMO e avrdude AVR device initialized and ready to accept instructions Reading FHHHFHEEEEE EE EEE EEE EEE EEE EE ESTEE EE EEEEEEEEEEEEEEEE 1009 0 08s avrdude Device signature 0xle9406 avrdude erasing chip avrdude safemode Fuses OK avrdude done Thank you usr bin avrdude c avrispv2 p m168 P dev ttyACMO U flash w BlinkLED hex avrdude stk500 2 ReceiveMesSsage timeout avrdude AVR device initialized and ready to accept instructions Reading FHHHFHEEEEE EH EE EEE EH EE EEE EE EEEEEEEEEEEEEEEEEEEEEEE 100 0 03s
15. programmer http www pololu com catalog product 740 you will need to install the drivers specific to that device Before you connect your Pololu USB AVR programmer to a computer running Microsoft Windows you must install its drivers 1 Download and install the Pololu AVR Development Bundle http www pololu com file download avr_development_bundle_110524 exe file_id 0J481 173MB exe This includes the drivers and software for the Pololu USB AVR Programmer along with WinAVR AVR Studio 4 and the Pololu AVR C C Library If you are not sure which of these components you need it is OK to install all of them If you only need to install the drivers and software for the programmer you can download those separately USB AVR Programmer Windows Drivers and Software http www pololu com file download pololu usb avr programmer win 110524 exe file_id 0J486 3 MB exe 2 During the installation Windows will warn you that the drivers have not been tested by Microsoft and recommend that you stop the installation Click Continue Anyway Windows XP or Install this driver software anyway Windows 7 or Vista Software Installation A The software you ane installing has not passed Windows Logo besing bo venly its compatibility wath Windows XP Tell me why Gras teshnig is mportant Continuing your mnstallatlion of this software may impair or destabilize the comect operation of your system Don t install this driver softwar
16. then it will echo back an upper case s Do not disconnect the programmer from the computer after this point until the upgrade is complete 9 Now send the contents of the downloaded firmware upgrade file to the bootloader The firmware upgrade file is a plain text ASCII file so you can open it in a text editor such as notepad copy the whole thing and then paste it into your terminal program Br y terminal has a Send File button you can use 10 While the file is being sent the bootloader will send back period characters This process will take about 5 seconds When the firmware upgrade is complete the bootloader should send back a pipe character and turn the red LED on 11 You can now unplug your programmer plug it back in to the computer and use the new firmware If you run into problems during a firmware upgrade please contact us http www pololu com contact for assistance 9 Upgrading Firmware Page 43 of 43
17. 04 then you have firmware version 1 04 To determine the programmer s revision code in Linux If you only see one device with a name matching dev ttyACM appear when you connect the programmer to your computer then you have a special modified firmware version either 1 01nc or 1 02nc If you see two such devices appear then you have one of the standard firmware versions and you can determine the exact version number by following these steps 1 Connect the programmer to your computer via USB 9 Upgrading Firmware Page 41 of 43 Pololu USB AVR Programmer User s Guide O 2001 2010 Pololu Corporation 2 Run the following command lsusb v d 1f fb 0081 grep bcdDevice 3 This should output a line that has a number on it That number is the revision code If the revision code is 0 01 then you have firmware version 1 00 If the revision code is 1 01 then you have firmware version 1 01 If the revision code is 1 03 then you have firmware version 1 03 If the revision code is 1 04 then you have firmware version 1 04 Upgrading Firmware To upgrade your programmer s firmware follow these steps 1 If you have changed any of the programmer s settings in the configuration utility or with PgmCma record your current settings because the firmware upgrade process will reset the settings 2 Download the desired version of the firmware here o Firmware version 1 04 for the USB AVR Programmer http www pololu com file
18. 100330 zip file id 0J335 56k zip Using the Pololu SLO scope Application This application connects to the programmer streams data from the SLO scope and provides the basic functionality of a 10 or 20 kHz oscilloscope Pololu LO scope Made Chanel Channel B Tuggenng 28 bi Analog Channels 10kHz LO S Wide 70 S Vid Rising Edge s C 1 bet amp nsog Channel 1 Dita Channel zUKHz A CB Henzonba scale 27 2 mady Level 3318 A m Max 4 B3 V Mna QUOD V Max E 4801 WY Min B 00001 Pololu SLO scope client for Windows Controls are available for setting the SLO scope operating mode adjusting the horizontal and vertical scales and configuring lines A and B as digital outputs To start capturing data click the Run button in the upper right corner If the horizontal scale 1s such that it takes more than 200 ms of data to fill the lower SLO scope pane the data will continuously stream across the pane If the lower pane displays 200 ms of data or less the pane will draw all of its data at once when it has enough new data to warrant an update or if triggering is enabled when the trigger event is satisfied In this latter time domain you can enable the persistence feature check the Persistence checkbox to cause the data on the screen to fade out over time when the next update occurs The Length parameter determines how long it takes for the data to fade The upper SLO scope pane shows a summary of all of the data current
19. 2001 2010 Pololu Corporation Error From Last Programming When an error or unexpected condition causes the programmer to leave programming mode or fail to enter programming mode then the programmer turns on the red LED and records the error code A description of the error can be found here See Troubleshooting Section 8 for details on specific error messages ISP Frequency The higher the ISP frequency the faster you can program the target AVR but the ISP frequency must be less than a quarter of the target AVR s clock frequency The ISP frequency can be set in AVR Studio see Section 3 b 1 as well as in the Configuration Utility but the frequencies listed in the AVR Studio user interface do not match the actual frequencies used by the Pololu USB AVR programmer rear tt Acti reque Mimi Dar 1 845 MHz 2000 kHz gt 8 MHz 460 8 kHz 1500 kHz gt 6 MHz 115 2 kHz 750 kHz gt 3 MHz 57 6 kHz 200 kHz gt 800 kHz 4 00 kHz 4 0 kHz gt 16 kHz 1 21 kHz 1 5 kHz gt 6 kHz This ISP frequency is so low that AVR Studio times out while attempting to program flash or EEPROM pages but it can be used to program fuses and lock bits on AVRs running at frequencies as low as 6 kHz An AVR running at 20 MHz or higher e g the Orangutan SV xx8 Orangutan LV 168 Baby Orangutan and 3pi robot can be programmed at 2000 kHz 1 845 MHz in AVR Studio which is the fastest setting An AVR running at 8 MHz or higher e g the original Orangutan
20. 48 zip http www pololu com file download BlinkLED md48 zip file id 0J188 9k zip e megal68 BlinkLED m168 zip http www pololu com file download BlinkLED m168 zip file id 0J189 9k zip e mega328 BlinkLED m328 zip http www pololu com file download BlinkLED m328 zip file id 0J190 9k zip l Open AVR Studio and click New Project Select AVR GCC for the project type Enter the project name and initial file name In the screenshot below we named our project BlinkLED and elected to have a folder called C BlinkLED created containing the blank file BlinkLED c Click Next gt gt DO NOT click Finish yet If you do accidentally click Finish you will not be able to perform step 2 and will instead have to set the device by going to the Project menu and selecting Configuration Options 3 Getting Started in Windows Page 12 of 43 Pololu USB AVR Programmer User s Guide 1 Welcome to AVR Studio 4 Ver 4 1 5 538 O 2001 2010 Pololu Corporation Create new project Project type Atmel AVA Assembler Project name BlinkKLED W Create initial file I Create folder Initial File BlinkLED E Location Es x x Back Nes Finish Cancel Help Creating a new AVR Studio project step 1 2 Select AVR Simulator as the debug platform and then select the appropriate device for your target AVR For an Orangutan or 3pi Robot this will either be ATmega48 ATmega168 or ATmega328P
21. AIR 4 ERS ER Se o 38 9 Upgrading Firmware ss acs ow oS ase ob eee X wc En dece e Ro o EIE 4 Xon RON X dob cx m Uus 41 Page 1 of 43 Pololu USB AVR Programmer User s Guide O 2001 2010 Pololu Corporation 1 Overview The Pololu USB AVR programmer http www pololu com catalog product 1300 is a programmer for Atmel s AVR microcontrollers and controller boards based on these MCUSs such as Pololu Orangutan robot controllers http www pololu com catalog category 8 and the 3pi robot http www pololu com catalog product 975 The programmer emulates an AVRISP v2 on a virtual serial port making it compatible with standard AVR programming software Two additional features help with building and debugging projects a TTL level serial port for general purpose communication and a SLO scope for monitoring signals and voltage levels Please note that this guide applies to Pololu s second generation AVR programmer pictured to the left below not the original similar looking Orangutan USB programmer http www pololu com catalog product 740 pictured to the right ua T LN oF L ime jJ L a NR L im ba n a a m LI LI ru rm a Ba L PPLE hee i LJ POMIJA OJ1345 Pololu Engage Your Brain 2009 www pololu com USB AVR programmer PGMO3A Orangutan USB programmer PGMO2A B If you have the original Orangutan USB programmer you can find it s user s guide here http www pololu com docs 0J6
22. PD1 of your AVR should now be flashing Note that if you are trying this on a 3pi robot and you have not yet soldered in the optional through hole LEDs the flashing 3 Getting Started in Windows Page 17 of 43 Pololu USB AVR Programmer User s Guide O 2001 2010 Pololu Corporation LED will be on the bottom of the robot If there was a problem please see Troubleshooting Section 8 for help identifying and fixing it 3 b 1 Using Advanced Features of AVR Studio This section provides a brief overview of the programming features of AVR Studio that were not covered in Section 3 b You will not typically need to use of these advanced features but it is good to know about them for the rare occasions when you will need them Please see the Atmel s AVR Studio documentation for more detailed descriptions of these features ISP Frequency In the ISP window under the Main tab the Programming Mode and Target Settings section lets you set the frequency of the clock used when programming the target device The higher the ISP frequency the faster the target AVR will be programmed but this frequency must be less than a quarter of the target AVR s clock frequency Click Read to read the frequency from the programmer and click Write to write the selected frequency to the programmer It is important to note that the frequencies in the ISP Freq list are not correct when you are using the Pololu USB AVR programmer See Section 3 d for a list of the actual frequ
23. Pololu USB AVR Programmer User s Guide O 2001 2010 Pololu Corporation Pololu USB AVR Programmer User s Guide gE gee oo CONIW a ha mum wu de Pei ee ee GSE eE AEE S NS eS ee ee ee oe X5 2 l a Module Pinout and Components a a 3 1 b Supported Microcontrollers a a a oaoa a a 5 l c Supported Operating Systems ooo oa a e a a 5 2 Contacting Pololt 2 44 see EOS Se aaae REX AES a aA X X kk a e ERE d 6 3 Getting Started in Windows 2l lll s as 7 3 a Installing Windows Drivers and Software 2222s 7 3 b Programming AVRs Using AVR Studio 22e 12 3 b 1 Using Advanced Features of AVR Studio 2 2 ee 18 3 c Programming AVRs Using AVRDUDE ssl 20 3 d Configuring the Programmer 2 1 a a lle 20 4 Getting Started in Linux 2222222254 yy sy as 24 AG LED eb x4 oe eet hb ee Oe 9454 9u 5 54 5238 es 24 4 b Programming AVRsin Linux 2222 ll le e les 24 5 Getting Started in Mac OS X uui 624562484644 oboe cR EEE E RS B abo NOR EUR E x 27 5 a Firmware Support for Mac OS X 2l lll ln 27 5 b Programming AVRs in MacOS X lll ll rn 28 6 Communicating via the USB to TTL Serial Adapter 2l ln 30 6 a Communicating via the Serial Control Lines 2 a a ll lnL 32 7 Measuring Voltages Using the SLO scope 2 2 a a a a 35 8 Troubleshooting 22 4644 xm oa Eee eee OR E SER EES EOk ROS
24. cessary to use the Pololu USB AVR Programmer in Linux The Linux Kernel comes with a USB to serial driver the cdc acm module that automatically works with the programmer The source code for this driver is in the kernel source under drivers usb class cdc acm c When you plug your programmer in to a Linux computer the CDC ACM driver should automatically detect it and create two serial port devices Unless you have other devices plugged in that use the CDC ACM driver the names of these two serial port devices should be dev ttyACMO for the programming port and dev ttyACM 1 for the USB to TTL serial adapter If the programmer is plugged in but you do not see these devices please see Troubleshooting Section 8 for help identifying and fixing the problem 4 b Programming AVRs in Linux To program AVRs in Linux using the Pololu USB AVR Programmer you will need to install four software packages which can be downloaded from their respective websites In Ubuntu Linux these packages are provided in the Universe repository l gec avr the GNU C compiler ported to the AVR architecture 2 avr libe a library giving access to special functions of the AVR 3 binutils avr tools for converting object code into hex files 4 avrdude the software to drive the programmer Once these packages are installed you will be able to compile C programs for the AVR with gcc to produce hex files These hex files can be loaded on to your AVR using avrdud
25. depending on which chip your Orangutan or 3pi Robot has Click Finish Welcome to AVR Studio 4 Wer 4 1 5 538 Select debug platform and device Debug platform Device AVA Dragon AMAL Simulator 2 ICE 200 ICE 40 ICE5O JTAG ICE JTAGICE ml Creating a new AVR Studio project step 2 3 Getting Started in Windows Page 13 of 43 Pololu USB AVR Programmer User s Guide O 2001 2010 Pololu Corporation Write your program in BlinkLED c as seen in the screen shot below and click the Build button on the toolbar or press F7 de AVR Studio CABlinkLED ABlinkLED c Fite Project Build Edit Yiew Tools Debug Window Help d 2 id eee ee ee a e a a Trace Disabled C F_CPU tells util delay h our B i BlinkLED default AA idet ine E CPU p000000UL JS Ori ES Build Active Configuration FF L define F_ nu ff y uUra nguran frequency T Fi deti F CPU 200000000L Bab 20MHz EH Source Files include avr io h gt i Header Files include lt util delay h gt amp Sg External Depend void delayms uinti65 t millis Z3 Other Files while millis delay ms 1 milliz int main void DDRD 1 lt lt DDD1 pet LED pin PDI to output while 1 PORTD amp 1 PORTD1 LED off delayms 300 e delay 900 ns PORTD 1 lt lt PORTD1 A A A LED on delayms 100 se delay 100 ns return D ATmegal amp B AVE Simulator Auta
26. e either immediately or m the future Microsoft strongly You should check ycur maeulactuner s verbete l or updated derer coftesane recommends that pou stop this installatpon now and fer your device contact the software vendor for software that has passed Windows Logo testing install this driver software away Drby mall drrom software cftemed from pour manufacturer i waste cr dipr raip d sc raans hen gihe spurce may hanmi pour Tp er pr osa int cmaeon Tang dead STOP Installation Windows Vista and Windows 7 users After the installation has finished your computer should automatically install the necessary drivers when you connect a Pololu USB AVR programmer in which case no further action from you is required 3 Getting Started in Windows Page 7 of 43 Pololu USB AVR Programmer User s Guide O 2001 2010 Pololu Corporation IL Your devices are ready to use Device driver software installed successfully Windows XP users After the installation has finished follow steps 3 7 for each new Pololu USB AVR programmer you connect to your computer 3 Connect the USB AVR programmer to your computer s USB port The programmer is actually three devices in one so your XP computer will detect all three of those new devices and display the Found New Hardware Wizard three times Each time the Found New Hardware Wizard pops up follow steps 4 7 4 When the Found New Hardware Wizard is displayed
27. e and a programmer We will not go into the details of writing C programs for the AVR here but as an example we will show you how to use your Linux computer and the USB AVR Programmer to make an LED connected to PD1 of an AVR blink On any of the Orangutan robot controllers http www pololu com catalog category 8 and the 3pi Robot http www pololu com catalog product 975 this program will blink the red user LED If you want to program an AVR that does not have an LED connected to pin PDI the LED blinker code in this tutorial will have no visible effect If your device is an ATmega48 ATmegal 68 or ATmega328P download the corresponding archive below 4 Getting Started in Linux Page 24 of 43 Pololu USB AVR Programmer User s Guide O 2001 2010 Pololu Corporation e mega48 BlinkLED m48 zip http www pololu com file download BlinkLED md48 zip file id 0J188 9k zip e megal68 BlinkLED m168 zip http www pololu com file download BlinkLED m168 zip file id 0J189 9k zip e mega328 BlinkLED m328 zip http www pololu com file download BlinkLED m328 zip file id 0J190 9k zip If your device is not one of the above you will need to download one of the above archives and modify the makefile to use your particular device Unpack the archive on your Linux computer Copy the file BlinkLED linux Makefile into the BlinkLED directory You will need to edit this file Change all instances of dev ttyUSBO to the name of the programming
28. e signature in AVR Studio s Main ISP tab 8 Now it is time to program your target device Select the Program tab Your Input HEX File in the Flash section needs to be the hex file that was generated when you built your program You can browse for this using the button to the right of the input file text box If you navigate to your project s folder you should find it as default lt project name gt hex Click the Program button make sure you click the one in the Flash section not one in the EEPROM or ELF Production File Format sections 3 Getting Started in Windows Page 16 of 43 Pololu USB AVR Programmer User s Guide O 2001 2010 Pololu Corporation STK500 in ISP mode with ATmega168 o Sa k Bits Advanced HW Settings HW Info Puto v Erase device before flash programming v Verify device after programming Hash Use Current Simulatar Emulator FLASH Memory Input HEX File C BlinkLED default Blink LED hex AVR Studio s Program ISP tab As your USB AVR programmer programs the AVR you should see all three LEDs flicker and you should see the following text appear at the bottom of the window Reading FLASH input file OK Setting mode and device parameters OK Entering programming mode OK Erasing device OK Programming FLASH OK Reading FLASH OK FLASH contents is equal to file OK Leaving programming mode OK If there were no problems the LED connected to
29. ecrease the minimum allowed target VDD setting using the configuration utility Section 3 d The default minimum allowed target VDD setting is too high to allow the programmer to program at low voltages Please note that you might need to take additional special steps to safely program an AVR that is running off of a voltage below VUSB 0 5 V 8 Troubleshooting Page 38 of 43 Pololu USB AVR Programmer User s Guide O 2001 2010 Pololu Corporation Your programmer s ISP frequency must be less than a quarter of your target AVR s clock frequency If you are having trouble communicating with your target AVR try lowering the ISP frequency using configuration utility Section 3 d or the Main tab of AVR Studio s ISP dialog Section 3 b 1 e Ifthe red error LED is on then run the configuration utility Section 3 d to determine the cause of the Crror There may be a problem with the target device It is possible to kill a device with a static shock by incorrectly connecting power or by programming the fuses incorrectly There could also be a short or cut trace somewhere on your target device The ideal way to test for this is to try programming a different device with your USB AVR programmer or try using a different programmer to program your target device If this is not an option try verifying that the target device is still functional and perform some continuity tests to check for shorts or disconnections on the ISP programming lines Don t
30. encies and more information about selecting the ISP frequency 3 Getting Started in Windows Page 18 of 43 Pololu USB AVR Programmer User s Guide O 2001 2010 Pololu Corporation STK500 in ISP mode with ATmegal68 be less than 1 4 of the target AVR Studio s interface for setting the ISP frequency Fuses proceed with caution Clicking on the Fuses tab automatically causes the programmer to read the fuse settings of the target AVR If the programmer is not connected to the target AVR when you select this tab AVR Studio displays an error message Fuses allow you to configure certain persistent fundamental aspects of your AVR such as boot flash size brown out detection level and the clock off of which it should run e g external crystal or internal oscillator To learn more about the fuses and what they do see the datasheet for your specific AVR Warning You can permanently disable your AVR by setting the fuses incorrectly Only advanced users who know precisely what they are doing should change the fuse settings 3 Getting Started in Windows Page 19 of 43 Pololu USB AVR Programmer User s Guide O 2001 2010 Pololu Corporation Lock Bits Clicking on the Lock Bits tab automatically causes the programmer to read the lock bits of the target AVR If the programmer is not connected to the target AVR when you select this tab AVR Studio displays an error message Lock bits allow you to secure your AVR by preventing further
31. ex avrdude input file test hex auto detected as Intel Hex avrdude writing flash 3392 bytes Writing F HEEEEEE SE HHH HH EE HH HH HHH EEE EEE EH EEE EEE HEHEHE 1009 0 88s avrdude 3392 bytes of flash written avrdude verifying flash memory against test hex avrdude load data flash data from input file test hex avrdude input file test hex auto detected as Intel Hex avrdude input file test hex contains 3392 bytes avrdude reading on chip flash data 5 Getting Started in Mac OS X Page 28 of 43 Pololu USB AVR Programmer User s Guide O 2001 2010 Pololu Corporation Reading s fdgf ggddTERSTSTSSETUSETETERSTSIETERSTUIITSETSTUITTSTSTT 100 0 72s avrdude verifying avrdude 3392 bytes of flash verified avrdude safemode Fuses OK avrdude done Thank you 5 Getting Started in Mac OS X Page 29 of 43 Pololu USB AVR Programmer User s Guide O 2001 2010 Pololu Corporation 6 Communicating via the USB to TTL Serial Adapter One bonus feature of the Pololu USB AVR programmer is the USB to TTL serial adapter which can be used for connecting microcontroller projects to a personal computer The programmer s drivers make the USB to TTL serial adapter look like a standard serial port to the operating system allowing you to use existing terminal programs and software that are designed to use serial ports This feature is similar to the Pololu USB to serial adapter http www pololu com catalog product 391 product
32. flash writing or reading The lock bits can be reset to a fully unlocked state by performing a chip erase 1 e by clicking the Erase Device button in the Main tab Lock bits are usually only important if you wish to release a product to other people without giving them access to the program it is running or if you wish to make it slightly more difficult to overwrite a programmed chip 3 c Programming AVRs Using AVRDUDE It is possible to program AVRs in Windows using AVRDUDE http www bsdhome com avrdude AVRDUDE is free and included in the WinAVR http winavr sourceforge net package To program a hex file on to your AVR you would type something similar to the following into a command prompt cd C BlinkLED default avrdude p ml168 P COM2 c avrispv2 e U flash w BlinkLED hex The argument following the p is the part number of the AVR For an Orangutan or 3pi Robot the part number should be m328p m168 or m48 The argument following the P is the port name You can determine your programmer s port name by looking in the Ports COM amp LPT list of your Device Manager for Pololu USB AVR Programmer Programming Port The argument following the c is the programmer protocol and should be avrispv2 The e option requests an initial chip erase The U option is used for writing reading or verifying flash EEPROM fuses or lock bits In this example we are using U to write BlinkLED hex to flash Please see
33. free terminal programs available including PuTTY http www chiark greenend org uk sgtatham putty Windows or Linux Tera Term http hp vector co jp authors VA002416 teraterm html Windows and Br y Terminal http braypp googlepages com terminal Windows Advanced users developing scripted applications may prefer the free terminal program kermit http www columbia edu kermit To use any of these terminal programs with the USB to TTL serial adapter you must specify the port name determined above and your desired baud rate The characters you type will be transmitted on the programmer s TX line Bytes received by the programmer on the RX line will be displayed on the screen by the terminal program 6 Communicating via the USB to TTL Serial Adapter Page 31 of 43 Pololu USB AVR Programmer User s Guide O 2001 2010 Pololu Corporation ieee PuTTY Configuration H Session Basic options for your PuTTY session ra Limon Specify the destination you want to connect to COMA 115200 Connection type Raw Telnet Rlogn SSH Serial n J ee ee ee ee PuTTY is a free Windows terminal program that can send and receive bytes on a serial port If you need to send and receive non ASCII bytes you can use the Pololu Serial Transmitter Utility for Windows http www pololu com docs 0J23 You can also write a computer program to use the serial port The freely available Microsoft NET framework contains a SerialPo
34. g COM4 In Windows a given device will always be associated with the same port unless you manually change its port assignment see Section 3 a 6 Communicating via the USB to TTL Serial Adapter Page 30 of 43 Pololu USB AVR Programmer User s Guide O 2001 2010 Pololu Corporation a Device Manager File Action View Help e E BH H E Network adapters aba Pololu USB Devices d Ports COM amp LPT hA Communications Port COMI cd Pololu USB AVR Programmer TTL Serial Port COMM m F3 Processors In Windows the Device Manager shows which port name is assigned to the Pololu USB AVR Programmer s USB to TTL serial adapter To determine the port name in Linux type 1s dev ttyacm The port name will be one of the devices listed there If there are only two ports then the USB to TTL serial adapter will be dev ttyACMI and the programming port will be dev ttyACMO If you see more than two ports then you should look at the output from dmesg when you plug in the USB AVR programmer to see which two ports are created the second port is the USB to TTL serial adapter In Linux the port name depends on how many other devices are using the USB CDC ACM driver to create virtual serial ports at the time the USB AVR Programmer is plugged in The USB AVR Programmer s two serial ports in Linux After determining the port name you can use any serial port software to communicate on that port There are many
35. ilkscreen on the bottom side of the board The pins on the connector are 1 MISO The Master Input Slave Output line for SPI communication with the target AVR The programmer is the master so this line 1s an input 2 VDD An input line that the programmer uses to measure the voltage of the target AVR While programming the target device the programmer uses this line to constantly monitor the target VDD If the voltage goes too low or varies too much then the programmer aborts programming in order to avoid damage to the target AVR Section 3 d has more information about target VDD monitoring The VDD line is not used to power the programmer the programmer is powered from the USB This line cannot be used to power the target device the target device must be independently powered for programming to work 3 SCK The clock line for SPI communication with the target AVR The programmer is the master so this line is an output during programming 4 MOSI The Master Output Slave Input line for SPI communication with the target AVR The programmer is the master so this line is an output during programming 5 RST The target AVR s reset line This line is used as an output driven low during programming to hold the AVR in reset 6 GND Ground This line should be connected to the target device s ground 1 Overview Page 4 of 43 Pololu USB AVR Programmer User s Guide O 2001 2010 Pololu Corporation 1 b Supported Microcontroller
36. ing via the USB to TTL Serial Adapter Page 32 of 43 Pololu USB AVR Programmer User s Guide O 2001 2010 Pololu Corporation an input or an output by identifying it with a serial handshaking line The table below shows which handshaking lines are available CTS is not available because there is no provision for it in the USB CDC ACM subclass Direction Name NET System IO Ports SerialPort member Output DTR DtrEnable Output RTS RtsEnable Input CD CDHolding Input DSR DsrHolding Input RI N A By default pins A and B are high impedance inputs that are not identified with any handshaking line To use pins A and or B you must configure them to be serial handshaking lines using the Pololu USB AVR Programmer Configuration Utility see Section 3 d The programmer stores the configuration in persistent memory Ei Pololu USB AVR Programmer Configuration Utility Programming Target VDD Monitor ISP Frequency Hz Minimum Allowed 4384 Maximum Range Allowed 512 AVR ISP Emulation Hardware Version F Measurements From Last Programming Range N A Eror From Last Programming Mone Pins A and B can be identified with serial handshaking lines using the Pololu USB AVR Programmer Configuration Utility After your have associated pins A and or B with serial handshaking lines you can take advantage of the I O capabilities of A and B For input lines this means you can get a digital reading of the voltage on the line over USB For output li
37. is 1 03 or greater this takes an inverted digital reading of line B if port DsrHolding else MessageBox Show Line B is low MessageBox Show Line B is high Disconnect from the port so that other programs can use it port Close 9 When the SLO scope feature is enabled it assumes control of pins A and B and uses them as analog inputs or digital outputs controlled by the SLO scope application Pins A and B temporarily lose their serial handshaking line associations while the SLO scope is active but these associations are restored once the SLO scope is disabled You can disable the SLO scope via the SLO scope application or by unplugging the programmer and plugging it back in 6 Communicating via the USB to TTL Serial Adapter Page 34 of 43 Pololu USB AVR Programmer User s Guide O 2001 2010 Pololu Corporation 7 Measuring Voltages Using the SLO scope A second bonus feature of the Pololu USB AVR programmer is the severely limited oscilloscope SLO scope which uses lines A and B as inputs to measure TTL level voltages at a sample rate of up to 20 kHz The SLO scope has two operating modes Two 8 bit analog channels sampling at 10 kHz One 7 bit analog channel A and one digital channel B sampling at 20 kHz The SLO scope can measure voltages between ground and approximately 5 V depending on your computer s USB bus voltage you can measure higher voltages by passing them through an exte
38. ly stored in memory This 1s approximately 10 seconds of data when running at 10 kHz and 5 seconds of data when running at 20 kHz To review the captured data in detail click the Stop button in the same place that the Run previously occupied When the SLO scope is stopped you can scroll through the data stored in memory by clicking on the portion of the upper pane that you want to inspect or by clicking and dragging the cursor in the lower pane to pan through the data more finely You can zoom in and out by changing the horizontal scale and you can inspect the data in 7 Measuring Voltages Using the SLO scope Page 36 of 43 Pololu USB AVR Programmer User s Guide O 2001 2010 Pololu Corporation the lower pane by hovering over it with your cursor A purple rectangle highlights the portion of the upper pane is visible in the lower pane You can adjust the vertical scaling of a channel s data by changing its volts per division parameter and you can adjust the amount of data that is shown in the lower pane by changing the SLO scope s milliseconds per division horizontal scale parameter Triggering can be used when horizontal scaling is 20 ms div or less You can trigger on rising or falling edges of either channel A or channel B and you can adjust the trigger level by directly setting the value in millivolts or by dragging the trigger level scrollbar on the right side of the lower pane to the desired position When triggering is enabled the da
39. mmer the firmware can be upgraded with bug fixes or new features Firmware Versions Version 1 00 released 2009 06 02 This is the original firmware for the programmer All programmers that shipped before 2009 12 17 were shipped with this version Version 1 01 released on 2009 12 17 This version contains two bug fixes related to the programmer s TTL serial port e Special Modified Version 1 01nc released 2010 12 9 This modified firmware makes the programmer appear as a single virtual COM port instead of a composite device with two virtual COM ports and a native USB interface This version of the firmware does not support the TTL serial port the SLO scope or the configuration utility This special firmware version is provided to support Mac OS X e Special Modified Version 1 02nc released 2010 12 21 This version is very similar to 1 01nc but it has improved support for older versions of Mac OS X Version 1 03 released on 2010 12 22 This firmware version inverts the TTL serial port s control signals so that 0 V corresponds to 1 and 5 V corresponds to 0 Version 1 04 released on 2010 04 29 This firmware version fixes a bug where if the sum of the minimum measured target VDD and the maximum allowed range of the target VDD exceeds 8160 mV the programmer will incorrectly think that the AVR is not properly powered and refuse to program it This version also fixes a problem with the optional RTS and DTR control signal outputs on
40. mware Checking the installation To check the installation first plug the Pololu USB AVR Programmer into a USB port on your Mac Click Cancel to dismiss the following dialog A new network interface has been detected The Pololu USB AVR Programmer network interface has not been set up To set up this interface use Network Preferences 4 a Cancel Next navigate using a Terminal window to the dev folder on the Mac and verify that it contains two new entries of the form lt prefix gt usbmodem lt serial number gt For example cu usbmodem00000011 tty usbmodem00000011 5 Getting Started in Mac OS X Page 27 of 43 Pololu USB AVR Programmer User s Guide O 2001 2010 Pololu Corporation Later when you are ready to flash a program to the microcontroller you will need to pass one of these entries as a parameter to avrdude The serial number is unique to your Programmer 5 b Programming AVRs in Mac OS X Installing CrossPack To compile programs for AVRs on the Mac you will need to install the necessary cross development tools and libraries Download the CrossPack for AVR Development http www obdev at products crosspack which is packaged as a dmg file Open mount the dmg file and use the Mac Installer program to install CrossPack AVR pkg This package will create a sub directory called CrossPack AVR lt version date gt on your hard drive probably under usr local along with a version neut
41. n do so using the Device Manager Bring up the properties dialog for the COM port and click the Advanced button in the Port Settings tab From this dialog you can change the COM port assigned do your device Once your have successfully installed the device drivers you can run the configuration utility that came in the ZIP file pgm03a config exe This is a stand alone Windows application that allows you to change many of the settings of your programmer Please see Section 3 d for more information This software package also contains the installation files for the Pololu SLO scope application for Windows Please see Section 7 for installation and usage instructions U9 Getting Started in Windows Page 11 of 43 Pololu USB AVR Programmer User s Guide O 2001 2010 Pololu Corporation 3 b Programming AVRs Using AVR Studio The following tutorial covers the steps needed to program AVRs in Windows using AVR Studio and a Pololu USB AVR programmer Specifically we will write a simple program to blink an LED connected to pin PDI of an AVR On any of the Orangutan robot controllers http www pololu com catalog category 8 and the 3pi Robot http www pololu com catalog product 975 this program will blink the red user LED If you want to program an AVR that does not have an LED connected to pin PDI the LED blinker code in this tutorial will have no visible effect In this tutorial we will be using WinAVR and AVR Studio 4 WinAVR h
42. ndows Linux and Mac OS 1 Overview Page 5 of 43 Pololu USB AVR Programmer User s Guide O 2001 2010 Pololu Corporation 2 Contacting Pololu You can check the Pololu USB AVR programmer page http www pololu com catalog product 1300 for additional information We would be delighted to hear from you about any of your projects and about your experience with the Pololu USB AVR Programmer You can contact us http www pololu com contact directly or post on our forum http forum pololu com Tell us what we did well what we could improve what you would like to see in the future or anything else you would like to say 2 Contacting Pololu Page 6 of 43 Pololu USB AVR Programmer User s Guide O 2001 2010 Pololu Corporation 3 Getting Started in Windows The Pololu USB AVR programmer works in Windows XP Windows Vista and Windows 7 3 a Installing Windows Drivers and Software 9 If you use Windows XP you will need to have either Service Pack 3 http www microsoft com downloads details aspx FamilyId 68C48DA D BC34 40BE 8D85 6BB4F56F5110 or Hotfix KB918365 installed before installing the drivers for the Pololu USB AVR programmer Some users who installed the hotfix have reported problems using the programmer which were solved by upgrading to Service Pack 3 so we recommend Service Pack 3 over the hotfix Please note that these drivers will only work for the USB AVR programmer if you have Pololu s original Orangutan USB
43. nes this means you can set the voltage on the line over USB A voltage of 0 V corresponds to a logical 1 while a voltage of 1 V corresponds to a logical 0 6 Communicating via the USB to TTL Serial Adapter Page 33 of 43 Pololu USB AVR Programmer User s Guide O 2001 2010 Pololu Corporation For example if you wanted to connect your Pololu USB AVR Programmer to an AVR running the Arduino bootloader you could configure pin A to be DTR and then connect pin A to the AVR s reset line When the Arduino software sets DTR to 1 the programmer will drive the line A low which puts the AVR in reset mode You can read input lines and or set output lines by either using a terminal program that supports control signals such as Bray Terminal http braypp googlepages com terminal or by writing a computer program The Microsoft NET framework is free to use and it contains a SerialPort class that makes it easy to read and write bytes from a serial port as well as set and read the control signals Here is some example C NET code that uses a serial port in this way Choose the port name and the baud rate System IO Ports SerialPort port new System IO Ports SerialPort COMA4 115200 Connect to the port port Open Assuming that line A is identified with RTS and your firmware version is 1 04 or greater this drives line A low 0 V port RtsEnable true Assuming that line B is identified with DSR and your firmware version
44. on 3 d The VBUS line provides direct access to the SV VBUS line on the USB cable and can be used to power additional devices The line can provide up to 100 mA so the current draw of your programmer plus any additional devices 1 Overview Page 3 of 43 Pololu USB AVR Programmer User s Guide O 2001 2010 Pololu Corporation should not exceed this amount If you attempt to draw more than this limit your computer might disconnect the USB port temporarily or take other actions to limit the use of USB power The GND line provides direct access to the grounded line on the USB cable and ground on the programmer The TX and RX lines are the TTL serial port for the USB to TTL serial adapter They are labeled from the computer s perspective TX is an output that connects to your target s serial receive pin and RX is an input that connects to your target s serial transmit pin Section 6 describes how to use these lines to communicate with your devices from the computer The A and B lines can be used as serial control handshaking lines for the USB to TTL serial adapter see Section 6 a or as analog voltage inputs for the SLO scope see Section 7 A TX RX GND PGMO3A 0J1345 E 2 E L Li 7 Pololu Engage Your Brain 2009 www pololu com ft Pololu USB AVR programmer bottom view with dimensions The USB AVR programmer has a standard 6 pin AVR ISP connector for programming AVRs and the pins are labeled on the s
45. r and then reconnecting it Ifyou are in Windows make sure you have installed the drivers the programmer needs to operate Section 3 a describes how to install the drivers in Windows Is the programmer s green USB status LED on This is the LED next to the USB mini B connector If this LED is blinking then your drivers are not properly installed e f you are in Windows can you see your programmer listed in the Device Manager The Device Manager should show three devices under Pololu USB Devices should be Pololu USB AVR Programmer and under Ports COM amp LPT should be Pololu USB AVR Programmer Programming Port and Pololu USB AVR Programmer TTL Serial Port and there should be no error symbols on the icons representing these devices e f you are in Linux check that dev ttyACMO and dev ttyACMI exist If they do not see the section below Your computer will only let one program at a time have a given COM port open If you are connected to your programmer s programming port using another program such as a terminal or a second instance of AVR Studio you will not be able to connect to that same COM port with your programming software Please make sure you do not have any terminal programs connected to your programmer s programming port If you have multiple versions of AVR Studio running make sure that you have closed the ISP programming dialogs in all of them When the ISP dialog is open that instance of AVR S
46. ral symbolic link CrossPack AVR referencing the same sub directory It will also add an entry to the PATH environment variable referencing CrossPack AVR bin Programs for the AVR can now be compiled at the command line using the avr gcc C compilers and the avr as assembler For detailed instructions see the CrossPack development manual which is installed in the CrossPack AVR directory along with the tools Using avrdude Once an AVR program has been compiled to a hex file it is ready to be flashed to the AVR The avrdude program which was installed as part of the CrossPack package may be used for this purpose To see the full command line syntax for avrdude type avrdude help at the command line or consult the AVRDUDE documentation http www nongnu org avrdude user manual avrdude html Typical usage would be as follows avrdude p lt partno gt c avrisp2 P lt port gt U flash w lt filename gt hex For example avrdude p m328p c avrisp2 P dev cu usbmodem00000011 U flash w test hex If all goes well the output should look something like this avrdude AVR device initialized and ready to accept instructions Reading 44TTSSHRHHRUHSHHH E EEE EEE EE EH EE EE EEE EEEEEEEEEEE EEE 1009 0 01s avrdude Device signature 0xle950f avrdude NOTE FLASH memory has been specified an erase cycle will be performed To disable this feature specify the D option avrdude erasing chip avrdude reading input file test h
47. rnal voltage divider before connecting them to the programmer The following schematic shows a general voltage divider circuit that can be used to scale down an input signal to the SLO scope s required 0 5 V range Vin Vin x R2 R1 R2 The total resistance of RI R2 should be as large as possible to minimize the divider s effect on your signal but it should not exceed 100 kQ or so Installing and Runing the Pololu SLO scope Application The SLO scope application for Windows comes with the Windows drivers Section 3 a and can be installed by running the installation batch file s oscope installer bat 9 Windows Vista right click on s oscope installer bat and select Run as administrator Windows XP simply double click on s oscope installer bat At this time the SLO scope can only be used under the Windows operating system Once installation is complete the application should begin running automatically Note that the application will give you an error message and close if a programmer is not connected to your computer To start the SLO scope application yourself open the Start menu and navigate to All Programs gt Pololu gt SLO scope 7 Measuring Voltages Using the SLO scope Page 35 of 43 Pololu USB AVR Programmer User s Guide O 2001 2010 Pololu Corporation The SLO scope application was written as a Visual C 2008 project SLO scope client C source code http www pololu com file download sloscope client
48. rt class that makes it easy to read and write bytes from a serial port Here is some example C NET code that uses a serial port Choose the port name and the baud rate System IO Ports SerialPort port new System IO Ports SerialPort COMA4 115200 Connect to the port port Open Transmit two bytes on the TX line 1 2 port Write new byte l 2 0 2 Wait for a byte to be received on the RX line int response port ReadByte Show the user what byte was received MessageBox Show Received byte response Disconnect from the port so that other programs can use it port Close 6 a Communicating via the Serial Control Lines Firmware version 1 04 released on April 29th 2011 fixes a problem with the RTS and DTR control signal outputs If you want to use those outputs you should upgrade your firmware to version 1 04 Please see Section 9 for information about upgrading your firmware lt 3 Firmware version 1 03 released on December 22nd 2010 inverts the TTL serial port s control signals so that 0 V corresponds to 1 and 5 V corresponds to 0 making it consistent with other USB to TTL serial adapters Prior to version 1 03 the opposite convention was used In addition to transmitting bytes on the TX line and receiving bytes on the RX line the USB to TTL serial adapter can use programmer pins A and B as serial handshaking lines of your choosing Each pin can be configured as 6 Communicat
49. s The programmer should work with all AVRs that can be programmed with the AVR ISP interface and have 128 KB of flash or less but it has not been tested on all devices It has been tested with all Orangutan robot controllers http www pololu com catalog category 8 and the 3pi Robot http www pololu com catalog product 975 The programmer features upgradable firmware allowing updates for future devices It does not currently work with Atmel s XMega line of microcontrollers The programmer is powered by the 5V USB power bus and it is intended for programming AVRs that are running at close to 5 V note that the programmer does not deliver power to the target device 1 c Supported Operating Systems The Pololu USB AVR programmer has been tested under Microsoft Windows XP Service Pack 3 Windows Vista Windows 7 and Linux See Section 5 for limited Mac OS X support The programmer s configuration utility works only in Windows but this should not be a big problem for Linux users because all the options that can be set in the configuration utility are stored in persistent memory so you would only have to use Windows when you want to change those parameters which should be rarely if ever The programmer does not require the configuration to program AVRs or to use the TX and RX USB to TTL serial adapter pins The SLO scope application works only in Windows The programmer is compatible with a variety of AVR programming utilities for Wi
50. se numbers do not match the numbers that AVR Studio expects then it brings up a dialog asking if you want to upgrade or downgrade your programmer s firmware the Pololu AVR USB programmer does not support this method of firmware upgrading so this dialog is nothing more than a nuisance to those not using an Atmel programmer You should click Cancel to ignore the message and proceed to the AVRISP programming dialog To prevent this firmware upgrade dialog from appearing in the future set the numbers here to the numbers that AVR Studio says It expects 3 Getting Started in Windows Page 23 of 43 Pololu USB AVR Programmer User s Guide O 2001 2010 Pololu Corporation 4 Getting Started in Linux The Pololu USB AVR programmer can be used in Linux to program AVRs and to send and receive bytes on the USB to TTL serial adapter The configuration utility is written for Windows there is no Linux version All of the parameters that can be set in the configuration utility are stored in persistent memory so Linux users only have to use Windows when they want to change those parameters which should not be too often The SLO scope client is written for Windows and there is no Linux version Linux users are unable to use the SLO scope at this time If you would like to write a configuration utility or SLO scope application for Linux you can contact US http www pololu com contact for information 4 a Linux Driver No driver installation is ne
51. ta in the lower pane will update whenever a trigger event occurs Triggering can help you to better identify and analyze periodic signals such as motor noise PWMs etc while the SLO scope is running To change the color used to draw a channel s data double click on the colored square in either the Channel A or Channel B box To change the vertical position of the OV level of a channel click and drag that channel s corresponding OV indicator triangle on the left side of the lower pane While the SLO scope is running lines A and B do not function as serial handshaking lines as discussed in Section 6 a Rather the SLO scope can control the I O states of A and B The SLO scope application lets you configure these pins as inputs their default settings when you first enable the SLO scope or as digital outputs driven high or low 7 Measuring Voltages Using the SLO scope Page 37 of 43 Pololu USB AVR Programmer User s Guide O 2001 2010 Pololu Corporation 8 Troubleshooting This section helps solve problems you might have using the Pololu USB AVR programmer If the computer fails to connect to the programmer Make sure your programmer is connected to your computer via a USB A to mini B cable If the programmer was previously working and has since stopped try closing all programs using the programmer the configuration utility the SLO scope client and the AVR Studio ISP dialog and cycle the power by unplugging it from your compute
52. tarted in Linux Page 26 of 43 Pololu USB AVR Programmer User s Guide O 2001 2010 Pololu Corporation 5 Getting Started in Mac OS X The Pololu USB AVR Programmer can be used to program AVR microcontrollers using Mac OS X as the development environment The USB AVR Programmer by default supports Windows and Linux as development platforms A firmware modification 1s required to support OS X The next section explains how to download and apply this modification Note The modified firmware for OS X only allows programming of AVRs it does not support the bonus features of the programmer theTTL level serial port and the SLO scope 5 a Firmware Support for Mac OS X To use the Pololu USB AVR Programmer with Mac OS X a firmware modification is required Installing the firmware To install the firmware modification the you will need to use a Windows computer but once the modification has been applied all of your further work can be done on the Mac 1 Follow the steps in Section 3 a to install the Windows drivers and configuration utility for the Pololu USB AVR Programmer 2 Download the following file to the Windows computer Firmware version 1 02nc for the Pololu USB AVR Programmer http www pololu com file download pgm03a v1 02nc pgm file id 0J427 34k pgm 3 Using the downloaded file install the firmware modification by following the procedure explained in Section 9 starting with step 3 under the heading Upgrading Fir
53. that the target AVR s VDD is allowed to go If the target AVR s VDD drops below this level the programmer immediately aborts programming and turns on the red programming LED Lowering this value will allow programming of AVRs at lower voltages but will make it more likely that the programmer will send ISP commands to the AVR while the AVR is running at an unsafe voltage The default value is 4384 mV Maximum Range Allowed This parameter determines how much the target AVR s VDD measurements are allowed to vary in millivolts When the programmer recieves an ISP programming request it starts keeping track of the maximum and minimum measurements of the AVR s VDD If the difference between the maximum and minimum exceeds the allowed maximum range the programmer immediately aborts programming and turns on the red programming LED Increasing this value will allow programming of AVRs under less stable power conditions but will make it more likely that the programmer will send ISP commands to the AVR while the AVR is running at an unsafe voltage The default value is 512 mV Measurements From Last Programming This section displays the minimum and range of the target VDD measurements from the last time the programmer was in programming mode or tried to enter programming mode This can help determine whether programming problems are due to the target s power supply 3 Getting Started in Windows Page 21 of 43 Pololu USB AVR Programmer User s Guide O
54. that you selected when you created the project For an Orangutan or 3pi Robot this will either be ATmega48 ATmegal68 or ATmega328P 3 Getting Started in Windows Page 15 of 43 Pololu USB AVR Programmer User s Guide O 2001 2010 Pololu Corporation STK50Q in ISP mode with ATmegal68 ckBits Advanced HW Settings HW Info Auto Device and Signature Bytes ATmega168 Erase Device ATmega165P ATmegal amp 68 ATmega158P ATmegal ATmega163P ATmega323 Selecting the device for ISP programming in AVR Studio y If you have not done so already connect the programmer to the target device using the 6 pin ISP cable Make sure the cable is oriented so that pin 1 on the connector lines up with pin 1 on your target device You can test the connection by going to the Main tab and clicking the Read Signature button This sends a command to the target AVR asking for its device signature If everything works correctly you should see Signature matches selected device If the signature does not match the selected device you probably have the wrong device selected or possibly your target device is turned off If reading the signature fails entirely please see Troubleshooting Section 8 for help getting your connection working STK500 in ISP mode with ATmegal68 its Advanced HW Settings HW Info Auto ATmega168 Erase Device pes 0 lt Oo ee Imam Aa m a m on a T rmat c ab pe ie Reading the devic
55. the A and B lines We have shipped programmers with firmware version 1 01 for over a year now and continue to ship that version The fixes contained in versions 1 03 and 1 04 are not essential for AVR programming using the TTL serial port s RX and TX lines or using the SLO scope If you have trouble using a later version please try downgrading to version 1 01 and contact http www pololu com docs 0J36 2 us Determining your firmware version You can determine the firmware version by following the steps below To determine the programmer s revision code in Windows If you only see one entry for the programmer in your Device Manager then you have a special modified firmware version either 1 01nc or 1 02nc If you see multiple entries for the programmer then you have one of the standard firmware versions and you can determine the exact version number by following these steps 1 Double click on the Pololu USB AVR Programmer entry in the Pololu USB Devices list 2 In the Details tab select the Hardware Ids property in the dropdown box 3 The first value displayed should be something like USB VID_1FFB amp PID O081 amp REV O101 amp Mr O4 The number after the REv is your revision code If the revision code is 0001 then you have firmware version 1 00 If the revision code is 0101 then you have firmware version 1 01 If the revision code is 0103 then you have firmware version 1 03 If the revision code is 01
56. the AVRDUDE documentation http www nongnu org avrdude user manual avrdude html for more detailed information 3 d Configuring the Programmer The Pololu USB AVR programmer can be configured using the Pololu USB AVR Programmer Configuration Utility for Windows The utility comes with the Windows drivers Section 3 a and can be run by double clicking on the executable pgm03a config exe This section describes all the available settings and what they do 3 Getting Started in Windows Page 20 of 43 Pololu USB AVR Programmer User s Guide O 2001 2010 Pololu Corporation Ei Pololu USB AVR Programmer Configuration Utility Connected Serial mmber OOD00005 Programming Target VDD Monitor ISP Frequency 200 kHz Minimum Allowed 4304 Maximum Range Allowed 512 AVR ISP Emulation Hardware Version F Measurements From Last Programming Software Version 2 Minimum N A Range N A TTL Serial Port Error From Last Programming Mone Line A Identity Mone Line B Identity Mone Pololu USB AVR programmer configuration utility for Windows Target VDD Monitor The USB AVR programmer monitors the voltage of the target AVR while it is being programmed to ensure that ISP commands are only sent when the AVR s VDD is at a safe level since attempting to program an underpowered AVR can permanently disable it There are two parameters that control this feature Minimum Allowed This parameter determines the lowest level in millivolts
57. ttp winavr sourceforge net is an open source suite of software development tools for the Atmel AVR series of microcontrollers It includes the GNU GCC compiler for C and C WinAVR alone will give you all the tools you need to start programming AVRs with the USB AVR programmer but Atmel offers AVR Studio 4 http www atmel com forms software download asp category id 163 amp family id 607 amp subfamily_id 760 amp fn dl_AvrStudio4Setup exe a free integrated development environment IDE designed to work with the WinAVR GCC C C compiler AVR Studio 4 includes a simulator and other useful tools and supports the AVR ISP protocol used by the Pololu USB AVR Programmer You will need to have the Pololu USB AVR Programmer s drivers Win AVR and AVR Studio 4 installed on your computer If you have not done so already you can install all of these components by installing the Pololu AVR Development Bundle see Section 3 a Atmel has released AVR Studio 5 but at the time of this writing it 1s still in beta This tutorial applies to AVR Studio 4 only If you have an Orangutan or 3pi and want to jump straight in to using your USB AVR programmer you can skip steps 1 3 by downloading the AVR Studio project these steps would create Determine the microcontroller on your device download the corresponding file below extract all the files to a directory open the AVR Studio project file BlinkLED aps and proceed to step 4 e mega48 BlinkLED m
58. tudio has an open connection to your programmer s programming port Ifyou are using AVR Studio try connecting to your programmer s specific COM port instead of selecting the Auto option which attempts to locate the port automatically Some versions of AVR Studio fail to automatically programmers on virtual COMs port that are too high e g above COMO If your programming COM port is too high to select from the connection dialog box and AVR Studio does not automatically detect the programmer you will need to reassign the programming port to a lower virtual COM port You can do this by opening the properties dialog of the Pololu USB AVR Programming Port found in the Ports COM amp LPT section of the Device Manager and clicking the Advanced button under the Port Settings tab If the programmer has problems connecting to the target AVR The most common cause for this problem is an incorrect connection between your programmer and your target device If the ISP pins are misaligned between the programmer and the target AVR the two will not be able to communicate Please make sure that the ISP pins as numbered in Section 1 a are correctly connected between your AVR and your programmer 1 e 1 goes to 1 2 goes to 2 etc The target AVR must be powered for programming to work Please make sure that your target device has power and is turned on Ifthe target AVR is running at a voltage lower than 5 V you may need to d
59. we recommend Service Pack 3 over the hotfix After installing the drivers if you go to your computer s Device Manager and expand the Ports COM amp LPT list you should see two COM ports Pololu USB AVR Programmer Programming Port and Pololu USB AVR Programmer TTL Serial Port In parentheses after these names you will see the name of the port e g COM3 or COM 4 If you expand the Pololu USB Devices list you should see an entry for the Pololu USB AVR programmer 3 Getting Started in Windows Page 10 of 43 Pololu USB AVR Programmer User s Guide O 2001 2010 Pololu Corporation Device Manager File Action View Help c EH amp mE gt Network Bus Enumerator Pololu USE Devices E Pololu USB AVR Programmer E J Ports COM amp LPT Po ZA Pololu USB AVR Programmer Programming Port COM ZA Pololu USB AVR Programmer TTL Serial Port COMB Processors Seanske Nevirec Windows XP device manager showing the Pololu USB AVR Programmer a Device Manager File Action View Help gt ee H EP Network adapters E Ir Pololu USB Devices Ed Pololu USB AVR Programmer ov Ports COM amp LPT E ommunications Port din EE Processors n Gnun widen and nare rnntrallere Windows Vista device manager showing the Pololu USB AVR Programmer Some software will not allow connection to higher COM port numbers If you need to change the COM port number assigned to your USB device you ca

Download Pdf Manuals

image

Related Search

Related Contents

Epson Exhibition Fiber Paper 13" x 19"  Smart Router set-up guide.  す~いすい作成! - 一般社団法人 高齢者施設サポート事業  Benutzerhandbuch  Druck ADTS 405 - GE Measurement & Control  Model UB-328  TomTom GO 950  利用ガイド 資産管理ラベル印刷編(iOS)  Draper 220V User's Manual  

Copyright © All rights reserved.
Failed to retrieve file