

Why Google Choosing Arduino Matters - ptorrone
http://blog.makezine.com/archive/2011/05/why-google-choosing-arduino-matters-and-the-end-of-made-for-ipod-tm.html

======
kwantam
_2) Apple will start to abandon their restrictive “Made for iPod”(TM) program
and adopt the Arduino in some way for accessory development_

Phil's a cool, intelligent guy, but this statement pegs my meter somewhere
between "excessive optimism" and "ridiculous Apple fanboyism".

Apple, the infamous UX control freak, will give up the control (and revenue)
associated with the MFi program in favor of allowing their users to customize
their experience? What's next, Windows 8 will run an OpenBSD kernel?

Sorry, perhaps that last was excessively sarcastic, but let's be realistic
here: one of Apple's fundamental properties is its fanatical control over
every aspect of the way that users interface with the device, directly or
indirectly. They will _never_ give this up.

MS/NOK (funny how, at least in my mental model, they're one entity in the
phone market now) and (especially) HP/Palm should be looking at this and
thinking about doing the same. RIM probably doesn't care because their
userbase doesn't.

~~~
jerryr
I thought it seemed a bit optimistic as well. It'll be interesting to see how
many handset manufacturers adopt the open accessory kit or opt to omit it or
otherwise lock it down--similar to those that chose to provide their own app
stores (I'm under the impression that you can do this, but you lose the
ability to certify your device with Google and therefore lose access to the
Android marketplace, Gmail client, maps, etc., correct?). I believe
manufacturers are still generally motivated to profit from their accessories'
ecosystems (not that the toolkit precludes this, but it relinquishes some
control they've become used to).

That said, I'd love Apple to open up their accessory platform. I maintain an
Apple accessory software stack that I'd love to throw on Github (frankly, I'm
tired of maintaining it), but I am unable to do so due to our development
agreement & the closed nature of their accessory program.

------
DanI-S
It's a seriously exciting time to be a developer. Or to be alive in general,
really.

Growing up in the shadow of our failure to colonize space, it was easy to
imagine that history had basically stalled and there wasn't much left to hope
for except an uneventful decline. Added to that, all our interesting problems
were too big for an individual to hope to solve.

Instead, the ability for individuals to meaningfully innovate has jumped to
levels that haven't been seen since the industrial revolution, or the
renaissance. I always envied the 19th Century inventors who created bleeding
edge tech without requiring teams of a thousand engineers. I don't think I
need to be envious anymore. The coming decades will be just as important.

~~~
acgourley
I want to share this excitement with you, but what part about an arduino based
dev kit for android is exciting you this much?

~~~
DanI-S
It's just a symptom of this kind of technology reaching critical mass. In a
few years, the majority of the world's mobile devices will have out of the box
support for an extensible, personal hardware development platform. A
generation of kids will grow up thinking this is normal. The cat is out of the
bag.

~~~
mortenjorck
We live in a cyberpunk present.

------
ChuckMcM
Fascinating as Mr. Spock would say.

I got goaded into teaching a class on Robotics at Google, it was well attended
and the first thing we did was build FreeDuino's from Solarbotics. When coming
up with a curriculum I chose the Arduino because it's development environment
ran on MacOS and Linux (every engineer at Google had either a MacOS or Linux
laptop, no Windows) and its use of C++ lite type models was a good match for
the codebase they worked in on a day to day basis.

I designed (but sadly never got into production) a 'super sheild' which, if
you installed the connectors in the Freeduino 'upside down' (relative to the
instructions) you could plug it onto the robot shield thing which had 6 AA
size batteries, a couple of motor controller chips, mounts for the GM8
(Solarbotics again) wheels with wheel encoders. And a bunch of bits for sensor
logic.

That being said I certainly can't take credit for Google picking the platform
as some of the folks were already familar with it but still its nice to see
that this effort has lived on as it were.

------
pingswept
I'm 100% delighted that Google chose to standardize on the Arduino platform,
but I fear it means we'll now be stuck with the infuriating 0.160" header
spacing between shield pins forever.

Background: [http://brettbeauregard.com/blog/2009/07/arduino-offset-
heade...](http://brettbeauregard.com/blog/2009/07/arduino-offset-header/)

Here's the explanation of how the bad spacing happened from Massimo Banzi:
<http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1212632541> (scroll down
10-15 posts)

"We had 5 minutes before the deadline to go into production, the PCB guy was
on the phone saying 'send it now or it goes to next week' and we didn't have a
name yet... they I said let's call it Arduino like a bar we used to go...there
wasn't much time to think."

~~~
proee
Agree. The arduino processor is also pretty weak given the price/performance
ratio. I'm in favor of seeing them work with say an arm-5 or arm-7 device.

~~~
pingswept
Yeah, I'd love to see someone make an open-source ARM9 board that runs Linux,
but works with Arduino stuff, and has good libraries for controlling the
hardware. The first version of the Chumby Hacker Board was a good candidate,
but they removed the Arduino headers on more recent versions.

~~~
poslathian
Hi HN,

I work at LeafLabs, we are responsible for a 72MHz, open/libre licensed, ARM
microcontroller platform called Maple.

The header spacing issue on Arduino was really a gaff! We actually provide a
1/10" compatible secondary header as a rough-fix on Maple. We get tons of use
out of this!

Maple line boards are based on the 32-bit ARM Cortex M3 processor core. These
low power procs don't have MMUs, so unlike ARM9, there is no hard linux (there
is uClinux though).

Maple originally forked the Arduino IDE, and ported most of the Arduino
libraries over to ARM. Our build environment also works from the command line
via make, arm-gcc, etc. Check everything codewise out at github.com/leaflabs

mBed is another great Cortex M3 platform, here are some differences between
mBed and Maple: \- mBed is a bit faster at 96MHz, and uses a processor from
NXP, leaflabs uses a 72MHz processor from ST (stm32 series) that can actually
be overclocked to 120MHz (not recommended ;)

\- the LeafLabs build environment runs on your local machine, everything is
MIT/LGPL licensed, and can be used with an Arduino-like IDE. The hardware is
all creative commons licensed. mBed has a great development IDE, but it is a
webapp and compilation happens remotely. I dont know how much of
toolchain/libs/hardware on mBed is libre or even open source.

\- Maple comes in 3 form factors, Arduino compatible, bread-board sized
(maple-mini), and a beefier version (Maple Native).

\- mBed has a secondary microcontroller onboard to handle programming, meaning
user programs have 100% control of the main MCU (no bootloader or anything
else running in the background). Maple has an onboard bootloader and a
USB->serial driver running in the background.

(note, mBed has a 60MHz arm 7 board available now too)

~~~
slashclee
I would love to play with a Maple mini. How do I get one?

~~~
poslathian
Wait just a little bit longer ;) You should hear some news about this on our
blog within a week. leaflabs.com/blog

------
inoop
If anyone's interested, I got their firmware to run on stock Arduino hardware
(which costs $55 instead of $390).

[http://romfont.com/2011/05/12/google%E2%80%99s-open-
accessor...](http://romfont.com/2011/05/12/google%E2%80%99s-open-accessory-
development-kit-on-standard-arduino-hardware/)

It's looking good so far. Now all I need is a device that supports accessory
mode ...

~~~
follower
Heh, me too--how long did it take you to write up your post? It would've been
useful, ah, 8 hours ago. :)

I've tested a revision 1 SparkFun USB Host shield and UNO/Duo with pin define
fixes and a Nexus One with Android 2.3.4 and the DemoKit app.

It "works" but seems a bit flakey needing multiple resets to move from
detecting to data transfer. I'm suspecting possible power related reset
issues.

Unfortunately my usual laptop is in the shop so I haven't documented this as
I'd normally like.

Will take a look at what you've patched but first need to get some sleep. :)

Edit: Actually, it seems much more reliable when the Arduino is connected only
to a 9V battery and not USB as well.

~~~
inoop
Hah, I got it working yesterday but I had other stuff to do and I wanted to
patch their code to work on both 168/328p and 1280/2560 before doing a proper
write up.

Can you test my patch and get back to me whether it works for you? That way I
can update my post.

~~~
follower
Have checked your patch and commented here:
[http://romfont.com/2011/05/12/google%E2%80%99s-open-
accessor...](http://romfont.com/2011/05/12/google%E2%80%99s-open-accessory-
development-kit-on-standard-arduino-hardware/#comment-31)

Have also put up some photos of input/output example of Arduino Uno + Usb Host
Shield + Nexus One here along with some code:
<http://rancidbacon.com/p/android-arduino-accessory/>

------
germancito
If anyone is interested in teaching arduino to the next generation, I'm
developing an open graphical programming platform for arduino that is aimed at
kids. <http://kck.st/mnWW8y>

------
bradharper
Meanwhile, in Rocklin, CA thousands of Propellers (in all eight of their
cores) snicker/sob quietly...

~~~
inoop
[http://robots-
everywhere.com/re_wiki/index.php?title=PropBri...](http://robots-
everywhere.com/re_wiki/index.php?title=PropBridge)

