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

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

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.

I might seem like an idiot but remember it takes one to know one.Forum user generally fall into three categories (the good, the bad & the a**hole) what category do you fit in?

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

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

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.

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.