Posts with «wiring» label

Wiring was Arduino before Arduino

Hernando Barragán is the grandfather of Arduino of whom you’ve never heard. And after years now of being basically silent on the issue of attribution, he’s decided to get some of his grudges off his chest and clear the air around Wiring and Arduino. It’s a long read, and at times a little bitter, but if you’ve been following the development of the Arduino vs Arduino debacle, it’s an important piece in the puzzle.

Wiring, in case you don’t know, is where digitalWrite() and company come from. Maybe even more importantly, Wiring basically incubated the idea of building a microcontroller-based hardware controller platform that was simple enough to program that it could be used by artists. Indeed, it was intended to be the physical counterpart to Processing, a visual programming language for art. We’ve always wondered about the relationship between Wiring and Arduino, and it’s good to hear the Wiring side of the story. (We actually interviewed Barragán earlier this year, and he asked that we hold off until he published his side of things on the web.)

The short version is that Arduino was basically a fork of the Wiring software, re-branded and running on a physical platform that borrowed a lot from the Wiring boards. Whether or not this is legal or even moral is not an issue — Wiring was developed fully open-source, both software and hardware, so it was Massimo Banzi’s to copy as much as anyone else’s. But given that Arduino started off as essentially a re-branded Wiring (with code ported to a trivially different microcontroller), you’d be forgiven for thinking that somewhat more acknowledgement than “derives from Wiring” was appropriate.

See what we mean?

The story of Arduino, from Barragán’s perspective, is actually a classic tragedy: student comes up with a really big idea, and one of his professors takes credit for it and runs with it.

This story begins in 2003 as Barragán was a Masters student at the Interaction Design Institute Ivrea (IDII) in Italy. He was advised and heavily influenced by Casey Reas, one of the two authors of Processing.

At the same time, Massimo Banzi is teaching a class in essentially microcontrollers-for-designers at Ivrea using a PIC-based board called the Programma2003 and a curious language that you’ve never heard of, “JAL: Just Another Language“. At the time, there was no GCC support for the PIC, so the choices for open-source development were few. Worse, most of the design students are using Macs, and JAL only compiles on Windows. It wasn’t user friendly.

Barragán’s thesis is a must-read if you want to know where Arduino comes from. The summary is everything you know now: it’d be revolutionary if one could make a hardware / software platform that were easy enough that artists and non-microcontroller-nerds could get into. This is exactly the revolution that was underway in the computer graphics front, powered by Processing. Make it open source and freely available, and you’ll take over the world. So he turned to the Atmel AVR chips, which had the GCC open-source toolchain behind it.

From Wiring to Arduino

So by 2004, Barragán had a few prototypes of Wiring boards out, and he and his fellow students were using them informally for projects. The GUI will look ridiculously familiar if you’ve used Processing or Arduino. Since the students were already familiar with Processing, it made a lot of sense to just clone it — with Casey Reas’ blessing of course. Barragán wrote a little program that maybe you’ve heard of: Blink.

Now Barragán needed a faculty advisor at Ivrea, and his interests clearly aligned best with Massimo Banzi. So with his thesis work well underway and Reas’ backing, Barragán took on Banzi as his advisor. With Banzi and three other faculty members, the Wiring platform got its first real test-run, the “Strangely Familiar” workshop and show (PDF). It was a stunning success — in the space of only four weeks students actually made stuff.

Massimo Banzi teaching class with Wiring

Barragán graduated in 2004 and moved back to Colombia. The success of “Strangely Familiar” lead Massimo Banzi to drop Programma2003 like a hot potato and teach his physical design classes using Wiring.

Work began on the Arduino project, according to Banzi, because he wanted a board that was cheaper to make than the Wiring board. So he replaced the ATmega128 microcontroller for a cheaper, smaller version, and chopped off everything that wasn’t “essential” from the Wiring board, like the power LED. This became the “Wiring Lite” board — and eventually the first Arduino prototype.

Giving Arduino its Due

It is not the case that Arduino doesn’t acknowledge Wiring at all. They do. There are a few sentences in the first paragraph of the Credits section of the website, as mentioned above. That and $4.50 will buy you a Grande, Quad, Nonfat, One-Pump, No-Whip, Mocha, but how much more can one ask for?

The Arduino project has been marketed with extreme savvy, something that cannot be said of Wiring. Banzi hooked up with influential people in the US, eventually friend-of-a-friending himself into contact with Dale Dougherty, who invented not just “Web 2.0” but also the “Maker Movement” and Make Magazine. Arduino and Make was a match made in heaven, and the rest is history.

But as mentioned at the top of the article, this is a classic tale of woe. Banzi had better connections and more marketing drive and skill. He pushed the exact same project — rebranded — a lot harder, better, and further than Barragán did, or probably could. Arduino is a household name simply for that reason. If Massimo Banzi hadn’t been behind the wheel, it’s unlikely that you’d be complaining about how many Wiring-based projects we feature.

And, being open-source software and hardware, Barragán gave away the shop. He probably (naïvely) expected to get more credit from his former advisor, or even get invited along on the ride. He asks why Arduino forked Wiring instead of continuing to work with him, and the answer is absolutely clear — Arduino was taking it for their own. And they could. It’s not nice, but that’s business.

Still, we feel Barragán’s pain. So we’re glad, after a decade of silence, that Barragán is speaking out on behalf of himself and Wiring, because it sets the record straight and because his project really was “Arduino” before there was an Arduino.


Filed under: Arduino Hacks, Featured, news

Speech Recognition and Synthesis with Arduino

In my previous post, I showed how to control a few LEDs using an Arduino board and BitVoicer Server. In this post, I am going to make things a little more complicated.

read more

Play with sensors on your Windows 10 devices from an Arduino

At build 2015 Microsoft announced an important collaboration with Arduino. Windows became the first Arduino certified OS and introduced Windows Virtual Shields for Arduino and Windows Remote Arduino able to bridge technologies designed to connect the physical world of Arduino with the Windows ecosystem and computing power. Today on the Windows blog, an update on the topic:

Now you can get the Windows Insider Preview of Windows 10 IoT Core with the next four technology investment.

1)Windows 10 IoT Core Universal Windows Platform (UWP) support for Arduino Wiring

2)>Windows 10 IoT Core Universal Windows Platform support for direct memory mapped UWP Providers

3)Windows Store availability of the Windows Virtual Shields Application

4)Windows Store availability of the Windows Remote Arduino Experience Application

Arduino Wiring
We want to make it easy for you to use existing Arduino Wiring Sketches, libraries, and hardware with Windows 10 IoT Core Universal Windows Apps (UWA) on a Raspberry Pi 2 or other supported board. By creating a new Visual Studio template, supporting NuGet Packages, and platform improvements we’re making it easier than ever to build on Windows 10 IoT Core.Simply drag-and-drop (or cut-and-paste) your favorite and readily-available Arduino Wiring INO and library files into Visual Studio, connect your hardware over GPIO, SPI, I2C, ADC or PWM to your Raspberry Pi 2 or other supported Windows 10 IoT Core device, and run your code. Visual Studio and Windows will do all the heavy lifting to create a UWA and deploy it on your behalf, and you can also leverage the power of Visual Studio with Windows to debug your Arduino Wiring code.
With Arduino Wiring being supported as an extension to the Universal Windows Platform, you can even create a UWA that combines Arduino Wiring, C# and XAML. This enables you to build great projects with mixed mode programming like the plotter near the end of this video. Try out Arduino Wiring here.

Windows Virtual Shields for Arduino Application
This technology lets you leverage sensors and actuators on your Windows 10 device from an Arduino over USB, WiFi, and Bluetooth. For example, you can access your Windows 10 Phone accelerometer or your Windows 10 Desktop Screen from an Arduino over WiFi.
The Windows Virtual Shields for Arduino application is now in the Windows Store, and has improved the workflow to get started. The app is all you need on the Windows 10 device. Try it out here.

Windows Remote Arduino Experience
This technology lets you develop on your Windows 10 device and access the physical world via an Arduino over USB, WiFi, and Bluetooth. For example, you can program in C# on your Windows 10 Phone and drive a servo connected on your Arduino over Bluetooth.
We also created a Windows app that enables you to explore GPIO, ADC, and PWM functionality without writing any code on your Windows 10 device. The Windows Remote Arduino Experience app is now available in the Windows Store. Give it a try!

