| The Wiring hardware is a small circuit board that includes a tiny computer of the size of a postage stamp known as microcontroller. This computer can be programmed in the Wiring programming environment to control all kinds of sensors and actuators. Sensors are devices that allow the board to acquire information from the surrounding environment (temperature, light, distance to an object etc.). Actuators are devices that allow the board to create changes (responses) in the physical world (light, movement, temperature, etc.) making possible to create all kinds of interactive artifacts. A microcontroller addresses some of the difficulties involved in prototyping with electronics by introducing the concept of programming into it. The same unit can behave in different ways, just by doing or modifying a software program to adapt it to a specific need or purpose. In order to attach sensors and actuators the Wiring hardware provides a set of connectors known as pins. A pin can be set as INPUT or OUTPUT whether it is used to read a sensor or create responses in the physical world through actuators. Sensors can be of different kinds but they may be grouped into digital and analog. Digital refers to signals with two possible states, ON or OFF, HIGH or LOW, like switches for example or special communication protocols. Analog refers to signals that can take any value in a continuous range, like luminosity or temperature. The Wiring hardware can be connected to a PC via a USB port. This connection is both for uploading a program written in the Wiring programming environment to the board and to communicate the board with a computer for other purposes, like sending data from/to the board to an application running on a PC. The PC recognizes the Wiring hardware as a serial port, being able to read and send data to it from many applications. There are 3 basic prototyping scenarios Wiring was designed for: standalone interactive objects or spaces, interactive objects or spaces connected to a computer to enhance the prototype capabilities, or networked objects or spaces by communicating multiple hardware devices. There are two flavors of the Wiring hardware: The Wiring I/O board (left in the diagrams) and the WiringMini (right in the diagrams). The Wiring I/O board can be used out of the box, it provides a USB port on it which can be directly attached to a computer for uploading programs, no special setup or connections needed to start working with it so it is ideal in the classroom as it is just ready to be used. The WiringMini is a smaller version (in size) of the Wiring I/O board, it is intended for advanced users, it doesn´t include a USB connector on it so a special connection setup using a Wiring USBAdapter must be done before start using it. Because of the smaller size factor the WiringMini can be used directly on a breadboard, it has lower costs so it is ideal for setting up production of interactive artifacts in small-mid ranges cost effective. It also fits in tiny places and has a very low power consumption and flexibility. The Wiring hardware is fully assembled, tested and ready to use. The Wiring hardware is RoHS (Restriction of Hazardous Substance Directive) compliant.

| Digital I/O pins Digital I/O ports Analog input pins PWM (analog) output pins Serial ports Pins with special functionality External interruprs pins Need extra I/O? Additional digital I/O Indicative LEDs Power supply

| Digital I/O pins The Wiring hardware has 43 Digital pins that can be configured and used individually as inputs or outputs from the Wiring language in the Wiring programming environment. When a digital pin is configured as INPUT it can be used to read all kind of sensors that give values ON and OFF, like push buttons, touch sensors, switches etc. When a pin is used as an OUTPUT it can be used to turn ON or OFF all sort of devices like light bulbs, motors, home appliances etc. Pin 48 is used as OUTPUT only and it is connected to an amber LED (Light emitting diode) located in the board for quickly test programs or as diagnostics.

| Digital I/O ports The Wiring hardware has 5 digital ports. A port is a set of 8 pins, and can be used to send or receive data to devices in parallel (8 bits at a time). They are useful when using devices like liquid crystal displays or printers. Each port can be configured and used individually as input or output from the Wiring language in the Wiring programming environment.

| Analog inputs The Wiring hardware has 8 Analog Inputs capable of reading voltages between 0-5V. Internally the voltages are translated into numbers from 0 to 1024. These inputs can be used to measure continuous quantities like light intensity, temperature, proximity, position etc. depending on the type of sensor.

| PWM (analog) outputs The Wiring hardware has 6 PWM (Pulse Width Modulation) outputs. PWM consists of switching something ON and OFF thousands of times per second, allowing effects like dimming a light or control the speed of a motor.

| Serial ports The Wiring hardware has 2 hardware serial ports. One called Serial and the other called Serial1. The Serial serial port is available through the USB connector on the Wiring I/O board and on the I/O pins 32(Rx) and 33(Tx). It is used for both programming the Wiring hardware with the Wiring development environment, and to communicate with other devices. The Serial1 serial port is available on I/O pins 2(Rx) and 3(Tx).

| Pins with special functionality The Wiring hardware provides ISP and TWI (Two Wire Interface) also known as i2c interface. The TWI allows to connect up to 128 i2c sensors/actuators in a network using only 2 pins to communicate with all of them. It is also possible to use those pins to create a network of up to 127 Wiring boards using the Wire library.

| External interrupts pins It is possible to generate and attend external interrupts in the Wiring hardware. There are 8 external interrupts numbered from 0 to 7 so there are 8 pins on the Wiring hardware capable of external interrupts, 0, 1, 2, 3, 36, 37, 38, and 39 respectively. In addition to being regular digital pins, note that pins 0 and 1 are also used for the Wire library (TWI) and pins 2 and 3 are also the Serial1 serial port pins.

| Extra digital I/O If more digital I/O pins or a an additional I/O digital port are needed, it is possible to use the analog input section as a digital one, in such case individual pins will continue to be numbered from 40 to 47, and the set of 8 pins is available as port 5.

| Indicators The Wiring hardware has a power (green) LED indicator that is turned ON when the board is powered. It also has a diagnostic (amber) LED, that can be turned ON or OFF from the Wiring language. The LED is permanently connected to the digital pin 48. The newer version of the Wiring I/O board also includes LEDs for the Serial serial port (USB) data transmission (light yellow) and reception (red).

| Power supply A generic 7-13 Volt 800mA power supply with female, center positive connector is required to power the Wiring hardware. It will suit fine for a number of applications, but if more power is required, it is recommended to get a more robust power supply. For small experiments, with low current consumption devices, the Wiring hardware can be powered from the computer's USB port when the board is connected to the computer. The Wiring hardware can also be powered from external batteries or regulated power supplies (see the WARNING note at the end of the diagram when doing this). A USB Cable (generic USB printer cable) is required to connect the Wiring hardware to the computer. The WiringMini requires the Wiring USBAdapter to connect to a computer.