Reading the Arduino Schematic (for a Beginner)

In summary: Arduino Uno schematic is more complex because it has an ICSP connector for programming, and it has separate power regulators for USB and external power.
  • #1
jdc15
40
0
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:
Engineering news on Phys.org
  • #2
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
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
jdc15 said:
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.

jdc15 said:
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

jdc15 said:
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.


jdc15 said:
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


jdc15 said:
TAlso, on a few of the ICs, some pins are left unused. Is this normal?
Yes
 
  • #5
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
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
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 anyone configuration) plus 8 transistor output drivers for motors and such-like.
 
Last edited by a moderator:
  • #7
jdc15 said:
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.

jdc15 said:
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.

schip666! said:
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.

schip666! said:
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.

schip666! said:
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.

schip666! said:
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.

schip666! said:
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
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 anyone 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
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 sort of 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.
 
  • #9
I found this web page to be helpful.

http://brittonkerin.com/annotateduino/annotatable_duemilanove.html
 

1. What is a schematic and why do I need to read it when working with an Arduino?

A schematic is a visual representation of the electrical connections and components used in a circuit. It is important to read the Arduino schematic in order to understand how the different parts of the circuit are connected and how they work together to achieve a desired outcome.

2. How do I read the symbols and labels on an Arduino schematic?

The symbols and labels on an Arduino schematic can seem overwhelming at first, but with some knowledge of basic electronics, they can be easily understood. The symbols represent different components such as resistors, capacitors, and integrated circuits, and the labels indicate their values and connections. It is important to have a schematic reference guide or datasheet for the specific components used in the circuit.

3. Can I modify the circuit based on the schematic?

Yes, you can modify the circuit based on the schematic as long as you have a good understanding of electronics and the function of each component. However, it is important to note that any modifications made to the circuit can affect its overall functionality, so it is recommended to test the modified circuit before implementing it in a project.

4. What is the difference between a schematic and a breadboard layout?

A schematic is a diagram that shows the connections and components in a circuit, while a breadboard layout shows the physical placement of the components on a breadboard. The schematic is used for planning and understanding the circuit, while the breadboard layout is used for physically building and testing the circuit.

5. Are there any online resources or tutorials for learning how to read Arduino schematics?

Yes, there are many online resources and tutorials available for learning how to read Arduino schematics. Some recommended sources include the official Arduino website, YouTube tutorials, and online forums where you can ask questions and learn from experienced users. Additionally, there are books and online courses available for a more in-depth understanding of reading schematics and working with Arduino circuits.

Similar threads

  • Electrical Engineering
Replies
9
Views
6K
  • Electrical Engineering
Replies
10
Views
3K
Replies
2
Views
3K
Back
Top