Reading the Arduino Schematic (for a Beginner)

  • Thread starter jdc15
  • Start date
  • #1
40
0

Main Question or Discussion Point

Alright, well, I've decided to start learning about how circuits work and as part of that I've looked into getting an Arduino, either by building one myself or buying one. I came across this tutorial here: http://www.instructables.com/id/DIY-Arduino-or-The-DIY-Duino/"
I noticed that the design of the board was rather simple, requiring only two resistors and one IC (the ATMega chip). Out of interest, I've tried looking at the "standard" Arduino Uno schematic at http://arduino.cc/en/uploads/Main/arduino-uno-schematic.pdf" and noticed it's complexity. I have very little electrical engineering experience.

Thus my first question is, why is the Arduino Uno design so much more complex? Is it the USB interface?

My next question is how do I exactly read the schematic? I know what all the symbols mean, but I'm confused about some points. Like on the top left, there's a capacitor on it's own, linking to 4 wires labelled GND, +5V, 4, and 8. I'm assuming that all the GND's connect together and are at a neutral voltage, and all the +5V connect together and are supplied a voltage of 5V. But where do the 4 and the 8 lead to?

On the top right, there is a separate piece of the circuit, on which there is an unlabelled box with wires labelled 1,2, and 3. What is that for?

Then there are the ICs labelled ICSP. A quick google search shows "In Circuit Serial Programming (ICSP) is a method of directly programming AVRs, the Parallax Propeller, and PIC microcontrollers." but how does that apply here?

Also, on a few of the ICs, some pins are left unused. Is this normal?

Thanks in advance for the help. Sorry if these questions are trivial for most people.
 
Last edited by a moderator:

Answers and Replies

  • #2
595
0
I could be wrong about all this.... I don't use/know the architecture of the Arduino -- and am now re-considering being even slightly interested in it -- so there may be subtleties that I don't get ... but .... you're right, that's a fairly confusing schematic. It does look like parts were just added and subtracted somewhat at will.

Firstly it's complicated because there seem to be two ATMEGA8 micro-controllers linked together somehow -- perhaps via the TX/RX lines at the bottom. It looks like the one on the left does USB and the one on the right does I/O. They each have an ICSP connector, probably to do initial programming. If I understand correctly the user level programming is done through the USB port which would require a resident "bootloader" program on each of the controllers, so the ICSP may be there to install the bootloader.

There also seem to be two MC33269 power regulators at the top right, perhaps there are two different packages with slightly different pinouts? Or else the designer just forgot to erase one? Look on the board and see if there are two of those chips, for some reason I can't fathom.

I think the mystery capacitor on the left top is another artifact of something that was only partially removed. Minus the 4 and 8 markings it would be a fairly standard way to denote a power supply bypass capacitor, but 200 nano-farads is a weird value and a weird way of specifying it. All the other stuff at the top left, the op-amp etc, are probably to switch power sources between USB and external. However I can't find any reasonable place the labeled 3v3 output of that LP2985 (also a voltage regulator) goes since the VCC of the controllers is shown to be 5v. Maybe another lapse of design drawing rigor?

And yes, in theory at least, all labeled points like +5 and Gnd connect to their respective partners. This just saves having a bunch of lines running all over the diagram. Unused pins are usual as well, although I don't see the point of having two controllers when I/O pins on the USB one are available.

I'm being a bit snotty because I have designed my own PIC controller board which has useful input conditioning and output drivers, exactly to avoid having to learn how to buy and use the Arduino. Now that I've poked at that schematic I understand why...
 
  • #3
40
0
Hmm, so it's not just me then. Pictures of the board are here (front and back):

http://arduino.cc/en/uploads/Main/ArduinoUnoFront.jpg"
http://arduino.cc/en/uploads/Main/ArduinoUnoBack.jpg"

So the part labelled ICSP is for initial programming I see. I think there appears to be only one power regulator (although I'm new at this, so don't take my word for it). Thanks, I think it makes a bit more sense now. As a beginner I think I'm going to buy a Freeduino kit with the PCB premade and instructions on how to solder it together.
 
Last edited by a moderator:
  • #4
66
0
Thus my first question is, why is the Arduino Uno design so much more complex? Is it the USB interface?
From a 5 minute glance, it looks like it has a USB powered programmer. Most of this stuff seems to be just to program your chip (which is in a socket), then you can remove the chip from the socket if you like or use the supplied connections.

My next question is how do I exactly read the schematic? I know what all the symbols mean, but I'm confused about some points. Like on the top left, there's a capacitor on it's own, linking to 4 wires labelled GND, +5V, 4, and 8. I'm assuming that all the GND's connect together and are at a neutral voltage, and all the +5V connect together and are supplied a voltage of 5V. But where do the 4 and the 8 lead to?
4 and 8 are the supply pins of the OP AMP, U1

On the top right, there is a separate piece of the circuit, on which there is an unlabelled box with wires labelled 1,2, and 3. What is that for?
Looks like the power input connector to me.


Then there are the ICs labelled ICSP. A quick google search shows "In Circuit Serial Programming (ICSP) is a method of directly programming AVRs, the Parallax Propeller, and PIC microcontrollers." but how does that apply here?
Those are not ICs those are conenctors for an ICSP connection


TAlso, on a few of the ICs, some pins are left unused. Is this normal?
Yes
 
  • #5
40
0
Alright that seems to makes sense. But how is it immediately obvious that the wires labelled 4 and 8 connect to the OP AMP? Am I supposed to look this up on the datasheet? What about the connector labelled "7" on U1B?
 
  • #6
