AVRISP pinout question (split from another topic)

hi ben,
am actually a newbee to robotics but have basic knowledge about microcontrollers and know how to program using arduino platform…i bought a 3pi robot…but didnt buy the orangutan avr programmer because of its cost in our country… so i want 2 clarifications on how to program the 3pi robot

  1. can we programme the 3pi using the programmer in this link which has 10 pinouts
    probots.co.in/index.php?main_pag … cts_id=196

About the isp pinouts on the avr orangutan programmer.
I want to know few specifications on the programmer used in programming the 3pi.
2. for burning codes onto the 3pi the orangutan programmer uses the 6pins (isp) numberd(1,2,3,4,5,6)
my question is… what are the 6 pins connected to the programmer example like wat pins indicate the tx and rx line and wat do the remaining pins indicate
i have searched thorougly on the internet but cudnt find the pin functionalities …
i desperately need the pin layout so that i can make a programmer with locally available hardware and programme the
#3pi robot…

any help will be highly appreciated,


I have made your post the start of a new topic as it was unrelated to the thread you posted it in (please try to avoid doing this in the future).

Given your difficulty in finding/understanding the fairly well-documented AVRISP pinout, I think you may be in a bit over your head in your desire to make your own programmer. What microcontroller are you planning on using and do you have access to prewritten AVRISP programmer code for that microcontroller? Note that you could permanently disable the AVR on your 3pi if you use an incorrect programming procedure, so I strongly advise you buy an AVRISP programmer rather than try to make your own.

To answer your original question, the pins are:

2: VDD
3: SCK
5: !RST
6: GND

Note that AVRISP programming is done via SPI with the programmer acting as the master and the device to be programmed acting as the slave; there are no serial pins involved. Pin 2 (VDD) connects to the target’s power. In general, I recommend against supplying power with this pin because that could cause a short if your target is independently powered at a different voltage level. Rather, you can use this pin to monitor the target’s power so you can avoid programming if the target is unpowered or if its power is unstable.

- Ben

thank u fr replying to my query .
and i sorry fr posting on the wrong discussion.

yes i got u …
i will buy an avr programmer itself.

I notice you just edited your opening post a bit to change some of the questions you were originally asking (which makes some of the statements in my response to you sound a bit weird).

I have no experience with that particular programmer, but if it works in general, it should work with the 3pi. You can make your own adapter to convert the 10-pin programmer header to something that will work with the 3pi’s 6-pin AVRISP header (here is a tutorial I found through a quick google search). You also might be able to just buy a 10-pin-to-6-pin adapter.

Have you checked to see if we have any distributors in your country that sell our USB AVR programmer? Where do you live?

- Ben

hi Ben i stay in india.
the tutorial is actually very helpful.

i contacted the supplier of the 10 pin programmer usb avr programmer(a locally available one) link posted in the above
post .asked him whether it can be used to programme atmega series ie atmega 8 ,16 ,128,168,328.
he told that its compatible to programme the atmega168.

so my question is …If the 10 pin programmer can programme the mega168… can it be used to programme the 3pi as the 3pi also uses mega328 now …earlier it(3pi) used 168 but only …but now the mega328 has a few minor changes in the series like doubling the aspects like ram ,memory. …
even if i put together the 10 pin to 6 pin adapter as per the tutorial u have posted.
because am concerned about the shorts that may take place due to the wrong connections.
i know about the shorts it would damage the microcontroller…on 3pi

and one more question can the microcontroller mega 328 can be desoldered from the 3pi incase it is damaged and resolder with a new one incase if its damaged…
it doesnt mean am not carefull but just in case .

and since the above question is not related to the topic …
am actually not able to find the start a new topic option in the forum…
please suggest me the method to do so…

thank u,

I can’t really answer this question because I don’t know anything about the programmer. The ATmega168 and ATmega328 have the same programming interface, so if the programmer is well designed, it should work with the mega328 if it works with the mega168. However, it’s always possible that it is hard-coded to expect 16 KB of flash and won’t handle 32 KB of flash properly.

