Etched a Purpose-Built Arduino - It Does Nothing!

Ive been working on a small board to control some lights and read from some sensors, and display the info on an LCD. I got the code figured out on my Duemilanove, so I decided to create a board so that I can use my Duemilanove for something else. Here is the schematic, board layout, and pictures of it etched:



^^ the trace on the right in the middle that looks like it is shorted to the ground plane was fixed













I had a hell of a time soldering it all together, as I made the pads around components too small, but eventually I got it all soldered up. However, when I power the board, I cant upload anything to it. Ive broken out VCC, GND, RST, TX and TX, which I connect to my Duemilanove, and remove the Duemilanove's chip, which has worked with other boards Ive made. However, it gives me this error:

avrdude.exe: stk500_getsync(): not in sync: resp=0x00
avrdude.exe: stk500_disable(): protocol error, expect=0x14, resp=0x51

I tried pulling the chip and putting it in the Duemilanove, and it programs just fine (thankfully testing with the etched board didnt/doesnt kill it!) so I uploaded the Blink sketch, and put it back in the etched PCB. Nodda. No blinking light or anything. It doesnt even blink when you first power it on. I have checked continuity on the crystal and all the power lines to the chip and they check out. Ive also checked for power on the chip and that checks out too.

What else can I check?
Thanks!

What else can I check?

Check that the reset is not being held low. Get a scope and check the crystal is going.

Have you a picture with the components on it?

Is the ground plane connected to 0V, it doesn't look like it is?

Plugging in the scope now.

Im uploading more pictures, which include the components and the soldered side.

The ground plane is connected to ground. Look for thermals - thats where it connects to ground points.

Are different fuse settings needed for a ceramic resonator?

Pictures uploaded.

AFAIK, no. Ive used the resonator with a similar board that was made using perf-board and wire, and I had no problems programming and running it like Im trying to now.

It's always frustrating when it's good in theory, but just doesn't bloody work!

That said, remote de-bugging is difficult too.

I'd try...

[1] Check there is zero resistance between pins 8 and 22 of the AtMega

[2] Plug in power, and make sure you get +5V on pins 7 and 20 of the AtMEga

[3] With power still on, check you get > ~3.5V on pin 1 of the AtMega

[4] Check the LED lights up if you take out the AtMega, apply power, and plut a bit of jumper wire between pins 7 and 19 of the empty socket

Here's a shot with the leads connected to the outside legs of the resonator, the time/div set to .2uS and 10x magnification. Does this sound about right?

I'd try...

[1] Check there is zero resistance between pins 8 and 22 of the AtMega

[2] Plug in power, and make sure you get +5V on pins 7 and 20 of the AtMEga

[3] With power still on, check you get > ~3.5V on pin 1 of the AtMega

[4] Check the LED lights up if you take out the AtMega, apply power, and plut a bit of jumper wire between pins 7 and 19 of the empty socket

  1. Check - 0.7 ohms between them (which is what I get if I short the probes)
  2. Check - 4.84v on each pin
  3. Check 0.84v on Pin 1
  4. Nothing happens. I tried powering the LED by applying 3.3v from the Duemilanove to the anode of the LED, with the ground wire connected to the Duemilanove's ground, and it didnt light up either. Perhaps the LED is bad aswell. Ill swap that out right now.

EDIT replaced the LED and now it lights when I connect 19 and 7, but it still doesnt flash when I apply power with the chip on.

  1. Check 0.84v on Pin 1

Well that's not considered "HIGH" in Arduino world, and pin 1 needs to be high, otherwise it is in the "reset" state.

Oh wait I meant pin 1 of the atmega (i.e. reset), not like "digital pin1" inside the arduino IDE yeah? just checking.

Your schematic / board does show a resistor going between Vcc and reset, so if you have a suitable value resistor soldered in, and are not getting a HIGH, check that area of the board.

Looking at the photo maybe the leg of the resistor isn't soldered properly to the reset line?

I just disconnected the via right near Pin 1 that connects the reset line to the ICSP header, and now I get > 4v on the reset pin. I hit upload and the sketch uploads! However, the LED STILL doesnt flash

EDIT I probed the pin of the 328 and saw voltage on and off, and I adjusted the socket that digital pin 13 connects to, and now the light flashes. For some reason, I guess the pin wasnt making connection. I guess this means everything is all fixed! Thanks for your help!