595
0
I woke up in the middle of the night and realized that the 4 & 8 were probably the opamp power too...thanks Perfection! I guess the fact that they are near the opamp in the drawing is supposed to tell us something. From the colors and general confusion it may be that this schematic was done with "Eagle" which kind of insists that everything be part of a component -- I was never able to force it to let me put open jumper points in my circuit without pretending it was a resistor or something. So if you had access to the original files you might find that the 4&8 pins were associated with the U1 component, but had been moved somehow.

The 7 pin on U1B is the output of the second opamp on the chip which is not used: the inputs are both shown as grounded. What a waste, eh? Coulda been used for some kind of analog input conditioning, but I guess that's usually beyond the Arduino hacker's pay grade. (Sorry, being obnoxious again...)

Looking at the photo of the board, which is just enough out of focus that I can't read the parts, I only see one ICSP connector even though there are two on the schematic. But the kicker is in the top left corner: Made in Italy -- ever owned an Italian car?

Most likely just getting one of the boards and treating it as a black-box will work out fine. However I submit my design where my claim is that it makes much more sense, here:
http://www.etantdonnes.com/DOC/T_USBPIC_trans_schematic.png [Broken]
The board uses a PIC chip to do pretty much the same thing as the Arduino. It integrates 4 opamp input conditioners that can be wired up in myriad ways (which makes the schematic kind of confusing because only some of the components shown are used in any one configuration) plus 8 transistor output drivers for motors and such-like.
 
Last edited by a moderator:
  • #7
66
0
Alright that seems to makes sense. But how is it immediately obvious that the wires labelled 4 and 8 connect to the OP AMP? Am I supposed to look this up on the datasheet?
It isn't that obvious. I only know because of Eagle experience.

What about the connector labelled "7" on U1B?
As schip said. that's an unconnected pin on U1B. U1B is unused, grounding the input pins, and leaving the output disconnected is a pretty common way of terminating unused OP AMPS.

There also seem to be two MC33269 power regulators at the top right, perhaps there are two different packages with slightly different pinouts? Or else the designer just forgot to erase one? Look on the board and see if there are two of those chips, for some reason I can't fathom.
If you look at the regulator (it's near the power connector), you'll note that there are 8 holes on either side of it. This appears to be so that one can use both the TO and DIP versions of the part if one desires. This would be for purchasing/availability purposes, so if one part is unavailable/pricey the other can be substituted.

but 200 nano-farads is a weird value and a weird way of specifying it.
The capacitor is 100nF, which is the standard value for slapping down decoupling caps. As for "weird way of specifying it" I presume you mean because it's in nanofarads not micro or pico farads? That's because it's made in Europe. For some reason Europeans use nanofards and Americans don't. I don't know why, but that's the way it is.

Looking at the photo of the board, which is just enough out of focus that I can't read the parts, I only see one ICSP connector even though there are two on the schematic.
The second is the unpopulated footprint near the USB connector.

But the kicker is in the top left corner: Made in Italy -- ever owned an Italian car?
I wish! Had, I bought my car this year instead of last I would have totally snapped up one of those new (to the US) Fiat 500s.

Most likely just getting one of the boards and treating it as a black-box will work out fine. However I submit my design where my claim is that it makes much more sense, here:
http://www.etantdonnes.com/DOC/T_USBPIC_trans_schematic.png [Broken]
The board uses a PIC chip to do pretty much the same thing as the Arduino. It integrates 4 opamp input conditioners that can be wired up in myriad ways (which makes the schematic kind of confusing because only some of the components shown are used in any one configuration) plus 8 transistor output drivers for motors and such-like.
Unless you're running a preinstalled bootloader a user needs a ICSP programmer to program your board. The Arduino Uno is a single board solution. That's why it's more complex.

The real issue with the schematic is not that anything is wrong with the board, rather that is was made for the single purpose of design entry and board layout not external communication. I make plenty of schematics for stuff that are of this quality level that work just fine in getting boards made, but if I ever wanted to communicate with customers (or even other engineers) I'd want to change them.

What probably happened is designer board guy got told, "make this thing as fast as you can", he pumps out this design with the intention that he'd pretty up the schematic later, and that prettying up never occurred.
 
Last edited by a moderator:
  • #8
595
0
Per 100 vs 200 nano farads... my bad, memory or eyes -- not sure. And for some reason I couldn't do the zero's shift to figure out the "real" uf value -- so maybe it's my whole brain...

As to my board design, it started out as a BitWhacker from sparkfun.com, which has its own sorta bootloader program, so it is possible to make it USB programmable. I'm not interested in making it easy so I haven't. Still need the ICSP to get the bootloader on board though.

I agree that the schematic in question is probably a rush job that never got patched up. But my general experience with Eagle is that it would be harder to make some of those just-do-it errors than to make it "right" to start with because the board layout program is (overly) tightly coupled to the schematic program. This may be why the back-patching was never done -- I tried to "clean up the schematic a bit" with my board and ended up having to re-layout a swath of components that Eagle had helped me delete... Pretty much the closest to actual suicide I've ever come... It's now back-converted to a free-but-proprietary board layout program which is blessedly straight-forward in comparison, which is why my schematic looks a bit different in style.
 

Related Threads on Reading the Arduino Schematic (for a Beginner)

  • Last Post
Replies
1
Views
883
  • Last Post
Replies
2
Views
3K
  • Last Post
Replies
5
Views
5K
  • Last Post
Replies
1
Views
3K
  • Last Post
Replies
2
Views
3K
Replies
1
Views
1K
  • Last Post
Replies
7
Views
657
  • Last Post
Replies
5
Views
3K
  • Last Post
Replies
4
Views
1K
Top