Arduino

From P2P Foundation
Revision as of 06:03, 20 August 2011 by Mbauwens (talk | contribs)
Jump to navigation Jump to search

= open source electronics prototyping platform

URL = http://www.arduino.cc

"Arduino, the Italian firm that makes this circuit board, a hot commodity among DIY gadget-builders. The electronics factory is one of the most picturesque in existence, nestled in the medieval foothills of Milan" (http://www.wired.com/techbiz/startups/magazine/16-11/ff_openmanufacturing?)


Description

1.

"Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It's intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environments.

Arduino can sense the environment by receiving input from a variety of sensors and can affect its surroundings by controlling lights, motors, and other actuators.

The microcontroller on the board is programmed using the Arduino programming language (based on Wiring) and the Arduino development environment (based on Processing). Arduino projects can be stand-alone or they can communicate with software on running on a computer (e.g. Flash, Processing, MaxMSP)."


2.

"At its heart, Arduino is a programmable microcontroller, which was developed in Italy in 2005. You can connect the microcontroller via a serial or USB connection to a computer running Windows, Mac OS or Linux, and program it using the free open-source integrated development environment.

Arduino is often described as a physical computing platform because you can use sensors to measure motion, light or temperature, and to flash LEDs or lights, sound buzzers or run motors. Arduino also has communications extensions that add Bluetooth, Ethernet or wireless-mesh networking capabilities, and can be triggered by events on the web or via web APIs.

During the Guardian's recent hack day, Arduino was used to create a robot that responded to hashtags on Twitter. It powered a device to alert journalists when people were reading their stories, and the team from Arduino consultancy Tinker.it built a leaderboard that measured responses to the Twitter accounts of the main British political parties.

Alexandra Deschamps-Sonsino, CEO of Tinker.it, says all kinds of people are using the platform, including hobbyists and engineers but also artists and designers – people who don't have a technical background. Clothing designers even use Arduino with special circuit boards that can easily be sewn into fabric.

You can buy pre-built Arduino boards or, true to the open-source movement, can download plans and build your own. To rapidly create prototype projects many Arduino enthusiasts use solder-less breadboards. To get started Deschamps-Sonsino suggests going to the "playground" on the Arduino website. It has a list of projects broken down by difficulty and purpose. For instance, there are audio, visual, and communication projects, as well as physical or mechanical projects.

Tinker.it and other Arduino suppliers, such as SparkFun in the US, can sell you microcontrollers, lights, sensors and other components for the projects. Tinker.it also holds workshops, and with hardware hacker Maker Faires you can see what's possible with Arduino and other open-source hardware platforms." (http://www.guardian.co.uk/technology/2009/aug/12/open-source-hardware-projects)


3.

From a detailed reportage on the place of Arduino in the Italian tradition of interaction design, by Nathan Waddington and Russell Taylor:

"The Arduino platform is fast becoming a platform of choice for interaction designers, and open source is a big part of that choice, even if it is an unintentional (or unknown) part of that choice. Open source allows for effective iterative design and creates a community out of the users. Physical computing specifically is not interaction design, but it is becoming more and more an integrated part of interaction design. During the summer of 2007, the Italy Design SFU Field School went to Italy and interviewed several top Italian designers. Among them was Massimo Banzi, an interaction designer who helped to design the Arduino. He took the time to tour the field school participants through the manufacturing process, the factory where the boards are made and assembled, gave a lecture on his previous (and current) works and finally, agreed to be interviewed for the project. Much of this paper derives from those tours and interviews. It is clear that around Massimo a community of young designers is growing, working in ways unfamiliar in Italy. This is yet another place where we see new growth in Italian Design.

So, what is Arduino? The Arduino is a tool. A little computer that can help designers interact with the physical world. Ostensibly though, it’s not much more than any other similar platform; what makes it special is how it’s been designed and supported. “Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software.

It’s intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environments” (Arduino, 2007). The key is its intention – intended for artists and designers, two groups of people whose backgrounds aren’t necessarily technical ones (or if they are, they aren’t likely to be deep in embedded computing). So, in the city where Olivetti once stood (it is now a part of Telecom Italia), the designers of Arduino substituted corporate ownership and support with community and openness. This shift is what makes the Arduino accessible, and it is what has caused its rapid growth and popularity in the communities using it. So why was it developed?

“Physical computing is about creating a conversation between the physical world and the virtual world of the computer” (O’Sullivan & Igoe, 2004, pp xix). The Arduino was developed initially to help students at Interaction Design Institute Ivrea to develop projects of their own. The students needed a platform to build their interactive projects on which would ease the burden of entering into the physical computing realm. Students with limited computing knowledge could program working prototypes themselves and take radical ideas developed in the hothouse of a good design school into stuff that actually worked and could be used and played with by an audience. Traditionally physical computing has been the domain of computer science students, professional programmers and hardware developers who use other kinds of basic hardware (such as a basic stamp, a kind of hardware platform with basic components sufficient to run an application, CPU, memory, etc.) to deal with sensor input and output to devices. However, now the barriers to entry have been significantly reduced with the Arduino, as the hardware is very cheap and readily available and the software is much more forgiving and user-friendly than that of other hardwares. Using Arduino, students can get up and running quite a bit faster than they otherwise could.

And for many that becomes addictive and professionally valuable. The Ivrea students for instance have had great success getting work at Interaction Design stalwarts such as IDEO London. And of course, all these people using the boards has fed back into the production process for improving the boards through the company’s open source development." (http://www.sfu.ca/italiadesign/2007/page/papers/arduino-and-open-source-design.pdf)

Source: Arduino and Open Source Design. By Nathan Waddington and Russell Taylor. URL = http://www.sfu.ca/italiadesign/2007/page/papers/arduino-and-open-source-design.pdf


FAQ

Excerpts:

How can I get an Arduino board?

You can buy an Arduino board from one of the distributors listed on the buy page. If you'd prefer to build your own, see the Arduino Single-Sided Serial board, which can be easily etched and assembled.


Who makes Arduino boards?

Most of the official Arduino boards are manufactured by SmartProjects in Italy. The Arduino Pro, Pro Mini, and LilyPad are manufactured by SparkFun Electronics (a US company). The Arduino Nano is manufactured by Gravitech (also a US company).


Which are the official Arduino boards?

The official Arduino boards are the ones listed on the hardware page: the Uno, Mega2560, Nano, Bluetooth (BT), LilyPad, Mini, Pro, Pro Mini, and a few older models, along with the Ethernet, XBee, motor, and prototyping shields. These are boards whose manufacturers work with the Arduino team to ensure a good user experience, compatibility with the Arduino software, and a quality product. In return for their status as official boards, the manufacturers pay a licensing fee to the Arduino team to support the further development of the project.

In general, we try to restrict use of the name "Arduino" to the official boards. If you find a product under a different name but described as "Arduino compatible", it’s probably not an official board and doesn’t fund continued work on the project." (http://arduino.cc/en/Main/FAQ)


Status

Technical

"The Arduino prototyping platform is a good example of all this. It can be programmed to read sensors, control motors and build interactive objects and artistic installations. Its compiling environment is multiplatform and free (as in freedom) and the only extra hardware needed for programming it is a serial/ USB cable. This software can be downloaded from the website Arduino web site, which also contains Arduino schematics released under Creative Commons Attibution-ShareAlike. The project has used many ingredients to achieve a successful widely used project. For example, it contains a removable Atmega8 microcontroller which can be easily replaced if broken—without the need to buy a new Arduino board. Two years after its creation, you can see an expanding community of developers who support it, workshops all around the world, new plugins and modules like ArduinoXbee (ZigBee communications interface), Arduino BT (arduino with bluetooth connectivity), Arduino Mini or the recent Arduino GPS, and third party projects as SquidBee." (http://www.freesoftwaremagazine.com/articles/making_open_hardware_possible)


Market Penetration

Regarding Google choosing the open source hardware platform (Arduino) for the “Android Open Accessory” kit, by Phillip Torrone, May 12, 2011:

"Besides there being about 300,000+ Arduino “in the wild,” I estimate there are about half a million people somehow doing something with the Arduino, from students to people not even realizing they’re using this open platform in some way (Processing, education, etc). For a microcontroller platform, as I’ve said before, it’s won and it’s here to stay. Community, open IDE, open hardware, no-mess drivers, cross platform — it’s fairly cheap and easy to get going and do something right away. There really isn’t an easier way to get analog sensor data or control a motor easier and faster than with an Arduino — and that’s a biggie, especially if you’re a phone and want to do this.

So with millions of phones out there and Google looking to make it dead simple to develop accessories, what easy-to-use, sensor-ready, open source platform has enough umpf to get this party started? Arduino. I’m sure that’s debatable (head to comments), but really, what else would be a better match?

Keep in mind, the current “Arduino” hardware Google rolled out isn’t likely what’s going to be used as this matures. We’ll see cheaper (and better) versions shortly, although Google did give away free ones to everyone at Google I/O, and that’s hard to beat. I do think Google made some decisions in their first implementation that I don’t agree with — more on that in a bit." (http://blog.makezine.com/archive/2011/05/why-google-choosing-arduino-matters-and-the-end-of-made-for-ipod-tm.html)

Discussion 1

Is Arduino Open Source?

Arduino has a trademarked name (http://arduino.cc/en/Main/FAQ),

but: Is Arduino open-source?

"Yes. The source code for the Java environment is released under the GPL, the C/C++ microcontroller libraries under the LGPL, and the schematics and CAD files under Creative Commons Attribution Share- Alike licenses. I want to design my own board; what should I do? The reference designs for the Arduino boards are available from the hardware page. They’re licensed under a Creative Commons Attribution Share-Alike license, so you are free to use and adapt them for your own needs without asking permission or paying a fee. If you’re looking to make something of interest to the community, we’d encourage you to discuss your ideas on the hardware development forum so that potential users can offer suggestions. What should I call my boards? If you’re making your own board, come up with your own name! This will allow people identify you with your products and help you to build a brand. Be creative: try to suggest what people might use the board for, or emphasize the form factor, or just pick a random word that sounds cool. \”Arduino\” is a trademark of Arduino team and should not be used for unofficial variants. If you’re interested in having your design included in the official Arduino product line, please see the So you want to make an Arduino document and contact the Arduino team. Note that while we don’t attempt to restrict uses of the \”duino\” suffix, its use causes the Italians on the team to cringe (apparently it sounds terrible); you might want to avoid it." (http://www.adafruit.com/blog/2009/03/28/open-source-hardware-overview-slides/)


What do you mean by open-source hardware?

"Open-source hardware shares much of the principles and approach of free and open-source software. In particular, we believe that people should be able to study our hardware to understand how it works, make changes to it, and share those changes. To facilitate this, we release all of the original design files (Eagle CAD) for the Arduino hardware. These files are licensed under a Creative Commons Attribution Share-Alike license, which allows for both personal and commercial derivative works, as long as they credit Arduino and release their designs under the same license.

The Arduino software is also open-source. The source code for the Java environment is released under the GPL and the C/C++ microcontroller libraries are under the LGPL." (http://arduino.cc/en/Main/FAQ)

Five Reasons why Arduino is popular

Wired:

(By Priya Ganapati, July 6, 2010)

Here are five reasons why the Arduino is more popular than the BeagleBoard:


Starter Projects

Editing and rewriting is often easier than writing from scratch. It’s the same with electronics. It’s easier to mod an idea than start with a blank slate.

That’s where the BeagleBoard falls short. “It has virtually no example application that you can just copy and hack to learn from,” says Massimo Banzi, one of the co-founders of the Arduino project.

The Arduino has hundreds of projects and ideas that are cooked up and shared by its users. For instance, check out this list of 40 Arduino projects that includes ideas such as a Wiimote-controlled Espresso machine, a biking jacket that flashes a turn signal and a wireless electricity monitor that tweets your power usage.

It’s a chicken-and-egg problem for the BeagleBoard. Unless there are more example codes out there, it is difficult to draw in the audience. And without the audience it is challenging to get enough sample projects into the community.


Cost and Durability

At $30 a piece, an Arduino is an inexpensive investment for someone who wants to try it out. “It’s the price of a few sandwiches,” says Torrone.

Compare that to the BeagleBoard-xM, which costs $180.

One reason why the Arduino is so cheap is because it is easy to clone. The microcontroller is completely open source so the “components are all commodity,” says Torrone.

With the BeagleBoard, hobbyists don’t have the same amount of freedom. They have to work closely with Texas Instruments or its partners, says Torrone.

Arduino is also very resilient. Drop it, smash it and it still stays alive. Add to that its low-power requirement, and the product becomes a must-have for DIYers. An Arduino can run on a 9V-battery for days.

“The BeagleBoard is fast and powerful but that also means lots of energy is needed, which makes it difficult for simple projects,” says Torrone.


A Thriving Community

Arduino’s popularity means it’s easy to get started. Companies such as Adafruit, SparkFun and Liquidware not only sell chips, but they also host blogs that suggest ideas on how to use your Arduino while providing extensive project plans to guide you in completing your creations.

Will Chellman, a student who has played with Arduino for years, says he’s now experimenting with the BeagleBoard. But finding documentation and information to work off is not easy, he says.

The lack of well-documented projects done with the BeagleBoard can be intimidating to new users as well, says Banzi.

“There’s lots of of interesting stuff (about the BeagleBoard) but it is very technical,” he wrote in a comment recently on Gadget Lab in response to the launch of BeagleBoard-xM.

Banzi says BeagleBoard documentation is also scattered and fragmented.

“Parts of it have aged and you spend quite a bit of time jumping from wikis to mailing list to track which specific bit of documentation applies to your board, bootloader etc.,” he says.


Maturity Is the Key

Arduino has had a head start on the BeagleBoard. By October 2008, about 50,000 Arduino boards had already been shipped. That year, the first BeagleBoards started making their way into the hands of hardware enthusiasts.

“The BeagleBoard is just two years old. Since it hasn’t been around long enough, there’s not enough people building apps based on it,” says Chellman.

That’s not to say that BeagleBoard isn’t catching up. Earlier this month, we showed five projects ranging from a videowall to the iPad of ham radios that use the BeagleBoard. There’s also a build-your-own tablet kit that is based off the BeagleBoard.

If DIYers take a shine to it, expect to see more ideas like these.


Simple Is Attractive

With its single-board computer configuration, 1-GHz processing power and the choice of accessories, the BeagleBoard is a creative engineer’s dream come true.

But the same reasons make it intimidating to those who want to geek out on a DIY project but don’t have the technical know-how.

Arduino users point out that it is simple to connect external sensors to the board, and the example codes out there make it easy to get started quickly.

Arduino is a simple system designed for creative people with little or “no prior knowledge of electronics,” says Banzi. “It’s cheap and open source with lots of documentation written in a not too technical language. Above all, it has a very welcoming attitude towards beginners and tries not to scare them too much.” (http://www.wired.com/gadgetlab/2010/07/hardware-hobbyists-arduino/)


Why Arduino Won

By Phillip Torrone:

  • "The IDE Runs on Macs, Linux, and Win

The IDE works on a Mac, Win, and Linux, and it’s completely open source. The IDE is how you program the Arduino — it’s based on Processing (a graphics programming language and development system popular with artists and designers), which has been around for a long time. It runs on Macs and Linux, not just Windows, and that matters if you want to be inclusive. It’s based on a strong and well-supported backend, the open source gcc toolchain, and wrapped in Java, so porting is easy and bugs can be found and fixed. There are enough smart people using and working on the IDE to keep it going strong. Want freaky cool people to do neat stuff with your platform? You gotta have your IDE run seamlessly on a Mac and also Linux.


  • The Driver Actually Work On Macs, Linux, and Win

Again, like the IDE, the drivers to use the board work on Mac, Win, Linux, and the FTDI drivers “just work.” Sticking with serial, a well understood (but slow) interface, was a good call. Sure HID or something custom is cool and all, and can be much faster, but the serial chip works, can be used for debugging as well as programming, and easily slots into software tools like Java, Python, Perl, C, NET, BASIC, Delphi, MAX/MSP, and PureData, Processing, etc.


  • Libraries, Easy-to-Do Simple Things, Easy-to-Do Hard Things

There are tons of object-wrapped libraries to do complex things, like writing to SD cards, LCD screens, parsing GPS. And there’s are also libraries to do simple things, like twiddle pins or debounce buttons. We’ve written UART setup code 10 times for 10 chips and frankly, we’re tired of it. Much nicer to just call Serial.begin(9600) and have it sort out the registers for us.


  • Lightwight, Runs on the Metal

The code runs directly on bare metal, with a well-tested and understood compiler (we would even say that avr-gcc is the default/standard compiler for AVR.) It’s not interpreted like .NET or BASIC. It’s fast, it’s small, it’s lightweight, and you can use the HEX file to program fresh chips in bulk.


  • Sensors

The Arduino really took off because it has analog-to-digital input, in other words, you can take in sensor data like light, temperature, sound, or whatever using the low-cost sensors already on the market and get that into the Arduino easily. It also has ready-to-go SPI and I2C for digital sensors. This covers 99% of sensors on the market. You can’t easily do this with other platforms — it’s completely bizarre to see a BeagleBoard (great product) with an Arduino basically strapped to it just to get sensor data in.


  • Simple, But Not Too Simple

Many dev boards are historically enormously complex with a lot of added-on parts like LCDs, buttons, LEDs, 7-segments, etc,. showing everything it can do. Arduino has the bare minimum. Want more? Get a shield. There are hundreds of Arduino shields, from LCD to Wi-Fi, but it’s up to the user to add that. Shields add extra functionality easily, and there is a business incentive for others to make them.


  • Not Made By a Chip Maker

The board was not designed by a chip maker. Why is this important? Chip makers often want to show how their product is different so they add weird things to differentiate themselves. The Arduino highlights commonalities between microcontrollers, not the differences. This means that the Arduino is a perfect beginner platform – everything you can do with an Arduino you can do with any other microcontroller, and the basics will last you for a long time.


  • Low Cost

You can get an Arduino for $30, and we’ll probably see $20 Arduinos soon. Many dev boards start at $50 and could easily get to $100+, although now we’re seeing chip companies start to realize that its worthwhile to have a more pragmatic pricing strategy.


  • Open Source

While it’s nice that Arduino is open source, and commercial use is allowed if you make a clone, it’s not the biggest reason, which is why it’s down near the end of the list. However, that isn’t to say it doesn’t matter at all. Specialized derivatives can be made without paying someone or asking anyone. It’s open source hardware so a company or school can use it without any per-seat licensing. There’s no risk that it will be discontinued and the software gone forever. If you want a new feature, you can spend the time and get it added. When thousands of people have a small stake in something, or ownership, they care more. Does anyone even debate if open source software is a good idea any more?" (http://blog.makezine.com/archive/2011/02/why-the-arduino-won-and-why-its-here-to-stay.html)

Discussion 2: Business Model Issues

See the specialized treatment at: Arduino - Business Model

More Information

  1. Full directory of Open Hardware projects via: Product Hacking
  2. Listen to Massimo Banzi on Arduino
  3. Book: Getting Started with Arduino

Related Links

endermologie