Keep reading on their blog.

Get Better at Mortal Kombat by Hacking Your PS3 Controller

Fighting games like Mortal Kombat provide you with a variety of different available moves. These include kicks, punches, grabs, etc. They also normally include various combination moves you can perform. These combo moves require you to press the proper buttons in the correct order and also require you to time the presses correctly. [Egzola] realized that he could just hack his controller to simulate the button presses for him. This bypasses the learning curve and allows him to perform more complicated combinations with just the press of a single button.

[Egzola] started by taking apart his Playstation 3 controller. There were two PCB’s inside connected by a ribbon cable. Luckily, each individual pad for this cable was labeled with the corresponding controller button. This made it extremely simple to hack the controller. [Egzola] soldered his own wires to each of these pads. Each wire is a different color. The wires then go to two different connectors to make them easier to hook up to a bread board.

Each wire is then broken out on the breadboard. The signal from each button is run through a 4n25 optoisolator. From there the signal makes its way back to various Arduino pins. The 4n25 chips keeps the controller circuit isolated from the Arduino’s electrical circuit. The Arduino also has two push buttons connected to it. These buttons are mounted to the PS3 controller.

Now when [Egzola] presses one of the buttons, the Arduino senses the button press and simulates pressing the various controller buttons in a pre-programmed order. The result is a devastating combination move that would normally require practice and repetition to remember. You might say that [Egzola] could have spent his time just learning the moves, but that wasn’t really the point was it? Check out the video below for a demonstration.


Filed under: Arduino Hacks

Stellarino brings Wiring-style coding to the Stellaris Launchpad

[Sultan Qasim] wrote in to tell us about the work he’s been doing on the Stellarino library. It’s goal is to break down the coding barriers present for those looking to move from Arduino to ARM. This is accomplished by facilitating Wiring-stlye code for the Stellaris Launchpad ARM development board.

Right off the bat [Sultan] mentions that the interface is Wiring-like, but is not compatible with it. This means you can’t just plop your existing sketches into a C file and get them to work with the addition of a simple include file. But what it does do is provide access to the functions to which seasoned Arduino users have grown accustomed. You can see some examples above, including analogWrite(), digitalRead(), and a simple delay function.

We had a quick look at the library. It uses StellarisWare components which are stored in the ROM of the chip (these are all preceded by ‘ROM_’). The one thing missing is the UARTstudio library which apparently carries a license incompatible with GPL.


Filed under: ARM

Arduino mechs learn RobotC, plot assimilation with Lego Mindstorms

Arduino boards have smoothed the creation of lots of eccentric thingamajigs, but robotics and controllers are still not for the faint of heart. Luckily, RoboMatter is coming to the rescue of would-be roboticists with a public beta version of its C-based RobotC language for Arduino. Joining Lego Mindstorm and other bots, Arduino will get RobotC's straightforward sensor and motor controls, along with a debugger and sample program library, while still keeping its native Wiring language. So, if you want to be a Kickstarter magnate , or just out-weird everyone else, rolling your own droid is now a bit easier.

Arduino mechs learn RobotC, plot assimilation with Lego Mindstorms originally appeared on Engadget on Sun, 13 May 2012 04:41:00 EST. Please see our terms for use of feeds.

Permalink | Email this | Comments

Arduino mechs learn RobotC, plot assimilation with Lego Mindstorms

Arduino boards have smoothed the creation of lots of eccentric thingamajigs, but robotics and controllers are still not for the faint of heart. Luckily, RoboMatter is coming to the rescue of would-be roboticists with a public beta version of its C-based RobotC language for Arduino. Joining Lego Mindstorm and other bots, Arduino will get RobotC's straightforward sensor and motor controls, along with a debugger and sample program library, while still keeping its native Wiring language. So, if you want to be a Kickstarter magnate , or just out-weird everyone else, rolling your own droid is now a bit easier.

Arduino mechs learn RobotC, plot assimilation with Lego Mindstorms originally appeared on Engadget on Sat, 12 May 2012 03:05:00 EST. Please see our terms for use of feeds.

Permalink | Email this | Comments