Archive for the ‘Software’ Category

Samsa II, The Hexapod

Tuesday, March 29th, 2011

[pabloxid] shared an Hexapod project on the forum based on an Arduino MEGA 1280 and 18 Dynamixel AX-12 motors:

SAMSA is based on the Wiring board, with an ATmega128 microcontroller, and SAMSA II on the Arduino Mega, with an ATmega1280. Both are pretty similar, tough the ATmega1280 has 8 KB SRAM, twice the ATmega128. For SAMSA II the Arduino IDE was not used. The software was written directly in C++, using some libraries from both Arduino and Wiring.

SAMSA II has also two additional microcontrollers. One is an old Arduino Mini (ATmega168) located in the head, tasked with handling the sensors. The other is an ATmega8 and is integrated in the display. The firmware in the display was replaced with another one, freeing the main microcontroller from handling the display pixel by pixel, storing the frame buffer, etc.

The head’s microcontroller is responsible for sampling, filtering and processing sensor’s data. The data from the Sharp distance sensor and the lateral IR sensors are combined in a single “super smart distance sensor”. This microcontroller also decodes the data coming from the 38 KHz IR receiver, used for the Remote Control.

These two additional microcontrollers further reduce the load on the main microcontroller, allowing for more sophisticated behaviours.


Fix to Uno and Mega 2560 Linux serial problems

Tuesday, February 15th, 2011

We’ve just posted a tutorial on upgrading the firmware on the ATmega8U2 on the Arduino Uno and Mega 2560. This should resolve the problems that some of you have had with serial communication between those boards and Linux. The upgrade doesn’t require a programmer or other hardware, just adding a resistor to the board and touching a couple of pins together. It’s a safe process, and if it doesn’t work the first time you can do it again.

We’re in the process of testing the new firmwares on other operating systems so that we can begin to ship them as the default on new boards. So far, though, many Linux users have had success with the upgraded firmwares.

Thanks to Dean Camera (author of LUFA) for his help in fixing the firmware.

Issues with the new Arduino UNO Smd edition

Thursday, January 20th, 2011

A few days ago we announced the release of the new Arduino Uno SMD that was made quite in a rush to compensate the global shortage of through hole parts that is affecting many manufacturers, ATMEL included.

We have received reports from a handful of users that their boards had a strange issue where the processor would not start the last sketch that had been uploaded. This was particularly annoying as it didn’t show up in our test done at the factory and it seems to affect only some of the Uno SMD boards.

After a few tests we determined that this happens when the board is unplugged and plugged back in triggering a bug in the new bootloader.

The new version of the bootloader is available here

If your board has a serial number between 317000 and 317999 they might be affected by this bug, please return your board to the distributor and you’ll get a new one for free, that’s the Arduino policy that every official distributor is bound to.

In case you know what an ISP programmer is, you can fix your board in 5 minutes by reprogramming the bootloader.

In the next few days we’ll post more tutorials for the ones who would rather fix the board themselves.

Three Servos To Make A The Plotter ArmThree Servos To Make A The Plotter ArmThree Servos To Make A The Plotter Arm

Wednesday, December 1st, 2010


[EzioSoft] wanted to build a robot arm plotter to draw files from drawing programs. He built his arm with three servos, and made a program to control the pen and submit an image file. He also shared the code and explained it’s project on the forum.

via [ArduinoForum]




[EzioSoft] wanted to build a robot arm plotter to draw files from drawing programs. He built his arm with three servos, and made a program to control the pen and submit an image file. He also shared the code and explained it’s project on the forum.

via [ArduinoForum]

[EzioSoft] wanted to build a robot arm plotter to draw files from drawing programs. He built his arm with three servos, and made a program to control the pen and submit an image file. He also shared the code and explained it’s project on the forum.

via [ArduinoForum]


Arduino 0021 for Windows, Mac, Linux (fixes PWM bug on Uno)

Saturday, October 2nd, 2010

I just posted Arduino 0021 to the download page. It’s a quick release to fix the problems with analogWrite() (PWM) on pins 9 and 10 on the Arduino Uno.

This release also includes Linux (32-bit) support for the Uno and Mega 2560 (as well as the rest of the Arduino boards). The RXTX library was patched to support /dev/ttyACM* devices (which is what the ATmega8U2 on the Uno and Mega 2560 shows up as). Apologies for the delay in getting this out. Please note that there’s some weirdness when uploading to an Uno or Mega 2560 that’s running a program that sends data over the serial port. I’m not sure exactly what’s going on, but if you unplug and replug your board, or hold down the reset button, or manually delete the ACM0 lock file in /var/lock, you should be able to get it to work. Any suggestions on how to fix this properly are welcome.

Update: A 64-bit Linux version and a source archive for Arduino 0021 are now up on the download page (under “also available from”).

Arduino 0020 released for Windows and Mac (supports Uno and Mega 2560).

Monday, September 27th, 2010

Arduino 0020 for Windows and Mac OS X is now available from the download page. It features support for the new Uno and Mega 2560 boards and a new logo designed by ToDo. The Linux version will follow shortly.

