Alright, now that you have an idea of what an Arduino is, it's time to clarify everything and explain some keywords that we'll use in the future. I don't expect you to know exactly what each keywords means or even to know them all, this is more like a cheatsheet for you to use whenever you read some super wired Computish term. So let's start:


An open-source prototyping platform based on easy-to-use hardware and software. Arduino boards are able to read inputs - light on a sensor, a finger on a button, or a Twitter message - and turn it into an output - activating a motor, turning on an LED, publishing something online.
An Arduino UNO


Also known as Computer Hardware, hardware is the collection of physical elements that constitutes a computer system. The mouse, the monitor and the keyboard are examples of hardware.
An example of Hardware


Also known as Computer Software, software is any set of instructions that directs a computer to perform specific tasks or operations. These can be entire graphical programs to programming languages, usually a good way of differentiating software from hardware is that you can't touch software, you can always touch the monitor (hardware), that is displaying the program (software), but you can't touch the program itself, you can't touch code or programming languages.


In Computer Science terms, an input is to provide or give something to the computer, this can be everything from entering your password for your user to using a magic pen to "draw" in an interactive board.


In Computer Science terms, an output is when the computer provides us information, like when you hear a notification sound or you see an image in the display.

GUI (Graphical User Interface)

A GUI, or Graphical User Interface is a type of interface that allows users to interact with electronic devices through graphical icons and visual indicators, most of you probably only use GUIs when you go to a computer, a GUI is a way of representing things and interacting with the computer, this means that you use the mouse, there are windows, images, buttons, text fields, etc. This is an example of a GUI:
A Graphical User Interface

CLI (Command-line Interface)

A CLI, or Command-line Interface is a means of interacting with a computer program where the user (or client) issues commands to the program in the form of successive lines of text (command lines). Most of you may have seen this in films where there's a hacker trying to break into something and there are loads of green text on the screen. Well, it isn't exactly like that but it's similar. This is an example of a CLI:
A Command-line Interface


As the name says, open-source is something that doesn't have a closed source, what this means is that anyone can make a contribution to the project. You don't need to have a degree or any kind of specialisation, you just send the organisation your ideas or changes and they will decide if they approve it or not. If the changes are approved, your contribution will become part of the official product. Some good examples of open source is Linux in general, the Firefox browser, the entire Arduino Foundation, the Raspberry Pi, VLC, Audacity, GIMP, OpenOffice, Moodle, and the big majority of programming languages.
Examples of Open-source software

Still unclear or there's something I've missed? Drop it on the comments! If not, then let's go to the next guide: Getting Started with the Arduino


Tiago Ferreira

Read more posts by this author.