Hacker News new | past | comments | ask | show | jobs | submit login
Why Google Choosing Arduino Matters (makezine.com)
162 points by ptorrone on May 12, 2011 | hide | past | favorite | 34 comments



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.


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.


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.


This happens over and over. Compare the internal combustion engine.

A powerful technology is realized. At first, it's really expensive, and used only for industrial purposes or where it can serve many at once. The cost comes down to where wealthy individuals, professionals who benefit most, and sufficiently motivated hobbyists can get them, and there's huge growth. The cost comes down further, and soon everyone has them. At this point, the market becomes disjoint: you get products aimed for the wealthy (Apple; BMW, Ferrari), products aimed at the hobbyist (various DIY outfits; Jeep), products aimed at professionals who most benefit (RIM, Lenovo, Dell; some Ford/GM/Toyota products), and everyone else (LG, Nokia; Kia, other Ford/GM/Toyota products).

I think that middle stage is the most exciting; unfortunately, we're just leaving it. It's still a very exciting time to be a developer, but I would barely hesitate to trade it all to work at Xerox PARC or Bell Labs in their heyday.

On the upside, certain areas of biology are poised to move into that second stage any time now, in no small part because of the power commodity computing provides.


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


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.


We live in a cyberpunk present.


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

I have yet to meet a dead person that's excited to be dead.


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.


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...

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."


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.


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.


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)


I notice that the STM32 line is actually priced on-par (or cheaper) with the ATmega chipsets, yet offers considerably more functionality (and speed).

As compared to Atmel's 8-bit MCUs, what are the downsides to the STM32 for most applications, if any? Obviously there's the packaging ...

Thanks!


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


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


Once upon a time we were, nowadays we are are working out of Inman Square. Building 8 ehh, lots of cool toys around there (esp. along the infinite).


The Maple board looks great. Are you guys based at MIT? I'm working in building 8 these days.


Something like this http://leaflabs.com/devices/ ?


Ah, I hadn't seen that board. It looks good. No MMU, which means you have to run a bastardized version of Linux, but for $45, it's impressive.


Have you seen these boards http://www.gumstix.com/store/catalog/index.php?cPath=27 ? There are more expensive, but are pretty neat. They even come with Wifi support on board.


Or something like http://mbed.org/ ?


I have an Mbed, and it's definitely awesome, but it's only programmable in C. I'd prefer something I can program in Python or Ruby.


Like this? http://beagleboard.org/

EDIT: sorry I was under the impression the hardware spec was open source, I guess I'm wrong.



I'm not sure what you mean by weak in terms of price/performance ratio; the ATmega328 used in the Uno can be had for $3 (and way less in bulk).


Yea, it should be possible - the Arduino code is an abstraction above C anyway.


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...

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


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.


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.


Have checked your patch and commented here: http://romfont.com/2011/05/12/google%E2%80%99s-open-accessor...

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/


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


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





Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: