Pages: [1] 2   Go Down
Author Topic: How to show internal pullups on a schematic?  (Read 1278 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Faraday Member
**
Karma: 80
Posts: 3797
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.)
Logged

Although I answer in good faith, remember always: Your Mileage May Vary.
Get me on LinkedIn: za.linkedin.com/in/jimbrownza/

Brisbane, Australia
Offline Offline
Edison Member
*
Karma: 33
Posts: 1120
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

"There is no problem so bad you can't make it worse"
- retired astronaut Chris Hadfield

Offline Offline
Faraday Member
**
Karma: 80
Posts: 3797
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

Although I answer in good faith, remember always: Your Mileage May Vary.
Get me on LinkedIn: za.linkedin.com/in/jimbrownza/

Norfolk UK
Offline Offline
Edison Member
*
Karma: 65
Posts: 2458
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

There is no such thing as a stupid question but there are a lot of inquisitive idiots.

Left Coast, CA (USA)
Offline Offline
Brattain Member
*****
Karma: 361
Posts: 17261
Measurement changes behavior
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

Austin, TX
Offline Offline
Faraday Member
**
Karma: 71
Posts: 6108
Baldengineer
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Comments are good for code and for schematics...
Logged

Capacitor Expert By Day, Enginerd by night.  ||  Personal Blog: www.baldengineer.com  || Electronics Tutorials for Beginners:  www.addohms.com

Dubuque, Iowa, USA
Offline Offline
Edison Member
*
Karma: 44
Posts: 2463
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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?
Logged

Offline Offline
Faraday Member
**
Karma: 80
Posts: 3797
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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  smiley-cool
« Last Edit: March 21, 2013, 11:55:32 am by JimboZA » Logged

Although I answer in good faith, remember always: Your Mileage May Vary.
Get me on LinkedIn: za.linkedin.com/in/jimbrownza/

Global Moderator
Boston area, metrowest
Offline Offline
Brattain Member
*****
Karma: 518
Posts: 26378
Author of "Arduino for Teens". Available for Design & Build services. Now with Unlimited Eagle board sizes!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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".
Logged

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.

Austin, TX
Offline Offline
Faraday Member
**
Karma: 71
Posts: 6108
Baldengineer
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

Capacitor Expert By Day, Enginerd by night.  ||  Personal Blog: www.baldengineer.com  || Electronics Tutorials for Beginners:  www.addohms.com

0
Offline Offline
Shannon Member
****
Karma: 200
Posts: 11672
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

[ I won't respond to messages, use the forum please ]

Left Coast, CA (USA)
Offline Offline
Brattain Member
*****
Karma: 361
Posts: 17261
Measurement changes behavior
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

Offline Offline
Edison Member
*
Karma: 32
Posts: 1282
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.

 
Logged

Anchorage, AK
Offline Offline
Edison Member
*
Karma: 42
Posts: 1176
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

Northants - UK
Offline Offline
Sr. Member
****
Karma: 1
Posts: 251
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged


Pages: [1] 2   Go Up
Jump to: