Despite having only 14 pads with 8 general purpose I/O pins available, there are a lot of possibilities with Circuit Playground Classic. We went over all the internals in the last page. On this page we'll go through each pin/pad to explain what you can do with it.
No external I/O pads are shared with internal sensors/devices, so you do not need to worry about 'conflicting' pins or interactions!
There are 6 power pads available, equally spaced around the perimeter.
- GND - there are 3 x Ground pads. They are all connected together, and are all the signal/power ground connections
- 3.3V - there are two 3.3 Volt output pads. They are connected to the output of the onboard regulator. The regulator can provide about 500mA max, but that includes all the built in parts too! So you should roughly budget about 300mA available for your usage (450mA if you are not using the onboard NeoPixels)
- VBATT - there is one Voltage Output pad. This is a special power pad,it will be connected to either the USB power or the battery input, whichever has the higher voltage. This output does not connect to the regulator so you can draw as much current as your USB port / Battery can provide.
Next we will cover the 8 GPIO (General Purpose Input Ouput) pins! For reference you may want to also check out the datasheet-reference in the downloads section for the core ATMEGA32U4 pin. We picked pins that have a lot of capabilities.
All the GPIO pads can be used as digital inputs, digital outputs, for LEDs, buttons and switches. In addition, all can be used as analog inputs (10-bit ADC). All pads can be used for hardware capacitive touch.
Each pad can provide up to ~20mA of current. Don't connect a motor or other high-power component directly to the pins! Instead, use a transistor to power the DC motor on/off
All of the GPIO pads are 3.3V output level, and should not be used with 5V inputs. In general, most 5V devices are OK with 3.3V output though.
All of the pads are completely 'free' pins, they are not used by the USB connection, LEDs, sensors, etc so you never have to worry about interfering with them when programming.
- D6, D9, D10 and D11 can be analog inputs
- D3, D6, D9 and D10 can be PWM outputs
- D0, D1, D2 and D3 can be hardware interrupt input
Let's start with #10 which is in the top right corner, and work our way clockwise
- D10 / A10 - This pin can be digital I/O, or Analog Input. This pin has PWM output
- D9 / A9 - This pin can be digital I/O, or Analog Input. This pin has PWM output.
- D6 / A7 - This pin can be digital I/O, or Analog Input. This pin has PWM output.
- D12 / A11 - This pin can be digital I/O, or Analog Input.
- D1 - This pin can be digital I/O, it is also used for Hardware Serial Transmit, and can be an interrupt input.
- D0 - This pin can be digital I/O, it is also used for Hardware Serial Receive, and can be an interrupt input.
- D2 - This pin can be digital I/O, it is also the I2C SDA pin, and can be an interrupt input
- D3 - This pin can be digital I/O or PWM output, it is also the I2C SCL pin, and can be an interrupt input
These are the names of the pins that are used for built in sensors and such!
D4 - Left Button A
- D5 - Speaker PWM output
- D7 - Accelerometer interrupt
- D13 - Red LED
- D17 - Built-in 10 NeoPixels
- D19 - Right Button B
- D21 - Slide Switch
- A0 - Temperature Sensor
- A4 - Microphone sound sensor
- A5 - Light Sensor