There seem to be a lot of people doing robotics in India, so I expect you should be able to find a better, 6-pin AVR programmer locally. I just quickly checked one of our Indian distributors and found that they carry our AVR programmer and it appears to be in stock:

rhydolabz.com/index.php?main … cts_id=709

Not easily. This requires specialized equipment and a lot of experience with surface-mount rework.

It’s fine for you to ask your previous questions in this thread. My main objection was your asking unrelated questions in someone else’s thread.

The “New Topic” button is in the upper-left corner of the page that shows the forum’s list of threads (you can’t start a new topic when you’re actually looking at a thread).

- Ben

thanks ben,
and actually yes i know about rhydolabz ,

and they have it in stock ill be ordering it right know.

hello ben,

i have a question about the functions that u have written for the 3pi …
first of all i would like to tell u that the functions written for 3pi are really awesome…and the 3pi robot itself is an awesome design and am enjoying working with it.
my question is whether the functions written in pololu arduino libraries work with the same effect as they work in 3pi robot
on arduino uno (example lcd controll ,qtr sensor calibration…etc)
why am asking is …3pi and arduino uno use the same microcontroller…ATmega328


I’m glad to year that you like the 3pi library. The 3pi runs at 20 MHz and most Arduinos run at 16 MHz, so the timing of the 3pi library code will be a bit off if you run it without modification on the Arduino. Also, the 3pi code is written for very specific hardware connections. If you want the 3pi LCD code to run on the Arduino, for example, you need to connect your LCD to the Arduino the same way it is connected to the ATmega328 on the 3pi.

By the way, your most recent post is really not appropriate for this thread (your question has nothing to do with AVRISP programmers). This is a good example of when you should start a new topic.

- Ben

thanx ben ,
functions written for 3pi are really amazing for starters with basic knowledge of programming…in c and c++
yes i know most arduinos run at 16mhz… but since am a bit strong when it comes to coding with arduinos may be i can setup the lcd without the pololu arduino libraries but it would be really helpfull…or i would say it would be awesome if the pololu sensor calibration function(qtr sensors) works well with arduino UNO because i am finding it interesting to apply the pololu arduino library functions for(3pi) with arduino UNO …
why i asked u this question is i have an arduino uno which i worked with quite extensively before i bought the 3pi… just 3weeks ago.
so i was also thinking to buy the qtr sensors … so i thought its better to ask my doubts before i go on
1.i want to setup the qtr sensors for arduino uno so …will the funtion for sensor calibration work with good effect on the uno like on the 3pi …ill be specific(i am planning to use the qtr sensors from pololu for this ).

although i searched for the start a new topic option thoroughly…as u had told me to do but am not able to find the option…(at the top left corner where the list of threads are visible but not able to find it :question: )
i know that i have i have asked a wrong question in the wrong thread …
plz bear with me if i have done somthing wrong…


I think the Arduino already has libraries for using character LCDs, so you might be better off using those than modifying the 3pi LCD library. We already have an Arduino library for our QTR sensors. It has the same functions as the 3pi’s reflectance sensor library, but it is designed to work specifically on an Arduino. If there are other parts of the library you want to use directly on an Arduino, I suggest you look at the library source code to see if there are any parts that would be affected by a change in clock speed.

As for starting a new topic, the following picture shows the “New Topic” button circled:

It is in the top-left and bottom-left corner of every lowest-level forum index.

- Ben

sry for the mistake …i was looking for it at the wrong place…i got it now

and i got you yes the pololu qtr library is there in the arduino ide which i just setup for working with 3pi .
and thank you now my doubt is cleared.
ill find out more information on this before i proceed…

and can i order pololu hardware through a local distributor of pololu products even though they dont have that product in display in their website… the only distributor of pololu in our country is rhydolabz(and they dont have all the hardware displayed in the main pololu website)…

You will need to contact your local Pololu distributor directly if you are interested in products of ours that they do not carry. They might be willing to make a special order for you, or they might be interested in adding those products to their selection based on your feedback. If not, you can always order directly from us (we ship worldwide), but the shipping costs will obviously be higher, and there could be the additional cost and hassle of customs to deal with (this varies from country to country).

- Ben

yes i will do as you say… first contact the distributor :bulb: .

thank u,