Go Down

Topic: How to show internal pullups on a schematic? (Read 1 time) previous topic - next topic

JimboZA

Hi all,

The internal pullups are "invisible" in the sense that their circuitry is inside the Arduino "black-box" in a schematic. The code would show that a pin had its pullup enabled, but one doesn't know that from the schamatic: one would simply see (eg) a switch across the pin and ground.

Is there a) any need to and if so b) any way to show an "invisible" internal pullup on a schamatic?

(I was thinking of showing it as an external resistor, but with a dotted line?... kind of "greyed ot" so to speak.)
Roy from ITCrowd: Have you tried turning it off an on again?
I'm on LinkedIn: http://www.linkedin.com/in/jimbrownza

strykeroz

My vote is that it's not necessary to do so.  Your microcontroller really is that black box you mention, and that includes much circuitry that would overcomplicate your schematic if included.
"There is no problem so bad you can't make it worse"
- retired astronaut Chris Hadfield

JimboZA

Quote
and that includes much circuitry that would overcomplicate your schematic if included.



.... agreed, except that the pullup's enablement is optional and deliberate on the part of the user and could be done externally, and its presence is germane to understanding the circuit, whereas the rest of what goes on in the black box is some kind of arcane Arduino stuff
Roy from ITCrowd: Have you tried turning it off an on again?
I'm on LinkedIn: http://www.linkedin.com/in/jimbrownza

Riva

My opinion is to put a resistor on the schematic then the circuit will look/be correct. The person building the end product from this circuit could either fit these external pullups or omit them and use the internal ones. Even if you make the PCB from the schematic you have the resistor pads but just leave the resistor out and turn on internal pullups.
http://forum.arduino.cc/index.php?action=unread;boards=5,67,10,11,66,12,15,17,21,22,23,24,25,29;ALL

retrolefty

Quote
(I was thinking of showing it as an external resistor, but with a dotted line?... kind of "greyed ot" so to speak.)

That sounds like an acceptable method to me.

James C4S

Comments are good for code and for schematics...
Capacitor Expert By Day, Enginerd by night.  ||  Personal Blog: www.baldengineer.com  || Electronics Tutorials for Beginners:  www.addohms.com

Chagrin

If the pin/input has a name you put a bar over the top of it to indicate that the logic is reversed (that it has an internal pullup). Shouldn't that be sufficient?

JimboZA

#7
Mar 21, 2013, 05:36 pm Last Edit: Mar 21, 2013, 05:55 pm by JimboZA Reason: 1

If the pin/input has a name you put a bar over the top of it to indicate that the logic is reversed (that it has an internal pullup). Shouldn't that be sufficient?


Yep I guess, that's a good suggestion.


edit ... or maybe not  8)
Roy from ITCrowd: Have you tried turning it off an on again?
I'm on LinkedIn: http://www.linkedin.com/in/jimbrownza

CrossRoads

Internal pullup is typically an input pin function.
Outputs can also be "reverse logic", driving a PNP transistor for instance, where Low turns it on and High turns it off.
So PNP-Drive/ could indicate Low = On, while not having a pullup at all.
I think the dashed-line showing implied function is better way to go, or a note saying "Signal X requires internal pullup".
Designing & building electrical circuits for over 25 years. Check out the ATMega1284P based Bobuino and other '328P & '1284P creations & offerings at  www.crossroadsfencing.com/BobuinoRev17.
Arduino for Teens available at Amazon.com.

James C4S


If the pin/input has a name you put a bar over the top of it to indicate that the logic is reversed (that it has an internal pullup). Shouldn't that be sufficient?

I don't see how that is a good idea.  It is using a convention to imply a function that is unrelated to that convention.

Who is to say pull up is inveterted?  If the pin is high, it is high.  If the pin is low, it is low.  That's not inverted.
Capacitor Expert By Day, Enginerd by night.  ||  Personal Blog: www.baldengineer.com  || Electronics Tutorials for Beginners:  www.addohms.com

MarkT

You can just draw the internal pull-ups inside the box for the device.  This makes it clear they are internal and
not a separate component.
[ I won't respond to messages, use the forum please ]

retrolefty



If the pin/input has a name you put a bar over the top of it to indicate that the logic is reversed (that it has an internal pullup). Shouldn't that be sufficient?

I don't see how that is a good idea.  It is using a convention to imply a function that is unrelated to that convention.

Who is to say pull up is inveterted?  If the pin is high, it is high.  If the pin is low, it is low.  That's not inverted.


Correct, the logic state being used does not in itself tell anyone reading the schematic that the circuit electrically is using (and requires) a pull-up resistor. The issue is how best to tell someone that it's an internal software enabled pull-up and not an external resistor. A dashed line resistor symbol with a note added somewhere in the schematic is one method that is probably as good as any other I could think of.
Lefty

DVDdoug


Comments are good for code and for schematics...
Exactly what I was thinking.  Something like,  "Internal pull-up for pin 1 is enabled in software".  Or, "Internal pull-up resistor must be enabled if external pull-up is not used."

Notes on on schematics & other technical drawings are very common.   I'd say most technical drawings have one or more notes.


SirNickity

What I usually do is add the part externally.  Resistors are small and cheap, and I'll often want that behavior to be effective during resets or code crash.  For an input (where state during boot-up doesn't matter), I might leave it off the schematic, but I personally like the suggestion of adding the part anyway, then maybe noting it with an asterisk and a footnote that says "optional if internal pull-ups are enabled".

That said, I would be happy reading a schematic where any of the above methods were used.

sparkylabs

there is no need to show the pullups, your code will explain the fact that the pullups are used in the mcu. if you want to show someone how to build it why show them stuff they are not assembling ? that is on the coding side. Anyone that clever seeing a button from the input to ground will probably know that it is connected to an internal pull up else it would be pretty pointless having a button that just goes to ground.
My shop: www.sparkylabs.co.uk/shop

Go Up