fezder
Well-Known Member
Got idea of creating this thread, as I encountered annoying fault. Circuit was simple; arduino sends i2c data to TEA5767.
It wasn't obvioulsy working. I started with simple blink sketch, and it worked, so atmega wans't dead. Next, using serial monitor, I checked that A5/A4 pins read. A5 was constantly held high, and when I pulled it to gnd, arduino reset. WTF. A4 in other hand, worked like charm.
The issue was just very TINY strip of foil left behind between A5 and reset pin. Well, reset was held high from start via pull-up resistor, so that wasn't problem.
Issue was that due that tiny strip of foil, when reading via A5, reset was pulled to ground. And, when i2c clock started (A5), this clock pulled reset to gnd too!
And, what was more annoying, multimeter wasn't much help since this was so annoying fault. And thanks to 10k pull-up what reset was using, it wasn't direct short.
If you look pinout of atmega328, you see that reset and A5 are opposite sides of chip.
Phew!
It wasn't obvioulsy working. I started with simple blink sketch, and it worked, so atmega wans't dead. Next, using serial monitor, I checked that A5/A4 pins read. A5 was constantly held high, and when I pulled it to gnd, arduino reset. WTF. A4 in other hand, worked like charm.
The issue was just very TINY strip of foil left behind between A5 and reset pin. Well, reset was held high from start via pull-up resistor, so that wasn't problem.
Issue was that due that tiny strip of foil, when reading via A5, reset was pulled to ground. And, when i2c clock started (A5), this clock pulled reset to gnd too!
And, what was more annoying, multimeter wasn't much help since this was so annoying fault. And thanks to 10k pull-up what reset was using, it wasn't direct short.
If you look pinout of atmega328, you see that reset and A5 are opposite sides of chip.
Phew!