A lot of people helped make this possible, including:

  • Dean Camera of LUFA, the lightweight USB framework for AVRs that forms the basis of the USB-serial firmware on the ATmega8U2 on the Uno and Mega 2560
  • Zach Eveland who got the 8U2 firmwares working and tested
  • Peter Knight of optiboot, the bootloader we’re using on the Uno, saving 1.5 KB of flash memory for your sketches
  • Mark Sproul who tested and debugged the ATmega2560 support (including the new stk500v2 bootloader)
  • Hans-Cristoph Steiner who developed Firmata, the default firmware on the Arduino Uno and Mega 2560, and Paul J Stoffregen who ported it to the Mega

Thanks to everyone for their help!

On a technical note, the source code for Arduino has migrated to GitHub to facilitate distributed development and merging. It includes the source code for the 8U2 firmwares that we’re using for USB-serial conversion. The issues list and developers documentation will remain on the Google Code Arduino project for the foreseeable future.

Dinner is Ready

Friday, September 24th, 2010

A few days ago we wrote on our website “We are cooking something new for you”.

Well, dinner is ready…


Saturday 25 September represents the beginning of a new era for Arduino.

During Maker Faire NYC we’re going to unveil to the world a lot of changes happening to the Arduino Project.


Un po’ di tempo fa abbiamo scritto sul nostro sito “stiamo cucinando qualcosa per voi”.

Beh, il pranzo é servito…


Sabato 25 Settembre 2010 rappresenta l’inizio di una nuova era per la scheda Arduino.

Durante la Maker Faire di New York sveleremo i numerosi cambiamenti del Progetto Arduino.


Interactive Architectures: Media-TIC and Interactive Buildings

Friday, September 24th, 2010


Some time ago I was informed that the surfaces of the amazing Media-TIC building (from Cloud 9 / Enric Ruiz Geli) were Arduino-based, sensing the enviroment/atmosferic changes and offering a 20% saving on climate control:

The building is in the shape of a cube and formed by large iron beams covered in a plastic coating of inflatable bubbles, which offer glimpses of the fluorescent structure of the building. The attractive covering also has a functional utility as a way of regulating light and temperature, primarily preventing 114 tons of CO2 a year from escaping from the building, and offering a 20% saving on climate control.

Every facade of the Media-TIC is different: from the outside, they reveal parts of their interior spaces and give a diverse plasticity, while from the inside they offer spectacular views.

Importing enviroment data from Arduino to Rhino and other 3D programs has become easier with the creation of [GrassHopper] and its practical toolbar [FireFly].

Firefly for Grasshopper / Arduino from Jason K Johnson on Vimeo.

New ways to conceive our spaces, a new use of energy, the upcoming concept of [active houses] are just around the corner. My question is: how can we get rid of 50 years of  misuse (misunderstanding?) of architecture?

A new age is coming, maybe.

Thanks to [PaoloMartini] [LucaBiselli] [thePlan] see also [GrassHopper3D] [firefly] [Media-TIC]






Arduino 0019 now available.

Saturday, September 4th, 2010

Arduino 0019 is now available from the download page. Changes include:

  • SPI library.
  • The Ethernet library has been refactored to use the new SPI library. Existing sketches will need: #include <SPI.h> added to the top of their code. Just select SPI from the Sketch > Import Library menu.
  • String class
  • A0, A1, etc. aliases for the analog input pins
  • shiftIn() function
  • Added Arduino Pro 5V and Arduino Fio to the boards menu
  • Added control over automatic scrolling and outgoing line endings in the serial monitor

and lots more; see the full list in the release notes.

Overview of the changes coming in Arduino 1.0.

Monday, July 19th, 2010

Over the past few years, the Arduino software has come a long way, in both features and robustness. There are a lot of little things, however, that we never really thought about or that we’d like to change. Arduino 1.0 is our chance to clean up these details and establish a stable platform for the future.

There’s a detailed list of the changes planned or considered for Arduino 1.0 on our development site (hosted by Google Code). The main items include:


  • New file extension to replace the .pde borrowed from Processing (issue #13).
  • Redesigned toolbar icons (issue #291).
  • Ability to upload sketches using an in-system programmer (ISP) from the IDE (issue #260).
  • Simplifying the process of selecting your board and serial port (issues #223 and #257).
  • Command-line compilation and uploading of sketches (issue #124).

Language (most of these are possibilities and still open for discussion):

  • Creating events that can be called automatically, e.g. the serialEvent() as in Processing (issue #263).
  • Adding specific functions for enabling / disabling the internal pullup resistors (issue #246).
  • Modifying the behavior of print() on bytes (issue #284).
  • Functions for accessing more of the low-level functionality of the hardware timers and other peripherals (issues #169 and #248).
  • Optimizing the digitalWrite() function (issue #140).

Of course, we’ll continue to make improvements and additions to the software after Arduino 1.0, but that by making the incompatible changes together, we’ll make the transition clearer and easier. Once you’ve adopted your code to Arduino 1.0, it should continue to work going forward.

If you have questions, comments or suggestions, feel free to respond here or to post on the individual items. Contributions are welcome; please sign up for the developers mailing list if you’re interested in working on the Arduino software.