Beginner's Luck (or lack there of)
Posted: Mon Feb 09, 2015 3:07 am
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 . 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.
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:
Hold on, enhance!
MOAR!
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
Unfortunately I don't have any pictures of the working system, but I got it running, and it's awesome
TL;DR Defective PCB on my first project got me questioning my sanity
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 . 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.
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:
Hold on, enhance!
MOAR!
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
Unfortunately I don't have any pictures of the working system, but I got it running, and it's awesome
TL;DR Defective PCB on my first project got me questioning my sanity