Wiring is an
open-source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use and view the source code, design documents, or content of the product. The open source model is a decentrali ...
electronics prototyping platform composed of a
programming language
A programming language is a system of notation for writing computer programs.
Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually def ...
, an
integrated development environment
An integrated development environment (IDE) is a Application software, software application that provides comprehensive facilities for software development. An IDE normally consists of at least a source-code editor, build automation tools, an ...
(IDE), and a
single-board microcontroller
A single-board microcontroller is a microcontroller built onto a single printed circuit board. This board provides all of the circuitry necessary for a useful control task: a microprocessor, I/O circuits, a clock generator, RAM, stored program ...
. It was developed starting in 2003 by
Hernando Barragán.
Barragán started the project at the
Interaction Design Institute Ivrea
Interaction Design Institute Ivrea (also known as Interaction Ivrea or IDII) was a two-year graduate program in the field of Interaction Design operating in the town of Ivrea, in Northern Italy between 2001 and 2006.
The institute was based in ...
. The project is currently developed at the School of Architecture and Design at the
Universidad de Los Andes in Bogotá, Colombia.
Wiring builds on
Processing, an open project initiated by
Casey Reas
Casey Edwin Barker Reas (born 1972), also known as C. E. B. Reas or Casey Reas, is an American artist whose conceptual, procedural and minimal artworks explore ideas through the contemporary lens of software. Reas is perhaps best known for having ...
and
Benjamin Fry
Benjamin Fry (born 1975) is an American designer who has expertise in data visualization.
Early life and education
Fry was born in 1975 in Ann Arbor, Michigan."Inside design now: National Design Triennial", by Ellen Lupton, Cooper-Hewitt Museu ...
, both formerly of the Aesthetics and Computation Group at the
MIT Media Lab
The MIT Media Lab is a research laboratory at the Massachusetts Institute of Technology, growing out of MIT's Architecture Machine Group in the MIT School of Architecture and Planning, School of Architecture. Its research does not restrict to fi ...
.
Project experts, intermediate developers, and beginners from around the world share ideas, knowledge and their collective experience as a project community. Wiring makes it easy to create software for controlling devices attached to the electronics board to create various interactive devices. The concept of developing is to write a few lines of code, connect a few electronic components to the Wiring hardware and observe, for example, that a motion sensor controls a light when a person approaches it, write a few more lines, add another sensor, and see how this light changes when the illumination level in a room decreases. This process is called sketching with hardware; explore ideas quickly, select the more interesting ones, refine and produce prototypes in an iterative process.
Software
The Wiring IDE is a
cross-platform
Within computing, cross-platform software (also called multi-platform software, platform-agnostic software, or platform-independent software) is computer software that is designed to work in several Computing platform, computing platforms. Some ...
application written in
Java
Java is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea (a part of Pacific Ocean) to the north. With a population of 156.9 million people (including Madura) in mid 2024, proje ...
which is derived from the IDE made for the
Processing programming language. It is designed to introduce programming and sketching with electronics to artists and designers. It includes a code editor with features such as
syntax highlighting
Syntax highlighting is a feature of text editors that is used for programming language, programming, scripting language, scripting, or markup language, markup languages, such as HTML. The feature displays text, especially source code, in differe ...
,
brace matching
Bracket matching, also known as brace matching or parentheses matching, is a syntax highlighting feature of certain text editors and integrated development environments that highlights matching sets of brackets (square brackets, curly brackets, or ...
, and automatic indentation capable of compiling and uploading programs to the board with a single click.
The Wiring IDE includes a
C/
C++ library called "Wiring", which makes common input/output operations much easier. Wiring programs are written in C++. A minimal program requires only two functions:
*: a function run once at the start of a program which can be used to define initial environment settings.
*: a function called repeatedly until the board is powered off or reset.
A typical first program for a developer using a microcontroller is to blink a
light-emitting diode
A light-emitting diode (LED) is a semiconductor device that emits light when current flows through it. Electrons in the semiconductor recombine with electron holes, releasing energy in the form of photons. The color of the light (corre ...
(LED) on and off. In the Wiring environment, the user might write a program like this:
int ledPin = WLED; // a name for the on-board LED
void setup ()
void loop ()
When the user clicks the "Upload to Wiring hardware" button in the IDE, a copy of the code is written to a temporary file including a standard header file at the file beginning, and a simple
main function
In computer programming, an entry point is the place in a program where the execution of a program begins, and where the program has access to command line arguments.
To start a program's execution, the loader or operating system passes contro ...
appended.
The Wiring IDE uses the
GNU toolchain
The GNU toolchain is a broad collection of programming tools produced by the GNU Project. These tools form a toolchain (a suite of tools used in a serial manner) used for developing software applications and operating systems.
The GNU toolchain pl ...
and
AVR Libc to compile programs, and uses
avrdude to upload programs to the board.
Open-source hardware and software
The Wiring hardware reference designs are distributed under a
Creative Commons
Creative Commons (CC) is an American non-profit organization and international network devoted to educational access and expanding the range of creative works available for others to build upon legally and to share. The organization has release ...
Attribution Share-Alike 2.5 license and are available on the Wiring Web site. Layout and production files for the Wiring hardware are also available. The source code for the IDE and the hardware library are available and released under the
GPLv2
The GNU General Public Licenses (GNU GPL or simply GPL) are a series of widely used free software licenses, or copyleft, ''copyleft'' licenses, that guarantee end users the freedom to run, study, share, or modify the software. The GPL was th ...
See also
*
Arduino
Arduino () is an Italian open-source hardware and open-source software, software company, project, and user community that designs and manufactures single-board microcontrollers and microcontroller kits for building digital devices. Its hardwar ...
*
BASIC Stamp
The BASIC Stamp is a microcontroller with a small, specialized BASIC interpreter ( PBASIC) built into ROM. It is made by Parallax, Inc. and has been popular with electronics hobbyists since the early 1990s.
Technical specifications
Although ...
*
Fritzing
Fritzing is an open-source software, open-source initiative to develop amateur or hobby CAD software for the Electronic design automation, design of electronics hardware, intended to allow designers and artists to build more permanent circuits fro ...
*
Gumstix
Gumstix is an American multinational corporation headquartered in Redwood City, California. It develops and manufactures small system boards comparable in size to a stick of gum. In 2003, when it was first fully functional, it used ARM architect ...
*
Make Controller Kit
''Make'' (stylized as ''Make:'' or ''MAKE:'') is an American magazine published since February 2005 which focuses on do it yourself (DIY) projects for individuals and groups, involving computers, electronics, metalworking, robotics, woodworking a ...
*
OOPic The OOPic is an Object Oriented Programmable Integrated Circuit. Created by Savage Innovations, this PIC microcontroller comes with an IDE (Integrated Development Environment) that supports programming in syntaxes based on the BASIC, Java and C pr ...
*
PICAXE
PICAXE is a microcontroller system based on a range of Microchip Technology, Microchip PIC microcontroller, PIC microcontrollers. PICAXE devices are Microchip PIC devices with pre-programmed firmware that enables bootloading of code directly from a ...
*
Processing
*
Rabbit Semiconductor
*
Tinkerforge
Tinkerforge is an open-source hardware platform of stackable microcontroller building blocks (Bricks) that can control different modules (Bricklets). The primary communication interface of the building blocks can be extended using Master Extensio ...
Sources
*
*
*
External links
*
{{Ambient intelligence
Internet of things
Microcontroller software
Object-oriented programming languages
Cross-platform software
Educational programming languages
Free computer libraries
Open-source hardware
Open hardware electronic devices