Can connect to BabyO but program mode fails

No, the important value is the voltage on pin 2 relative to ground, so you want to touch one probe to the long side of the pin 2 header pin and the other side to ground somewhere on your board.

You are correct, this test doesn’t really tell you anything. All you’ve demonstrated is that there is continuity through a single metal header pin. What you need to test for is continuity between the header pins and the board, since this is where the problem will be if your solder job is bad. I suspect that pin 2 is not well soldered to the board, which is why your programmer isn’t seeing a target voltage. Can you post a close-up picture of your programming header solder joints?

- Ben

Yes Ben

Here are photos

http://culser.com/project/baby0.html

It is not a great job, i have done better in the past. I need a new solder tip and a better pair of glasses
and more powerful lighting.

also i tested pin2 and Ground. my input voltage is 9.6volts. the voltage across pin2 and ground comes out
as 4.9volts.

Can you measure the voltage difference between ISP header pin 2 and pin 6? (Let me know if you need help identifying pin 6.)

You are using way too much solder; the solder joints should not look like balls. You might find this wikipedia article helpful:

Also, if the solder joint looks like a ball, this could be an indication that the the pad wasn’t adequately heated for the solder to flow onto it.

- Ben

Ben,

I believe the 6th pin on the header is the far upper right pin? If this is wrong, please let me know.

Yes i know its really a bad job, I will do it over with a heat sink Soldering torche, and try the concave method, and heat the part not the solder directly, thank you for that.

I’ll get back to you on that voltage.

Dave

Yes, it’s the upper-right pin in the picture I posted earlier, in the opposite corner from pin 1. If everything looks normal, can you also try measuring the voltage between pins 1 and 6 on the programmer (probing the solder joints beneath the ISP header on the programmer) with the programmer plugged into the Baby Orangutan and the Baby Orangutan powered?

- Ben

Ben

ok pin 2 and 6 - 0.0 volts to .1 something volts.

With the programmer plugged into the header and powered on, and babyO powered on pin 1 and 6 - 0.00 volts, when i reversed positive test and negative test leads it came up .4 something volts.

thx

Dave

Oops, I meant to ask you to measure between pins 2 and 6 on the programmer, but I don’t think that is necessary since you should have measured 5V between 2 and 6 on the Baby Orangutan (which tells me the problem is on the Baby Orangutan and has nothing to do with the programmer). Pin 6 is supposed to be ground, and you measured 4.9V between 2 and ground on the board, so that indicates to me that there isn’t a good connection between pin 6 and ground. Can you do a continuity test from pin 6 to ground? If you don’t get good continuity, you should try touching up the solder on that pin.

- Ben

Ben,

Continuity between ground and 6 is nothing.
Continuity remains nothing even after redoing the solder joint.
I may have burned out the circuit board where it meets pin 6.
All other connections show continuity.
The baby0 is probably cooked, i must take more care in the future.
But thank you for all your help

Dave

Well, you know where the problem is now, so you might be able to find it and fix it. For example, you could potentially route a wire from ground to pin 6 to restore the connection. Also, I forgot to comment on this, but in your pictures it really looks like you have a solder bridge between one of your motor outputs and ground. If you ever try to use the motor driver you will create a short between VIN and ground and could damage things.

But yes, I recommend you get a better soldering iron (or a new tip) and try to take better care when soldering. Heat the pad and then apply the solder, and use just enough to make a nice, concave fillet. You can always practice a bit if you have any broken electronics lying around.

- Ben

Ben

Oh thats seems like an easy fix on the ground and pin 6.

And i’m heading to the store to get solder, a finer tip, and magnifier too.

thx

culser.com/project/baby0.html
On the solder bridge do you mean Motor1? - Between the M1 pos & neg flats on photo 2? yes i see some sort of strand of solder
going between them. A little touch up there should do the trick.

thank you so much

Dave

No, I meant between M2 and GND on the top right side of that first picture, but I think maybe you just have a lot of wires connected to that ground and I’m not judging the depth correctly in that picture. In another picture I think I can see those wires passing above the M2 pad. Just make sure those wires and that solder isn’t touching the M2 pad beneath them.

Also, I’m going to have limited internet access until Monday, so I might not be able to reply to this thread in a timely manner for the next five days. If you have any more problems getting things working, hopefully someone else can jump in and help you out (but I’ll try to log in and check for posts when I can).

- Ben

Ohhh

I am not using M2, that connection you see is just Negative Power return and an extra ground lead, and a sensor lead, all to ground.

I got the baby0 working, I bypassed and soldered a ground to pin 6. and it works and programs perfect !!! wow great !

Thank you Ben.

I hope to talk to you later, so much more to cover

Dave

When I changed from the ATmega168 to the ATmega328p Ben gave me the folowing advice to make the software universal for both platforms. This allows you to maintain one code but does not solve the reference in projects and programmer dialogue.

There are a few ways to make your code work for both the B-168 and and
B-328:

  1. Write and include a header file that has definitions like:
#if defined (__AVR_ATmega328P__)

#define PB0 PORTB0
#define PB1 PORTB1
#define PB2 PORTB2
#define PB3 PORTB3
...

#endif
  1. Use generic pin names that are automatically included in your code when you include <avr/io.h>. For example, you can use PORTB0, PORTD1, etc for both your ATmega168 and ATmega328P code. The generic pin names are located in the file:

WinAVR\avr\include\avr\portpins.h

if you want to take a look at them for yourself.

Erik

Thank you for bit of code advise. I am in need of other code advise here

thank you

Dave

hello all

It works now

thank you all

Dave