the shield connectors that we'll need for the schematic and
PCB. All those wires hide some of the breadboard, but
when you are in the breadboard view in Fritzing you can
move the Arduino around and the wires move with it. So, if
you can't get at something on the breadboard, you can
move the Arduino around until the section of the
breadboard you want is accessible.
This board is fairly difficult to wire properly in Fritzing.
There were many times I thought I'd made a connection
and I hadn't. The schematic shown in Figure 9 also shows
this complexity. You must be very careful to make sure you
first understand what every
connection is about and that each
one is made properly. When you
finish, you'll have the PCB design
shown back in Figure 1. Just be
warned that even if the PCB passes
the design rule check, it still doesn't
mean you've wired it correctly.
CONNECTION! This is a pain, but
once you've got it right, then you've
got the basis for all your future
homebrew Arduino projects.
Fortunately, only grounds were a problem and I was able to
connect a trace between C3 and the rest of the ground lines.
I also had to connect the two lower ground pins together.
These two added connections are circled in red in Figure 10.
Just remember to double-check your grounds if you try to
repeat my method for getting the UNO shield pins. Next
month, we will learn how to put an Arduino bootloader on
a raw Atmega328 so that we can finish rolling our own
Arduino. Then, we will port the alarm clock circuit to the
PCB so that we have a single board that combines an
Arduino + shield. NV
ONE MINOR PROBLEM
One minor problem that might
have become a major problem: As
you can see from the breadboard
view in Figure 8, I used the Arduino
UNO to get the shield pins for the
PCB layout. I got it all wired up and
did the design rule check, and it said
the board was ready for production.
However, I noticed that the horizontal
trace from C3 to C4 to the upper
shield GND pin wasn't connected to
the rest of the ground traces! What's
going on? Is this a bug in Fritzing?
Well, feeling slightly embarrassed,
I posted this as a bug on the Fritzing
forum and found out immediately
(thanks Jonathan Cohen from Fritzing)
that the bug was in my wetware, not
Fritzing. I was using the Arduino UNO
for the shield pins, but the Arduino
UNO has the upper and lower shield
pin grounds connected on the board.
So, if this were a shield design, it
would have worked just fine since the
grounds would be connected through
the Arduino board.
Since it isn't a shield design, it is
meant to replace the Arduino in a
shield design, so I'm responsible for
where each of the shield pins goes.
May 2013 73