Welcome! Arduino wants you ;) !
The Playground is a community created wiki of Arduino related knowledge. If you see a typo, incorrect information, or want to add something please feel free to do so.

Editing Guidelines

The Playground is for Arduino related information only.

Arduino is for all ages and all people. Make sure your contribution is appropriate for all and not offensive to any.

An Arduino account is required to edit the Playground so sign up if you don't already have one. Once you have logged in to your account you will see an edit link at the top of every Playground page.

When you click edit a password page will open. The password is prefilled so all you have to do is wait until the I'm not a robot checkbox appears, click the checkbox, and wait until the green check mark appears, then click the submit button to enter the edit page.

If you are adding to a Playground page please observe the formatting style used in the page and maintain consistency.

The Playground contains a huge amount of information so organization is essential. Please take some time to find the most appropriate location for your contribution.

For more complex sketches and libraries you may want to consider putting your code on GitHub and posting a link on the Playground. GitHub hosted code is easier for others to download and collaborate with.

You can create a new page by entering your desired URL after and then clicking the edit link. Make sure that you are not duplicating content and that there is not already a page that your information could be added to before creating a new page. Uploading files to the Playground is not allowed for standard users so if you want to add pictures or other files these will need to be hosted somewhere else. Follow the Formatting Suggestions. After creating the page look for an appropriate section to add a link.

Make sure to add an explanation of your edit in the Summary field.

Before saving your edit, click the Preview button and check for typos and incorrect formatting. Once your edit is perfect, click the Save button. Congratulations, you have now added to the greatness of the Arduino Playground!

Removing Inappropriate Content

If you find spam, vandalism, or content that is not of interest to the Arduino community please remove it from the Playground. First check the history of the page to see if you can revert back to a previous version of the page that contains useful content by clicking the Restore link. If there is no useful content in the edit history then you should delete the page. To delete a page click the edit link, delete all text from the edit field, and then add the word delete. After saving the page will automatically be removed.

Formatting Suggestions

Here are some guidelines for when you add information to the wiki. These are not coming from a place of authority, so if you feel you know a better way, please change these guidelines!


You type You get
! Page Title
!! Major Title
!!! Minor Title
!!!! And More Titles

Page Title

Major Title

Minor Title

And More Titles

You can use 1 to 4 exclamation points to change the headings size.


If useful, make a Navigation section and use anchors where suited.

You type You get
! Navigation
* [[#MyTitle|My Title]]
* [[#MyOtherTitle|My Other Title]]

! [[#MyTitle]]My Title
My content 

! [[#MyOtherTitle]]My Other Title
My other \\
multiline \\


My Title

My content

My Other Title

My other

Source Code

You can put code into the playground with special formating if you want. This is via the SourceBlock plugin, a pmWiki wrapper for GeSHi. Read more at those links, but here is a quick reference to optional PARAMETERS:

  • lang=LANGUAGE to select one of the supported highlighters,
  • linenum{=START_NUMBER} to enable line numbers and optionally specify start value.
  • tabwidth=TAB_WIDTH to set the number of spaces to use for tab replacement(*).
  • header=TEXT and footer=TEXT to surround the source code(*).
  • highlight='LINE_NUMBER1, LINE_NUMBER2,...' to specify the line numbers to point-out (separators are spaces, comma and semicolon).
  • -trim to disable the automatic trimming of source.
  • -link to disable the automatic generation of documentation links(*).
  • -getcode to disable the "Get Code" view/download code link (see below).

You type You get

(:source lang=c linenum:)
Mr. Roboto
December, 2007

This is the most important software ever written

Serial.println("Hello World. I am Mr. Robot.");

  1. /*
  2. Mr. Roboto
  3. December, 2007
  5. This is the most important software ever written
  6. */
  8. Serial.println("Hello World.  I am Mr. Robot.");


In general, pages use the ! character for making separators between main and sub topics. If you are adding content to a sub-area and that area gets large (use judgement), it is probably time to create a sub page and add a link from the original location. This keeps the main wiki pages (that are listed in the side bar) from getting gigantic.

Every page in the Arduino Playground should be (?) in one of the following PmWiki groups ( WikiGroup of pages ):

FIXME: do we really need so many groups? FIXME: add a brief summary of each group of pages. Or if there is some other place that summarizes each group, link to that place. (The above links go to the "local" recent changes in each group).

Each group should (?) have a "HomePage". The HomePage summarizes what each group is about, and links to the top pages of that group.