Connecting to the ATMEGA168

I’m trying to connect to a discrete ATMEGA168 using the Pololu orangutan usb programmer. First of all, the Orangutan USB programmer user guide doesn’t have the pin out of the ISP header. It ought to be in the user guide.

Next, I’m unclear on how to connect it to the ATMEGA168. A friend pointed out where a copy of the pinout can be found, but I’m not clear on 3 of the pins.

Does the MOSI pin connect to the RxD pin of the ATMEGA168?

Does the Prog_Reset connect to the Reset pin of the ATMEGA168?

And finally, what pin do I connect the Prog_Sct?



The main reason the pin-out is not in the user’s guide is because the product is designed as an Orangutan programmer, so this is the only functionality we directly support. There are many online resources that detail the pin-outs of a standard AVR ISP programmer:

pin 1 = MISO
pin 2 = VCC
pin 3 = SCK
pin 4 = MOSI
pin 5 = RESET
pin 6 = GND

Programmer ISP pin 1 connects to your mega168’s MISO pin, pin 4 connects to your mega168’s MOSI pin, pin 3 (what you call Sct) connects to your mega168’s SCK pin, etc. Pin 5 connects to your mega168’s RESET pin.

Additionally, we make the schematics for our Orangutans and Baby Orangutans available. Each schematic shows how the six ISP lines connect to the Orangutan’s mega168. For example, see the ISP header JP1 below:

If you have any further questions about this or encounter difficulties, please let me know.

- Ben

Thanks for the info. I actually found that info and was just getting on to say that I’d found it.

I understand your reluctance to support all devices, but making that information available will make it easier for people to use your products & create goodwill for your company as well.

So that info got me working & I appreciate your time.


Hello Ben, hi all,

I have a new baby orangutan with mega168 (blue PBC). According to your schematic diagramm and the pictures resp. diagramms in
I connected the board with my programmer and applied approx 7 V, so the consumption was about 26 mA. I flash currently all my different controllers, a few m168/20 MHz (ATMega AVR 168-20 PDIP, DIL-28) too, with a "parallel-to-ISP-Programmer" … ucts_id=41
and with PonyProg (WinXPpro).

Then I want to read the fuses as a first job. Unfortunately I got no connection to the controller, the PonyProg told me “Device missing or unknown…”.

Have you any idea what´s wrong or where I made a mistake?

Thank you for your attention and best greetings from bavarian mountains



I’m not sure I completely understand the situation. Are you saying you simultaneously programmed your Baby Orangutan along with a number of other ATmega168 controllers? When you were trying to read the fuses, were you just connected to the Baby Orangutan and nothing else? Can you use your PonyProg to read the fuses of your other ATmega168s?

- Ben

Oh, sorry for my unclear description.

I always flash only ONE target - of course:
PC -> dongle -> cable -> 1 target. So when I was reading the fuses, my dongel was connected with this one and only thing, the baby orangutan. And the baby orangutan was connected with an adjustable power supply (voltage and current) - totally separated from the PC. The green LED on the baby was lightening.

I wrote about my other m168 to show you, that I can flash and read ATMEL controllers (not only m168) and set the fuses. So I know a little about the basics in programming and flashing the controllers and I had finished some simple, own projects with the ATMEL controllers (e.g. a 2-wheel-bot with distance sensors etc.) - in DIL-sizes on self designed (circuitry) and soldered PCBs. But I cannot work with SMD - and specially not with this mikro-size-things on your fine PCBs. To make my first tests with the baby O I used my proven equipment, but it didnt work. Why?

So to be clear, you have never successfully used your programmer with the Baby Orangutan? There are a few possible explanations that immediately come to mind:

  1. Are you sure you are connecting your programmer to the Baby Orangutan correctly?

  2. Did you solder the 2x3 ISP header to your Baby Orangutan and, if so, could there be any problems with the solder connections (e.g. shorts between pins or bad solder joints)? Would it be possible for you to post a close–up picture of your solder connections?

- Ben

Hello Ben,
thank you for your quick, kind answer.

Now - I had never successfully used my programmer with the baby o

ad 1) Are you sure you are connecting your programmer to the Baby Orangutan correctly?

Yes. I tested bevore my first posting the conductivity (the resistance) from my short 10-to-6-pin-converter (this is from the effectve input pins where I connect my programmer cable to program and test the controller on the baby o) to the baby o´s board-connectors and to the controller pins directly with a special test tip and found 2 Ohm ± 0,5 Ohm. For this test I controlled of course the accordance of the different lines - MISO, MOSI etc. So I think all my soldered connections on the baby o and on my 10-to-6-converter work well and are in the right position.

ad 2) Did you solder the 2x3 ISP header to your Baby Orangutan and, if so, could there be any problems with the solder connections (e.g. shorts between pins or bad solder joints)? Would it be possible for you to post a close–up picture of your solder connections?

See above. I think the measurement is much better then a picture :wink:. Anyway - I get the same answer then bevor ("…not found…") from PonyProg when reading the fuses ore when reading the flash memory. The only thing I can see is that the power consumption from the board changes from approx. 24,2 … 24,4 mA to 25,0 mA when I start to read anything from the baby o´s mega 168 for about 1 sec or so.

And your ISP header is soldered in so that the connections are made on the top side of the board, as shown below?

Would your electrical test have detected any shorts between distinct nets?

From a programming perspective, the Baby Orangutan is just an ATmega168 on a board with a resonator, so it should program just like any other ATmega168 assuming you are providing it with adequate power. There is a capacitor and external pull-up resistor on the reset line; is there any chance this is causing problems for your particular programmer? We test every unit before we ship it, so unless you have recently zapped it with ESD or connected power incorrectly (e.g. putting 10 V on the Vcc line) the MCU should be working.

- Ben

Hello Ben,

sorry for my late answer.

Yes, the ISPheader was soldered
No, no shorts detected gggg.

AND => I flashed it with my programmer and tested the motor driver - all was/runs very good.

NEW question:

Is ist possible to flash the baby orangutan 168 (board like shown in your picture, Pololu item #: 1216 ) with an ATMEL AVR Programming Tool AT AVR ISP2 mit USB? I have the possibility to get this of a friend for nearly nothing gggg - and the advantage is to flash directly from AVRStudio.

Thanks for your kind answers,


I’m not familiar with that particular programming tool, but if it is capable of acting as an ISP programmer, it should work with the Baby Orangutan. As I said in an earlier post, the 6-pin programming header is directly connected to the ATmega168 ISP programming lines, so any programmer designed to program an AVR in this way should work with the Baby Orangutan B-168.

- Ben