I am still a "noob" at this and am working on a few projects just now.
What has "thrown me" recently is allocating the PINS on the board.
I know there are pictures and things showing the pinouts but I want to make something "better" to help with other new people when making projects.
Pins 0 - 7 are grouped together but 0 and 1 are the RX and TX pins.
2 - 7 are PWN pins.
Pins 8 - 13 (and two more pins) are grouped together.
Pins 8 - 11 are also PWM.
Pin 12 - dunno.
Pin 13 is used for the LED.
Pins 15 - 20 are the analogue input pins, but also there are sub-sets:
Two are the I2C bus.
Two are the SPI bus.
and so on.
I want to make up a sheet which shows you the pins and their functions.
Pins 2 - 7 (from memory) allow you to activate internal pullup resistors if you use them as inputs.
Trying to remember all these parameters is difficult.
So a sheet which shows you these functions/options and a blank space to enter your needs for the project would be handy.
But I am still too new to have ALL the data.
I am asking for knowledgeable people to help me list the functions of the pins.
Inputs, outputs, I2C, SPI, PWM, Internal pull up resistors available, TX, RX, and anything else I have missed.
I think all you need will be in a combination of two sources - the Arduino pinout diagram on the Product page and the relevant Atmel datasheet for the processor - the Atmega328 if you are using an Uno.
Part of the confusion is that many of the pins have multiple functions. For example all the pins 0-13 and A0-A5 can be used as digital inputs and outputs. Pins 0 and 1 are used by the USART for serial communication with the PC. Only the pins A0-A5 can be used for analog inputs. And only pins 3, 5, 6, 9, 10 and 11 can be used with analogWrite(). If you want to do direct port manipulation using PORTx or PINx things are even more confusing because of the way the pins are associated with different hardware ports.
I don't have a link to it now but I did see a very good Arduino pinout diagram on another website that used colours to differentiate the different functions for the pins.
Um, I don't think you understand what I am wanting to do.
Zapro,
That is nice, but I just downloaded a 219 page PDF file.
What I want to make is a 1 page generic "cheat sheet".
I have an Ether10, Uno and an Eleven.
As far as I can see their pin outs are the same.
Granted there is a "Mega" and an "Leo Stick" and others. I can't comment on them as: As of yet I have none of them.
But I think that a list of the pins with their functions listed down one side of a page (left as a guide) and then their functions and then on the RIGHT a blank space for the user to write down the assigned functions to that pin.
That way when you are writing code, you can see that the pins are, or not, already used for another function.
I mentioned that there is the I2C bus, SPI bus, TX, RX pins, analogue input pins, pins which support PWM, and ones which have internal pull up resistors.
I don't mind putting in the effort to do it, but don't want to half bake a cake which doesn't have all the ingredients.
So if people with more knowledge of the pins and functions could help it would/may save me a bit of face in not putting something out there with INCORRECT date on it.
Although the link/s you gave are good and show "pictures" of the board and all that, what I am wanting is a SIMPLE list of the pins - as seen by the person wanting to use the Arduino - and their functions.
No fancy pictures, and the like.
Then the person assigns functions to the pins and doesn't "shoot them selves in the foot" because they used pins for functions and then didn't have specific pins with specific functions which they needed.
Sure no big deal, you just change the assignments at the beginning, but why do you need to go through that?
A simple sheet for that specific sketch would help new people a lot - I believe.
Pins 0 - 7 are grouped together but 0 and 1 are the RX and TX pins.
Pins 8 - 13 (and two more pins) are grouped together.
Be careful about "grouped together", because that changes from board to board. For example, one a MEGA, the "grouping" is quite different.
2 - 7 are PWN pins.
Pins 8 - 11 are also PWM.
This is incorrect for an Uno. PWM pins are 3,5,6, 9,10,11.
Pins 15 - 20 are the analogue input pins, but also there are sub-sets:
Two are the SPI bus.
This is wrong. SPI does not share pins with analog.
Pins 2 - 7 (from memory) allow you to activate internal pullup resistors if you use them as inputs.
ALL the pins allow you to activate internal pullups.
You might like: Arduino - Google Sheets
and Arduino MEGA - Google Sheets
They are set up as spreadsheets so that you can sort by different columns, which I've found useful. Potentially, anyway.
(not updated for R3
1: Can't download them.
2: Although one is for the MEGA, what is the first one for? It just says ARDUINO. Is that the UNO, Ether10, Eleven?
3: It has a bit too much information. I'll explain below.
4: It doesn't show the pins with "built in pull up resistors".
What I want is a sheet which the person can print out/off at home for "that" project.
They have a list - as per the two examples in the links above - but instead of the "CHIP PINS" it is just BLANK.
I am also not sure the importance of the PCINT and PCMSK columns.
Those two pages also overdo the SPI and I2C bus names. They are listed in two columns for no good reason I can see.
I am thinking that you are building a project and need to know the pins function. You have this sheet and it shows you the Analogue inputs, I2C pins, etc. You have space to the right of the description to write down YOUR use of them.
Then you don't get confused when connecting hardware.
Yes, the SPI pin names are handy, but I feel at that level the actual names/functions is a bit of overkill.
Down the bottom the full SPI and I2C pin functions can be listed - but there again the "Special features" column does that anyway quite acceptably.
2: Although one is for the MEGA, what is the first one for? It just says ARDUINO. Is that the UNO, Ether10, Eleven?
It's pretty old. There was the Arduino, and there was the Mega. At the time. Diecimilla, I guess. Pretty much all the 8/168/328 designs use the same "pin names" even when they have different physical layouts (Nano, etc.)
4: It doesn't show the pins with "built in pull up resistors".
That would be "all of them." I mentioned that earlier...
I am also not sure the importance of the PCINT and PCMSK columns.
Just because they're features you're not familiar with (Pin Change Interrupts), doesn't mean that they're not useful to have documented.
Those two pages also overdo the SPI and I2C bus names. They are listed in two columns for no good reason I can see.
Bottom-up vs top-down documentation. The "special features" column documents (comments) on most of the features on all of the pins. The SPI and I2C columns are for when "I need I2C, Where is it!"
What I want is a sheet which the person can print out/off at home for "that" project.
So... It's a shared google-doc spreadsheet. If you have a google account, you can copy it and rsort/add/delete whatever columns you want (including the addition of a blank column for you to fill in my hand on a printed copy, if you want.) You should also be able to do that with your own spreadsheet SW if you download it.
No one is ever going to be able to produce a "thing" that is perfect for everyone. This sort of open source "thing" where you can modify the parts you don't like is the next best thing. (HW, SW, Docs!) I think that some of the pictures are "open source" as well.