Page 1 of 1

Beginner's Luck (or lack there of)

Posted: Mon Feb 09, 2015 3:07 am
by bardes
Ok, so I stumbled upon the uzebox kind of by accident... I was doing some research on the avr chips for a college course and as I got exited I decided to make something cool with one. As I had an atmega168 laying around (arduino I'm looking at you ;) ) I stated to fiddle with it and got it to play the mario them (yay!). But that wasn't enough for me. Since I knew my way around the internals of the VGA signal I decided to look up if someone had already tried any video with it. And sure enough the people of internet did not let me down...

But there was a catch, it wasn't quite what I wanted... The VGA was a little too much for mcu at 20MHz, and that's when it clicked for me and I remembered: what about older stuff like NTSC/PAL maybe those are a little more manageable to an avr chip, and from there to uzebox was just a single google search. As soon as I saw the demos, schematics and specs I knew I wanted one :mrgreen:. I place my order at adafruit, fast forward one week and it's here (never mind that I had to pay taxes twice due to an UPS mistake).

I gather my equipment and begin the soldering along with the pdf guide... I assemble the power supply, the regulator and some caps and test the voltages across vcc and ground on the controllers: 4.98V, nice. I start to put the audio parts together and mount the mcu to the PCB. Time to listen to that characteristic "ka-ching" boot up sound. I plug the cables turn the tv on and power up the uzebox: dead silence. Oops, maybe I missed a resistor somewhere or the tv is on mute. I double check everything, and it all seems in place, the tv fine too. Weird.... :?

I shrug it off by thinking maybe the chip is not programmed correctly, or even programmed at all... Let's continue the assembly process. As I keep going I test the signals at every step, and every time it was utterly dead. Nothing. No noise, no image (both composite and s-video), no led blink, nada. :cry:

Ok, at this point I'm starting to get a little anxious...
Time to triple check that every component is there and of the right value. All good.
Maybe a cold solder. Continuity tests say it's all good.
Ok, maybe the mcu is not programmed correctly. I reprogram it through ISP and put pac-man ther just to be sure. Nope, still not working.

Right... At this point I'm starting to doubt my sanity (note that It's my first project and that I'm on the 20th hour mark and no sleep). After redoing the above steps a few more times I notice something weird pretty much by accident: when I sample the continuity between the mcu reset pin and GND I hear an unexpected beep. I'm not pressing the reset button and there are no programmers connect, so that could be it. Maybe I screwed up somewhere and the reset is being held constantly low.

I look everywhere I can on the reset line looking for any kind of problem, but I simply cannot find anything wrong. So I'm getting a little desperate now and decide to start bisecting the reset rail to narrow down the problem. After a couple of cuts it points to the mcu own reset pin. Whaaat? How is that even possible? Maybe I got a defective chip? I decide to remove it from the socket. The reset and gnd are still shorted. No, It can't be. How can the socket cause a short between pins that are not even next to each other?

Anyway I get the desoldering pump and proceed to have the socket removed. After removing it this is what I see:
Image
Hold on, enhance!
Image
MOAR!
Image

No way! I can't believe I lost a night of sleep to that tiny little spec of evil copper spill! A defective PCB at my first project ever! What are the odds?? Well At least now I know what's wrong and eventually managed to fix it, but still, a defect in the PCB hiding under the socket that's what I call luck :lol:

Unfortunately I don't have any pictures of the working system, but I got it running, and it's awesome :mrgreen:

TL;DR Defective PCB on my first project got me questioning my sanity

Re: Beginner's Luck (or lack there of)

Posted: Mon Feb 09, 2015 3:35 am
by uze6666
Wow, that was real bad luck! Sorry about that. I pay for 100% electrical testing at the pcb fab, so I'm perplexed what they really do. Plus the video part of the PCB is tested after the AD725 is soldered. Glad you found the issue. In the next revision of the PCB I will try to increase the space between trace to 15mil or more in order to avoid or minimize such issue in the future.

Well, for a first project, you sure know how to troubleshooting efficiently! Amazing how you narrowed the problem. Great writeup too. :)

Welcome aboard!

Re: Beginner's Luck (or lack there of)

Posted: Mon Feb 09, 2015 4:22 am
by bardes
uze6666 wrote:Wow, that was real bad luck! Sorry about that. I pay for 100% electrical testing at the pcb fab, so I'm perplexed what they really do. Plus the video part of the PCB is tested after the AD725 is soldered.
Yeah, I remember hearing about test beds on college :p that's part of the reason the last thing that came to my mind was to blame the PCB...
uze6666 wrote:Glad you found the issue. In the next revision of the PCB I will try to increase the space between trace to 15mil or more in order to avoid or minimize such issue in the future.

Well, for a first project, you sure know how to troubleshooting efficiently! Amazing how you narrowed the problem. Great writeup too. :)

Welcome aboard!
:) Thanks, I do come from a computer science background, so I'm no stranger to hardware (or bugs ;) ) but it was indeed my first time "getting my hands dirty" so to speak. The idea to bisect the reset line was the killer move, which is very much the same strategy as I adopt on code: divide and conquer :D

I'm very exited to get some code running now... Maybe I can help out with a few patches or games... I've also noticed there's not much documentation on the avr-libc+avrdude+linux "combo" maybe I can help with that too...

Anyways, I'm really enjoying my uzebox, so thanks for sharing it with the world :mrgreen:

Re: Beginner's Luck (or lack there of)

Posted: Mon Feb 09, 2015 5:23 am
by uze6666
I'm very exited to get some code running now... Maybe I can help out with a few patches or games... I've also noticed there's not much documentation on the avr-libc+avrdude+linux "combo" maybe I can help with that too...
Definitely, there's a lot of stuff to do. There's a todo list on the wiki though not everything is still relevant, you can check with me. But you are free to work on whatever feel interesting to you. We're always in need of someone who's proficient with Linux to document stuff and help build tools for that platform. Ask for an account on the wiki and I'll approve it.

Re: Beginner's Luck (or lack there of)

Posted: Mon Feb 09, 2015 9:37 am
by paul
Hi bardes, and welcome!

Great story, too :D

Re: Beginner's Luck (or lack there of)

Posted: Mon Apr 13, 2015 8:41 am
by areeba
Awesome story :D :D :D

Re: Beginner's Luck (or lack there of)

Posted: Thu Apr 23, 2015 2:02 am
by darwingregory
That was a good read nice story ;)







_____________________
Genius will live and thrive without training, but it does not the less reward the watering-pot and butterfly knife