<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.extremist.software/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Owen</id>
	<title>Noisebridge - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.extremist.software/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Owen"/>
	<link rel="alternate" type="text/html" href="https://wiki.extremist.software/wiki/Special:Contributions/Owen"/>
	<updated>2026-04-03T20:06:44Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.13</generator>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=Android_and_Arduino&amp;diff=21365</id>
		<title>Android and Arduino</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=Android_and_Arduino&amp;diff=21365"/>
		<updated>2011-11-03T08:01:35Z</updated>

		<summary type="html">&lt;p&gt;Owen: Created page with &amp;#039;&amp;lt;br&amp;gt; == Intro == &amp;lt;br&amp;gt; On June 5th, 2011, an enthusiastic group of more than forty people gathered here at NoiseBridge for a new Android-Arduino Meetup. Pooling our collective tec…&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Intro ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On June 5th, 2011, an enthusiastic group of more than forty people gathered here at NoiseBridge for a new Android-Arduino Meetup. Pooling our collective technical know-how , we successfully managed to make our Android phones communicate with Arduino hardware.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;And&#039;&#039; our meetup was written up on the MAKE Magazine blog!:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://blog.makezine.com/archive/2011/06/using-the-android-open-accessory-api-without-a-nexus.html Using the Android Open Accessory API without a Nexus]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Google recently (and officially) added Arduino support to new versions of the Android OS so that hardware development on Android phones is now easy.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Arduino hardware that will work with Android phones includes:&amp;lt;br&amp;gt;&lt;br /&gt;
- the Google ADK (Android Development Kit)&amp;lt;br&amp;gt;&lt;br /&gt;
- a standard Arduino&amp;lt;br&amp;gt;&lt;br /&gt;
- any Arduino clone with a USB Host shield&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:ADKphoto.jpg|thumb|right|G2 phone controlling Google&#039;s ADK hardware, including two motors]]&lt;br /&gt;
First, since Arduino support is &#039;&#039;only available on new versions&#039;&#039; of the Android OS, a lot of people, myself included, needed to &#039;&#039;&#039;root&#039;&#039;&#039; their phones to get a new version of Android OS on them.  We met at one side of the room, where [[User:Rubin110|Rubin]] gave an overview of the process of rooting an Android phone, followed by a hands-on workshop.  I had my phone rooted, installed the latest Android OS (CyanogenMod), and then got my phone to control the Google ADK hardware!  I document my procedure below so others may benefit from my experience.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Note: By constrast, a number of other people at the meetup already had phones with versions of the Android OS compatible with Arduino hardware.  These people gathered at the electronics lab area and had their phones connected with Google ADK, standard Arduinos, and other Arduino clones (with USB Host shield).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
My phone is a new, eight-day-old T-Mobile G2 phone (also known as &#039;&#039;HTC Vision&#039;&#039;). It came with a version of Android OS (v2.2) that does not support Arduino hardware (need v2.3.4 or later). So, with the help of [[User:Rubin110|Rubin]] and others, I rooted my phone, and installed the latest version of Cyanogenmod (a fork of the official Android OS).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I document the steps I took so that others will have an easier time of it. Your process will probably be similar even if you have a different type of Android phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This entire process took me 3 hours, but it will take you less time if you have a more recent version of Android as explained above.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The procedure is mostly given at:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting T-Mobile G2 Rooting]&amp;lt;br&amp;gt;&lt;br /&gt;
I will not reproduce everything here, but I&#039;ll provide a few notes that are very helpful to know.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Here are some other additional, useful resources:&amp;lt;br&amp;gt;&lt;br /&gt;
wiki.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
forms.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
xda-developers.com&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #cyanogenmod&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #noisebridge&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Steps I took to get Cyanogen on my G2:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Basically, follow the instructions here:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting&amp;lt;br&amp;gt;&lt;br /&gt;
Again, I am mostly just giving helpful notes below, not reproducing the entire procedure.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;The first step is to backup you phone.&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The next step is to get temporary root access.&amp;lt;br&amp;gt;&lt;br /&gt;
The main thing here is to &#039;&#039;get ADB running&#039;&#039;.  One way to do this is by installing the Android SDK on your computer.  Since wireless access at Noisebridge was overloaded with so many people using it at once, and since Miloh had the foresight to download the Android SDK for Windows, MacOS, and Linux, I downloaded the Windows version (yes, I use Windows) from Miloh’s account on Pony:&amp;lt;br&amp;gt;&lt;br /&gt;
http://developer.android.com/sdk/index.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;installer_r11-windows.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
But to be able to install the Android SDK, it is necessary to have the Java Development Kit running on your computer (the JRE alone is not sufficient). Download and install JDK on your computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u25-download-346242.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;jdk-6u25-windows-i586.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then double-click to install the Android SDK, BUT THERE IS A BUG in the installer: When it says that JDK is needed and it can’t be found, press BACK, and then press NEXT again, and it will proceed fine from there.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then I followed the instructions in this Android SDK guide on how to install the Android SDK on my computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=Howto:_Install_the_Android_SDK&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
As part of installing the Android SDK, when I connected my phone to my computer, after installing everything, the ADB driver was not installed correctly.  So, per the guide&#039;s instructions, I had to continue with further steps to update the ADB driver. This worked fine for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
(Back to the instructions for G2 Rooting.)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue to follow instructions to gain temporary root access on the phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Next we move on to gain permanent root access on the phone (with the added bonus of unlocking the phone!). Since the first gfree suggested (v0.04) gave me an error about failing to power cycle the eMMC, I had to use gfree v0.02. gfree v0.02 worked fine.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I did not flash the Engineering Hboot (stated as optional in the G2 Rooting instructions).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with intructions for Installing a Custom Recovery Image.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with instructions for Flashing a Radio.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Now continue with instructions for Flashing CyanogenMod:&amp;lt;br&amp;gt;&lt;br /&gt;
After downloading the ROM Manager free version, it turns out that I couldn’t download the Cyanogenmod nightlies, which are the latest versions (need paid version or ROM Manager to get latest versions -- ugh), so I used the &amp;quot;second method&amp;quot; in the instructions, and downloaded the latest nightly on my computer, then transferred to G2:&amp;lt;br&amp;gt;&lt;br /&gt;
http://download.cyanogenmod.com/?device=vision&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;cm_cision_full-98.zip&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Due to legal reasons, there are a bunch of free Google Android apps that are not allowed to come with CyanogenMod.  You can download these (including Android Market) and transfer them to the phone.  The package I downloaded and transferred to my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;CyanogenMod 7&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
NOTE:  When transferring files to the phone, it is fine to transfer zipped files.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Unhook the phone and then go back to instructions using Second Version.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Using ROM Manager, install cm_vision_full-98.zip&lt;br /&gt;
After reboot, it ignored instructions we gave it about backups, so when we get a screen full of orange text (Clockwork Flash Recovery), we did the following:&amp;lt;br&amp;gt;&lt;br /&gt;
- Backup and restore (to backup entire OS) (takes a while)&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe data/factory reset&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe cache partition&amp;lt;br&amp;gt;&lt;br /&gt;
- Advanced: Wipe dalvik cache  (not in instructions, but seemed worthwhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for cm_vision_full-98&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for Google apps (g_apps)&amp;lt;br&amp;gt;&lt;br /&gt;
- Reboot system&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If things falter at this point, I will have a bricked phone.  If things do go well, I should get the CyanogenMod logo animation boot screen.  What will happen? . . . &amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  --   Though it took a couple of minutes watching the static HTC screen, the CyanogenMod logo animation came up, and my phone works great!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Then I installed the Google ADK software on my G2.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Lilia compiled the ADK software for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pro tip: when compiling the demo app under Eclipse, your build target (Project Properties -&amp;gt; Android -&amp;gt; Project Build Target) should be &amp;quot;Google APIs&amp;quot; API 10, which can be installed from the ADK/AVD manager -&amp;gt; Available packages -&amp;gt; Third party Add-ons -&amp;gt; Google Inc. -&amp;gt; Google APIs by Google Inc., Android API 10. This is NOT the same as the Android SDK 2.3.3 API 10.  --lilia&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When I connected the ADK hardware to my phone (via the USB cable), a screen appeared on my phone asking me if I want to connect.&amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  I can now control the ADK hardware with my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
- Light up the three RGB LEDs any color I like.&amp;lt;br&amp;gt;&lt;br /&gt;
- Power the three servo motors.&amp;lt;br&amp;gt;&lt;br /&gt;
- Turn the two relays on and off.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the temperature sensor.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the joystick position.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I can&#039;t wait to play with this more!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Additional info: There is a visually-oriented programming language for easily creating your own Android apps called App Inventor.  Here is a fun intro to it:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://appinventor.googlelabs.com/about/ http://appinventor.googlelabs.com/about/]&amp;lt;br&amp;gt;&lt;br /&gt;
I haven&#039;t used it, but I will...&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[User:Malman23|Mitch]].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
---------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Here is the original announcement:&amp;lt;br&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A couple of weeks ago Google announced Android interconnectivity with Arduino, paving the way for a cheap, easy-to-use hardware development platform.  Google then created the ADK (Android Development Kit, based on Arduino), which is not cheap -- but they gave a bunch away for free at the Maker Faire last weekend.&amp;lt;br&amp;gt; &lt;br /&gt;
[http://developer.android.com/guide/topics/usb/adk.html info on Android website]&amp;lt;br&amp;gt;&lt;br /&gt;
and&amp;lt;br&amp;gt;&lt;br /&gt;
[http://arduino.cc/blog/2011/05/10/google-launches-android-open-accessory-development-kit-based-on-arduino/ info on Aruino&#039;s website]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Since many of us are relatively clueless on how to hack Android phones or how to connect them to Arduino to do cool things, a bunch of us are getting together next Sunday to put our collective heads together and make Arduino work on our Android phones.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
It is likely that a Google employee and Android developer will be joining us to help out.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;When&#039;&#039;&#039;: Sunday, 5-June-2011, 3pm&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Where&#039;&#039;&#039;: Noisebridge 2169 Mission St., 3rd floor&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;What&#039;&#039;&#039;: get our Android phones to play with Arduino (including the Google ADK)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Who&#039;&#039;&#039;: anyone (regardless of skill level) who cares to join in the fun&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Owen</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=Poetry_%26_Science&amp;diff=21364</id>
		<title>Poetry &amp; Science</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=Poetry_%26_Science&amp;diff=21364"/>
		<updated>2011-11-03T07:59:20Z</updated>

		<summary type="html">&lt;p&gt;Owen: /* Editing Sample */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Alchemy.jpg]]&lt;br /&gt;
&lt;br /&gt;
 Poet on the Verge of an Engineering Bug, or Engineer on the Verge of the Poetry Bug&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;For once, come serve the Muse and merge in verse, even as here I see thee&amp;quot; - Whitman&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is a page for poetry about science, technology and engineering. I envision it as place to create and discover metaphors that bridge these two very disparate spheres of human existence and human thinking. More than that, it is place to engage or re-engage with language and with language metaphors.&lt;br /&gt;
It is a page to turn to when technical language becomes dry and abstracted from its radical roots.  I hope this wiki page also addresses the question of How do we build bridges, through language, between the known object and symbol and that which is unknown or linguistically imprecise? This dialogue, I further hope, will be a guide to that process of building language bridges, linking words, forms and images in poetic discourse to technical usage and expressions. Construct and burnish your language for your: &lt;br /&gt;
&lt;br /&gt;
* Wiki pages&lt;br /&gt;
* Web pages&lt;br /&gt;
* IPhone apps&lt;br /&gt;
* Games&lt;br /&gt;
* Proposals&lt;br /&gt;
* Brochures&lt;br /&gt;
* and other online and written media&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The word metaphor itself comes from the Greek to &amp;quot;carry across&amp;quot;. We carry across meaning from words and ideas we know to new constructions of meaning. Poetry is a vehicle and bridge for metaphors and other touchstones of the imagination. In that sense the discussion and poems here broaden and extent the NoiseBridge metaphor: this page could have just as well been titled PoetryBridge or WordBridge.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I start with some more traditional poems to begin the bridge-building process. Why traditional poems? Many of them have a lot to offer despite their age and their often pre-computer social contexts. The poets nonetheless gave a great deal of thought to the science and technology of their era, quaint as it may seem to us now. Here are few poems and some thoughts:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Poet to Physicist in His Laboratory]]&lt;br /&gt;
&lt;br /&gt;
[[To a Locomotive in Winter]]&lt;br /&gt;
&lt;br /&gt;
[http://www.americanpoems.com/poets/Richard-Brautigan/72 All Watched Over by Machines of Loving Grace]&lt;br /&gt;
&lt;br /&gt;
[[http://www.sanfordundergroundlaboratoryathomestake.org/index.php?option=com_content&amp;amp;view=article&amp;amp;id=161:updike-the-neutrino-poet&amp;amp;catid=2:general-news&amp;amp;Itemid=19 Cosmic Gall]] - John Updike&#039;s poem about neutrinos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
The Norton Anthology of Modern Poetry, 2nd edition,&lt;br /&gt;
by Ellmann and O&#039;Clair&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Verse and Universe, edited by Kurt Brown&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Heart Aroused: poetry and the preservation of the soul in corporate America, David Whyte - A detailed look at the soul of the workplace, from a poetic, spiritual and mythological perspective.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The New Princeton Encyclopedia of Poetry and Poetics, edited by Alex Preminger and T.V.F. Brogan&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.poetryflash.org/] - Poetry Flash, a local zine with local and regional events, interviews, readings, and much more.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.poetryfoundation.org] - The Poetry Foundation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Editing Sample ==&lt;br /&gt;
&lt;br /&gt;
[[Android and Arduino]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Project]]&lt;/div&gt;</summary>
		<author><name>Owen</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=Poetry_%26_Science&amp;diff=21363</id>
		<title>Poetry &amp; Science</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=Poetry_%26_Science&amp;diff=21363"/>
		<updated>2011-11-03T07:58:11Z</updated>

		<summary type="html">&lt;p&gt;Owen: /* Editing Sample */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Alchemy.jpg]]&lt;br /&gt;
&lt;br /&gt;
 Poet on the Verge of an Engineering Bug, or Engineer on the Verge of the Poetry Bug&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;For once, come serve the Muse and merge in verse, even as here I see thee&amp;quot; - Whitman&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is a page for poetry about science, technology and engineering. I envision it as place to create and discover metaphors that bridge these two very disparate spheres of human existence and human thinking. More than that, it is place to engage or re-engage with language and with language metaphors.&lt;br /&gt;
It is a page to turn to when technical language becomes dry and abstracted from its radical roots.  I hope this wiki page also addresses the question of How do we build bridges, through language, between the known object and symbol and that which is unknown or linguistically imprecise? This dialogue, I further hope, will be a guide to that process of building language bridges, linking words, forms and images in poetic discourse to technical usage and expressions. Construct and burnish your language for your: &lt;br /&gt;
&lt;br /&gt;
* Wiki pages&lt;br /&gt;
* Web pages&lt;br /&gt;
* IPhone apps&lt;br /&gt;
* Games&lt;br /&gt;
* Proposals&lt;br /&gt;
* Brochures&lt;br /&gt;
* and other online and written media&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The word metaphor itself comes from the Greek to &amp;quot;carry across&amp;quot;. We carry across meaning from words and ideas we know to new constructions of meaning. Poetry is a vehicle and bridge for metaphors and other touchstones of the imagination. In that sense the discussion and poems here broaden and extent the NoiseBridge metaphor: this page could have just as well been titled PoetryBridge or WordBridge.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I start with some more traditional poems to begin the bridge-building process. Why traditional poems? Many of them have a lot to offer despite their age and their often pre-computer social contexts. The poets nonetheless gave a great deal of thought to the science and technology of their era, quaint as it may seem to us now. Here are few poems and some thoughts:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Poet to Physicist in His Laboratory]]&lt;br /&gt;
&lt;br /&gt;
[[To a Locomotive in Winter]]&lt;br /&gt;
&lt;br /&gt;
[http://www.americanpoems.com/poets/Richard-Brautigan/72 All Watched Over by Machines of Loving Grace]&lt;br /&gt;
&lt;br /&gt;
[[http://www.sanfordundergroundlaboratoryathomestake.org/index.php?option=com_content&amp;amp;view=article&amp;amp;id=161:updike-the-neutrino-poet&amp;amp;catid=2:general-news&amp;amp;Itemid=19 Cosmic Gall]] - John Updike&#039;s poem about neutrinos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
The Norton Anthology of Modern Poetry, 2nd edition,&lt;br /&gt;
by Ellmann and O&#039;Clair&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Verse and Universe, edited by Kurt Brown&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Heart Aroused: poetry and the preservation of the soul in corporate America, David Whyte - A detailed look at the soul of the workplace, from a poetic, spiritual and mythological perspective.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The New Princeton Encyclopedia of Poetry and Poetics, edited by Alex Preminger and T.V.F. Brogan&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.poetryflash.org/] - Poetry Flash, a local zine with local and regional events, interviews, readings, and much more.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.poetryfoundation.org] - The Poetry Foundation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Editing Sample ==&lt;br /&gt;
&lt;br /&gt;
[[Android]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Project]]&lt;/div&gt;</summary>
		<author><name>Owen</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=Poetry_%26_Science&amp;diff=21362</id>
		<title>Poetry &amp; Science</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=Poetry_%26_Science&amp;diff=21362"/>
		<updated>2011-11-03T07:56:00Z</updated>

		<summary type="html">&lt;p&gt;Owen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Alchemy.jpg]]&lt;br /&gt;
&lt;br /&gt;
 Poet on the Verge of an Engineering Bug, or Engineer on the Verge of the Poetry Bug&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;For once, come serve the Muse and merge in verse, even as here I see thee&amp;quot; - Whitman&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is a page for poetry about science, technology and engineering. I envision it as place to create and discover metaphors that bridge these two very disparate spheres of human existence and human thinking. More than that, it is place to engage or re-engage with language and with language metaphors.&lt;br /&gt;
It is a page to turn to when technical language becomes dry and abstracted from its radical roots.  I hope this wiki page also addresses the question of How do we build bridges, through language, between the known object and symbol and that which is unknown or linguistically imprecise? This dialogue, I further hope, will be a guide to that process of building language bridges, linking words, forms and images in poetic discourse to technical usage and expressions. Construct and burnish your language for your: &lt;br /&gt;
&lt;br /&gt;
* Wiki pages&lt;br /&gt;
* Web pages&lt;br /&gt;
* IPhone apps&lt;br /&gt;
* Games&lt;br /&gt;
* Proposals&lt;br /&gt;
* Brochures&lt;br /&gt;
* and other online and written media&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The word metaphor itself comes from the Greek to &amp;quot;carry across&amp;quot;. We carry across meaning from words and ideas we know to new constructions of meaning. Poetry is a vehicle and bridge for metaphors and other touchstones of the imagination. In that sense the discussion and poems here broaden and extent the NoiseBridge metaphor: this page could have just as well been titled PoetryBridge or WordBridge.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I start with some more traditional poems to begin the bridge-building process. Why traditional poems? Many of them have a lot to offer despite their age and their often pre-computer social contexts. The poets nonetheless gave a great deal of thought to the science and technology of their era, quaint as it may seem to us now. Here are few poems and some thoughts:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Poet to Physicist in His Laboratory]]&lt;br /&gt;
&lt;br /&gt;
[[To a Locomotive in Winter]]&lt;br /&gt;
&lt;br /&gt;
[http://www.americanpoems.com/poets/Richard-Brautigan/72 All Watched Over by Machines of Loving Grace]&lt;br /&gt;
&lt;br /&gt;
[[http://www.sanfordundergroundlaboratoryathomestake.org/index.php?option=com_content&amp;amp;view=article&amp;amp;id=161:updike-the-neutrino-poet&amp;amp;catid=2:general-news&amp;amp;Itemid=19 Cosmic Gall]] - John Updike&#039;s poem about neutrinos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
The Norton Anthology of Modern Poetry, 2nd edition,&lt;br /&gt;
by Ellmann and O&#039;Clair&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Verse and Universe, edited by Kurt Brown&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Heart Aroused: poetry and the preservation of the soul in corporate America, David Whyte - A detailed look at the soul of the workplace, from a poetic, spiritual and mythological perspective.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The New Princeton Encyclopedia of Poetry and Poetics, edited by Alex Preminger and T.V.F. Brogan&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.poetryflash.org/] - Poetry Flash, a local zine with local and regional events, interviews, readings, and much more.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.poetryfoundation.org] - The Poetry Foundation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Editing Sample ==&lt;br /&gt;
&lt;br /&gt;
[[Editing sample]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Project]]&lt;/div&gt;</summary>
		<author><name>Owen</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21360</id>
		<title>AndroidArduinoMeetup</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21360"/>
		<updated>2011-11-03T05:35:45Z</updated>

		<summary type="html">&lt;p&gt;Owen: /* Documentation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Intro ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On June 5th, 2011, an enthusiastic group of more than forty people gathered here at NoiseBridge for a new Android-Arduino Meetup. Pooling our collective technical know-how , we successfully managed to make our Android phones communicate with Arduino hardware.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;And&#039;&#039; our meetup was written up on the MAKE Magazine blog!:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://blog.makezine.com/archive/2011/06/using-the-android-open-accessory-api-without-a-nexus.html Using the Android Open Accessory API without a Nexus]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Google recently (and officially) added Arduino support to new versions of the Android OS so that hardware development on Android phones is now easy.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Arduino hardware that will work with Android phones includes:&amp;lt;br&amp;gt;&lt;br /&gt;
- the Google ADK (Android Development Kit)&amp;lt;br&amp;gt;&lt;br /&gt;
- a standard Arduino&amp;lt;br&amp;gt;&lt;br /&gt;
- any Arduino clone with a USB Host shield&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:ADKphoto.jpg|thumb|right|G2 phone controlling Google&#039;s ADK hardware, including two motors]]&lt;br /&gt;
First, since Arduino support is &#039;&#039;only available on new versions&#039;&#039; of the Android OS, a lot of people, myself included, needed to &#039;&#039;&#039;root&#039;&#039;&#039; their phones to get a new version of Android OS on them.  We met at one side of the room, where [[User:Rubin110|Rubin]] gave an overview of the process of rooting an Android phone, followed by a hands-on workshop.  I had my phone rooted, installed the latest Android OS (CyanogenMod), and then got my phone to control the Google ADK hardware!  I document my procedure below so others may benefit from my experience.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Note: By constrast, a number of other people at the meetup already had phones with versions of the Android OS compatible with Arduino hardware.  These people gathered at the electronics lab area and had their phones connected with Google ADK, standard Arduinos, and other Arduino clones (with USB Host shield).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
My phone is a new, eight-day-old T-Mobile G2 phone (also known as &#039;&#039;HTC Vision&#039;&#039;). It came with a version of Android OS (v2.2) that does not support Arduino hardware (need v2.3.4 or later). So, with the help of [[User:Rubin110|Rubin]] and others, I rooted my phone, and installed the latest version of Cyanogenmod (a fork of the official Android OS).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I document the steps I took so that others will have an easier time of it. Your process will probably be similar even if you have a different type of Android phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This entire process took me 3 hours, but it will take you less time if you have a more recent version of Android as explained above.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The procedure is mostly given at:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting T-Mobile G2 Rooting]&amp;lt;br&amp;gt;&lt;br /&gt;
I will not reproduce everything here, but I&#039;ll provide a few notes that are very helpful to know.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Here are some other additional, useful resources:&amp;lt;br&amp;gt;&lt;br /&gt;
wiki.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
forms.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
xda-developers.com&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #cyanogenmod&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #noisebridge&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Steps I took to get Cyanogen on my G2:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Basically, follow the instructions here:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting&amp;lt;br&amp;gt;&lt;br /&gt;
Again, I am mostly just giving helpful notes below, not reproducing the entire procedure.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;The first step is to backup you phone.&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The next step is to get temporary root access.&amp;lt;br&amp;gt;&lt;br /&gt;
The main thing here is to &#039;&#039;get ADB running&#039;&#039;.  One way to do this is by installing the Android SDK on your computer.  Since wireless access at Noisebridge was overloaded with so many people using it at once, and since Miloh had the foresight to download the Android SDK for Windows, MacOS, and Linux, I downloaded the Windows version (yes, I use Windows) from Miloh’s account on Pony:&amp;lt;br&amp;gt;&lt;br /&gt;
http://developer.android.com/sdk/index.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;installer_r11-windows.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
But to be able to install the Android SDK, it is necessary to have the Java Development Kit running on your computer (the JRE alone is not sufficient). Download and install JDK on your computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u25-download-346242.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;jdk-6u25-windows-i586.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then double-click to install the Android SDK, BUT THERE IS A BUG in the installer: When it says that JDK is needed and it can’t be found, press BACK, and then press NEXT again, and it will proceed fine from there.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then I followed the instructions in this Android SDK guide on how to install the Android SDK on my computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=Howto:_Install_the_Android_SDK&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
As part of installing the Android SDK, when I connected my phone to my computer, after installing everything, the ADB driver was not installed correctly.  So, per the guide&#039;s instructions, I had to continue with further steps to update the ADB driver. This worked fine for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
(Back to the instructions for G2 Rooting.)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue to follow instructions to gain temporary root access on the phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Next we move on to gain permanent root access on the phone (with the added bonus of unlocking the phone!). Since the first gfree suggested (v0.04) gave me an error about failing to power cycle the eMMC, I had to use gfree v0.02. gfree v0.02 worked fine.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I did not flash the Engineering Hboot (stated as optional in the G2 Rooting instructions).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with intructions for Installing a Custom Recovery Image.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with instructions for Flashing a Radio.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Now continue with instructions for Flashing CyanogenMod:&amp;lt;br&amp;gt;&lt;br /&gt;
After downloading the ROM Manager free version, it turns out that I couldn’t download the Cyanogenmod nightlies, which are the latest versions (need paid version or ROM Manager to get latest versions -- ugh), so I used the &amp;quot;second method&amp;quot; in the instructions, and downloaded the latest nightly on my computer, then transferred to G2:&amp;lt;br&amp;gt;&lt;br /&gt;
http://download.cyanogenmod.com/?device=vision&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;cm_cision_full-98.zip&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Due to legal reasons, there are a bunch of free Google Android apps that are not allowed to come with CyanogenMod.  You can download these (including Android Market) and transfer them to the phone.  The package I downloaded and transferred to my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;CyanogenMod 7&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
NOTE:  When transferring files to the phone, it is fine to transfer zipped files.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Unhook the phone and then go back to instructions using Second Version.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Using ROM Manager, install cm_vision_full-98.zip&lt;br /&gt;
After reboot, it ignored instructions we gave it about backups, so when we get a screen full of orange text (Clockwork Flash Recovery), we did the following:&amp;lt;br&amp;gt;&lt;br /&gt;
- Backup and restore (to backup entire OS) (takes a while)&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe data/factory reset&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe cache partition&amp;lt;br&amp;gt;&lt;br /&gt;
- Advanced: Wipe dalvik cache  (not in instructions, but seemed worthwhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for cm_vision_full-98&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for Google apps (g_apps)&amp;lt;br&amp;gt;&lt;br /&gt;
- Reboot system&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If things falter at this point, I will have a bricked phone.  If things do go well, I should get the CyanogenMod logo animation boot screen.  What will happen? . . . &amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  --   Though it took a couple of minutes watching the static HTC screen, the CyanogenMod logo animation came up, and my phone works great!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Then I installed the Google ADK software on my G2.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Lilia compiled the ADK software for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pro tip: when compiling the demo app under Eclipse, your build target (Project Properties -&amp;gt; Android -&amp;gt; Project Build Target) should be &amp;quot;Google APIs&amp;quot; API 10, which can be installed from the ADK/AVD manager -&amp;gt; Available packages -&amp;gt; Third party Add-ons -&amp;gt; Google Inc. -&amp;gt; Google APIs by Google Inc., Android API 10. This is NOT the same as the Android SDK 2.3.3 API 10.  --lilia&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When I connected the ADK hardware to my phone (via the USB cable), a screen appeared on my phone asking me if I want to connect.&amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  I can now control the ADK hardware with my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
- Light up the three RGB LEDs any color I like.&amp;lt;br&amp;gt;&lt;br /&gt;
- Power the three servo motors.&amp;lt;br&amp;gt;&lt;br /&gt;
- Turn the two relays on and off.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the temperature sensor.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the joystick position.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I can&#039;t wait to play with this more!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Additional info: There is a visually-oriented programming language for easily creating your own Android apps called App Inventor.  Here is a fun intro to it:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://appinventor.googlelabs.com/about/ http://appinventor.googlelabs.com/about/]&amp;lt;br&amp;gt;&lt;br /&gt;
I haven&#039;t used it, but I will...&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[User:Malman23|Mitch]].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
---------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Here is the original announcement:&amp;lt;br&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A couple of weeks ago Google announced Android interconnectivity with Arduino, paving the way for a cheap, easy-to-use hardware development platform.  Google then created the ADK (Android Development Kit, based on Arduino), which is not cheap -- but they gave a bunch away for free at the Maker Faire last weekend.&amp;lt;br&amp;gt; &lt;br /&gt;
[http://developer.android.com/guide/topics/usb/adk.html info on Android website]&amp;lt;br&amp;gt;&lt;br /&gt;
and&amp;lt;br&amp;gt;&lt;br /&gt;
[http://arduino.cc/blog/2011/05/10/google-launches-android-open-accessory-development-kit-based-on-arduino/ info on Aruino&#039;s website]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Since many of us are relatively clueless on how to hack Android phones or how to connect them to Arduino to do cool things, a bunch of us are getting together next Sunday to put our collective heads together and make Arduino work on our Android phones.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
It is likely that a Google employee and Android developer will be joining us to help out.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;When&#039;&#039;&#039;: Sunday, 5-June-2011, 3pm&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Where&#039;&#039;&#039;: Noisebridge 2169 Mission St., 3rd floor&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;What&#039;&#039;&#039;: get our Android phones to play with Arduino (including the Google ADK)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Who&#039;&#039;&#039;: anyone (regardless of skill level) who cares to join in the fun&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Owen</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21359</id>
		<title>AndroidArduinoMeetup</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21359"/>
		<updated>2011-11-03T05:31:30Z</updated>

		<summary type="html">&lt;p&gt;Owen: /* Intro */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Intro ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On June 5th, 2011, an enthusiastic group of more than forty people gathered here at NoiseBridge for a new Android-Arduino Meetup. Pooling our collective technical know-how , we successfully managed to make our Android phones communicate with Arduino hardware.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;And&#039;&#039; our meetup was written up on the MAKE Magazine blog!:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://blog.makezine.com/archive/2011/06/using-the-android-open-accessory-api-without-a-nexus.html Using the Android Open Accessory API without a Nexus]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Google recently (and officially) added Arduino support to new versions of the Android OS so that hardware development on Android phones is now easy.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Arduino hardware that will work with Android phones includes:&amp;lt;br&amp;gt;&lt;br /&gt;
- the Google ADK (Android Development Kit)&amp;lt;br&amp;gt;&lt;br /&gt;
- a standard Arduino&amp;lt;br&amp;gt;&lt;br /&gt;
- any Arduino clone with a USB Host shield&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:ADKphoto.jpg|thumb|right|G2 phone controlling Google&#039;s ADK hardware, including two motors]]&lt;br /&gt;
First, since Arduino support is &#039;&#039;only available on new versions&#039;&#039; of the Android OS, a lot of people, myself included, needed to &#039;&#039;&#039;root&#039;&#039;&#039; their phones to get a new version of Android OS on them.  We met at one side of the room, where [[User:Rubin110|Rubin]] gave an overview of the process of rooting an Android phone, followed by a hands-on workshop.  I had my phone rooted, installed the latest Android OS (CyanogenMod), and then got my phone to control the Google ADK hardware!  I document my procedure below so others may benefit from my experience.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Note: By constrast, a number of other people at the meetup already had phones with versions of the Android OS compatible with Arduino hardware.  These people gathered at the electronics lab area and had their phones connected with Google ADK, standard Arduinos, and other Arduino clones (with USB Host shield).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
My phone is a new, eight-day-old T-Mobile G2 phone (also known as &#039;&#039;HTC Vision&#039;&#039;). It came with a version of Android OS (v2.2) that does not support Arduino hardware (need v2.3.4 or later). So, with the help of [[User:Rubin110|Rubin]] and others, I rooted my phone, and installed the latest version of Cyanogenmod (a fork of the official Android OS).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I document the steps I took so that others will have an easier time of it. Your process will probably be similar even if you have a different type of Android phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This entire process took me 3 hours, but it will take you less time if you have a more recent version of Android as explained above.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The procedure is mostly given at:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting T-Mobile G2 Rooting]&amp;lt;br&amp;gt;&lt;br /&gt;
I will not reproduce everything here, but I&#039;ll provide a few notes that are very helpful to know.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Here are some other additional, useful resources:&amp;lt;br&amp;gt;&lt;br /&gt;
wiki.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
forms.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
xda-developers.com&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #cyanogenmod&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #noisebridge&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Steps I took to get Cyanogen on my G2:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Basically, follow the instructions here:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting&amp;lt;br&amp;gt;&lt;br /&gt;
Again, I am mostly just giving helpful notes below, not reproducing the entire procedure.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;The first step is to backup you phone.&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The next step is to get temporary root access.&amp;lt;br&amp;gt;&lt;br /&gt;
The main thing here is to &#039;&#039;get ADB running&#039;&#039;.  One way to do this is by installing the Android SDK on your computer.  Since wireless access at Noisebridge was overloaded with so many people using it at once, and since Miloh had the foresight to download the Android SDK for Windows, MacOS, and Linux, I downloaded the Windows version (yes, I use Windows) from Miloh’s account on Pony:&amp;lt;br&amp;gt;&lt;br /&gt;
http://developer.android.com/sdk/index.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;installer_r11-windows.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
But to be able to install the Android SDK, it is necessary to have the Java Development Kit running on your computer (the JRE alone is not sufficient). Download and install JDK on your computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u25-download-346242.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;jdk-6u25-windows-i586.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then double-click to install the Android SDK, BUT THERE IS A BUG in the installer: When it says that JDK is needed and it can’t be found, press BACK, and then press NEXT again, and it will proceed fine from there.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then I followed the instructions in this Android SDK guide on how to install the Android SDK on my computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=Howto:_Install_the_Android_SDK&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
As part of installing the Android SDK, when I connected my phone to my computer, after installing everything, the ADB driver was not installed correctly.  So, per the guide&#039;s instructions, I had to continue with further steps to update the ADB driver. This worked fine for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
(Back to the instructions for G2 Rooting.)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue to follow instructions to gain temporary root access on the phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Next we move on to gain permanent root access on the phone (with the added bonus of unlocking the phone!). Since the first gfree suggested (v0.04) gave me an error about failing to power cycle the eMMC, I had to use gfree v0.02. gfree v0.02 worked fine.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I did not flash the Engineering Hboot (stated as optional in the G2 Rooting instructions).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with intructions for Installing a Custom Recovery Image.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with instructions for Flashing a Radio.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Now continue with instructions for Flashing CyanogenMod:&amp;lt;br&amp;gt;&lt;br /&gt;
After downloading the ROM Manager free version, it turns out that I couldn’t download the Cyanogenmod nightlies, which are the latest versions (need paid version or ROM Manager to get latest versions -- ugh), so I used the &amp;quot;second method&amp;quot; in the instructions, and downloaded the latest nightly on my computer, then transferred to G2:&amp;lt;br&amp;gt;&lt;br /&gt;
http://download.cyanogenmod.com/?device=vision&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;cm_cision_full-98.zip&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Due to legal reasons, there are a bunch of free Google Android apps that are not allowed to come with CyanogenMod.  You can download these (including Android Market) and transfer them to the phone.  The package I downloaded and transferred to my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;CyanogenMod 7&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
NOTE:  When transferring files to the phone, it is fine to transfer zipped files.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Unhook the phone and then go back to instructions using Second Version.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Using ROM Manager, install cm_vision_full-98.zip&lt;br /&gt;
After reboot, it ignored instructions we gave it about backups, so when we get a screen full of orange text (Clockwork Flash Recovery), we did the following:&amp;lt;br&amp;gt;&lt;br /&gt;
- Backup and restore (to backup entire OS) (takes awhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe data/factory reset&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe cache partition&amp;lt;br&amp;gt;&lt;br /&gt;
- Advanced: Wipe dalvik cache  (not in instructions, but seemed worthwhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for cm_vision_full-98&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for Google apps (g_apps)&amp;lt;br&amp;gt;&lt;br /&gt;
- Reboot system&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If things falter at this point, I will have a bricked phone.  If things do go well, I should get the CyanogenMod logo animation boot screen.  What will happen? . . . &amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  --   Though it took a couple of minutes watching the static HTC screen, the CyanogenMod logo animation came up, and my phone works great!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Then I installed the Google ADK software on my G2.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Lilia compiled the ADK software for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pro tip: when compiling the demo app under Eclipse, your build target (Project Properties -&amp;gt; Android -&amp;gt; Project Build Target) should be &amp;quot;Google APIs&amp;quot; API 10, which can be installed from the ADK/AVD manager -&amp;gt; Available packages -&amp;gt; Third party Add-ons -&amp;gt; Google Inc. -&amp;gt; Google APIs by Google Inc., Android API 10. This is NOT the same as the Android SDK 2.3.3 API 10.  --lilia&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When I connected the ADK hardware to my phone (via the USB cable), a screen appeared on my phone asking me if I want to connect.&amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  I can now control the ADK hardware with my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
- Light up the three RGB LEDs any color I like.&amp;lt;br&amp;gt;&lt;br /&gt;
- Power the three servo motors.&amp;lt;br&amp;gt;&lt;br /&gt;
- Turn the two relays on and off.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the temperature sensor.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the joystick position.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I can&#039;t wait to play with this more!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Additional info: There is a visually-oriented programming language for easily creating your own Android apps called App Inventor.  Here is a fun intro to it:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://appinventor.googlelabs.com/about/ http://appinventor.googlelabs.com/about/]&amp;lt;br&amp;gt;&lt;br /&gt;
I haven&#039;t used it, but I will...&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[User:Malman23|Mitch]].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
---------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Here is the original announcement:&amp;lt;br&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A couple of weeks ago Google announced Android interconnectivity with Arduino, paving the way for a cheap, easy-to-use hardware development platform.  Google then created the ADK (Android Development Kit, based on Arduino), which is not cheap -- but they gave a bunch away for free at the Maker Faire last weekend.&amp;lt;br&amp;gt; &lt;br /&gt;
[http://developer.android.com/guide/topics/usb/adk.html info on Android website]&amp;lt;br&amp;gt;&lt;br /&gt;
and&amp;lt;br&amp;gt;&lt;br /&gt;
[http://arduino.cc/blog/2011/05/10/google-launches-android-open-accessory-development-kit-based-on-arduino/ info on Aruino&#039;s website]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Since many of us are relatively clueless on how to hack Android phones or how to connect them to Arduino to do cool things, a bunch of us are getting together next Sunday to put our collective heads together and make Arduino work on our Android phones.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
It is likely that a Google employee and Android developer will be joining us to help out.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;When&#039;&#039;&#039;: Sunday, 5-June-2011, 3pm&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Where&#039;&#039;&#039;: Noisebridge 2169 Mission St., 3rd floor&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;What&#039;&#039;&#039;: get our Android phones to play with Arduino (including the Google ADK)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Who&#039;&#039;&#039;: anyone (regardless of skill level) who cares to join in the fun&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Owen</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21358</id>
		<title>AndroidArduinoMeetup</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21358"/>
		<updated>2011-11-03T05:17:12Z</updated>

		<summary type="html">&lt;p&gt;Owen: /* Intro */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Intro ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On June 5th, 2011, an enthusiastic group of more than 40 people gathered here at NoiseBridge for a new Android-Arduino Meetup. Pooling our collective technical know-how , we successfully managed to make our Android phones communicate with Arduino hardware.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;And&#039;&#039; our meetup was written up on the MAKE Magazine blog!:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://blog.makezine.com/archive/2011/06/using-the-android-open-accessory-api-without-a-nexus.html Using the Android Open Accessory API without a Nexus]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Google recently (and officially) added Arduino support to new versions of the Android OS so that hardware development on Android phones is now easy.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Arduino hardware that will work with Android phones includes:&amp;lt;br&amp;gt;&lt;br /&gt;
- the Google ADK (Android Development Kit)&amp;lt;br&amp;gt;&lt;br /&gt;
- a standard Arduino&amp;lt;br&amp;gt;&lt;br /&gt;
- any Arduino clone with a USB Host shield&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:ADKphoto.jpg|thumb|right|G2 phone controlling Google&#039;s ADK hardware, including two motors]]&lt;br /&gt;
First, since Arduino support is &#039;&#039;only available on new versions&#039;&#039; of the Android OS, a lot of people, myself included, needed to &#039;&#039;&#039;root&#039;&#039;&#039; their phones to get a new version of Android OS on them.  We met at one side of the room, where [[User:Rubin110|Rubin]] gave an overview of the process of rooting an Android phone, followed by a hands-on workshop.  I had my phone rooted, installed the latest Android OS (CyanogenMod), and then got my phone to control the Google ADK hardware!  I document my procedure below so others may benefit from my experience.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Note: By constrast, a number of other people at the meetup already had phones with versions of the Android OS compatible with Arduino hardware.  These people gathered at the electronics lab area and had their phones connected with Google ADK, standard Arduinos, and other Arduino clones (with USB Host shield).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
My phone is a new, eight-day-old T-Mobile G2 phone (also known as &#039;&#039;HTC Vision&#039;&#039;). It came with a version of Android OS (v2.2) that does not support Arduino hardware (need v2.3.4 or later). So, with the help of [[User:Rubin110|Rubin]] and others, I rooted my phone, and installed the latest version of Cyanogenmod (a fork of the official Android OS).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I document the steps I took so that others will have an easier time of it. Your process will probably be similar even if you have a different type of Android phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This entire process took me 3 hours, but it will take you less time if you have a more recent version of Android as explained above.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The procedure is mostly given at:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting T-Mobile G2 Rooting]&amp;lt;br&amp;gt;&lt;br /&gt;
I will not reproduce everything here, but I&#039;ll provide a few notes that are very helpful to know.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Here are some other additional, useful resources:&amp;lt;br&amp;gt;&lt;br /&gt;
wiki.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
forms.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
xda-developers.com&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #cyanogenmod&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #noisebridge&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Steps I took to get Cyanogen on my G2:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Basically, follow the instructions here:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting&amp;lt;br&amp;gt;&lt;br /&gt;
Again, I am mostly just giving helpful notes below, not reproducing the entire procedure.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;The first step is to backup you phone.&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The next step is to get temporary root access.&amp;lt;br&amp;gt;&lt;br /&gt;
The main thing here is to &#039;&#039;get ADB running&#039;&#039;.  One way to do this is by installing the Android SDK on your computer.  Since wireless access at Noisebridge was overloaded with so many people using it at once, and since Miloh had the foresight to download the Android SDK for Windows, MacOS, and Linux, I downloaded the Windows version (yes, I use Windows) from Miloh’s account on Pony:&amp;lt;br&amp;gt;&lt;br /&gt;
http://developer.android.com/sdk/index.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;installer_r11-windows.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
But to be able to install the Android SDK, it is necessary to have the Java Development Kit running on your computer (the JRE alone is not sufficient). Download and install JDK on your computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u25-download-346242.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;jdk-6u25-windows-i586.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then double-click to install the Android SDK, BUT THERE IS A BUG in the installer: When it says that JDK is needed and it can’t be found, press BACK, and then press NEXT again, and it will proceed fine from there.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then I followed the instructions in this Android SDK guide on how to install the Android SDK on my computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=Howto:_Install_the_Android_SDK&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
As part of installing the Android SDK, when I connected my phone to my computer, after installing everything, the ADB driver was not installed correctly.  So, per the guide&#039;s instructions, I had to continue with further steps to update the ADB driver. This worked fine for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
(Back to the instructions for G2 Rooting.)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue to follow instructions to gain temporary root access on the phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Next we move on to gain permanent root access on the phone (with the added bonus of unlocking the phone!). Since the first gfree suggested (v0.04) gave me an error about failing to power cycle the eMMC, I had to use gfree v0.02. gfree v0.02 worked fine.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I did not flash the Engineering Hboot (stated as optional in the G2 Rooting instructions).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with intructions for Installing a Custom Recovery Image.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with instructions for Flashing a Radio.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Now continue with instructions for Flashing CyanogenMod:&amp;lt;br&amp;gt;&lt;br /&gt;
After downloading the ROM Manager free version, it turns out that I couldn’t download the Cyanogenmod nightlies, which are the latest versions (need paid version or ROM Manager to get latest versions -- ugh), so I used the &amp;quot;second method&amp;quot; in the instructions, and downloaded the latest nightly on my computer, then transferred to G2:&amp;lt;br&amp;gt;&lt;br /&gt;
http://download.cyanogenmod.com/?device=vision&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;cm_cision_full-98.zip&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Due to legal reasons, there are a bunch of free Google Android apps that are not allowed to come with CyanogenMod.  You can download these (including Android Market) and transfer them to the phone.  The package I downloaded and transferred to my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;CyanogenMod 7&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
NOTE:  When transferring files to the phone, it is fine to transfer zipped files.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Unhook the phone and then go back to instructions using Second Version.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Using ROM Manager, install cm_vision_full-98.zip&lt;br /&gt;
After reboot, it ignored instructions we gave it about backups, so when we get a screen full of orange text (Clockwork Flash Recovery), we did the following:&amp;lt;br&amp;gt;&lt;br /&gt;
- Backup and restore (to backup entire OS) (takes awhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe data/factory reset&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe cache partition&amp;lt;br&amp;gt;&lt;br /&gt;
- Advanced: Wipe dalvik cache  (not in instructions, but seemed worthwhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for cm_vision_full-98&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for Google apps (g_apps)&amp;lt;br&amp;gt;&lt;br /&gt;
- Reboot system&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If things falter at this point, I will have a bricked phone.  If things do go well, I should get the CyanogenMod logo animation boot screen.  What will happen? . . . &amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  --   Though it took a couple of minutes watching the static HTC screen, the CyanogenMod logo animation came up, and my phone works great!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Then I installed the Google ADK software on my G2.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Lilia compiled the ADK software for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pro tip: when compiling the demo app under Eclipse, your build target (Project Properties -&amp;gt; Android -&amp;gt; Project Build Target) should be &amp;quot;Google APIs&amp;quot; API 10, which can be installed from the ADK/AVD manager -&amp;gt; Available packages -&amp;gt; Third party Add-ons -&amp;gt; Google Inc. -&amp;gt; Google APIs by Google Inc., Android API 10. This is NOT the same as the Android SDK 2.3.3 API 10.  --lilia&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When I connected the ADK hardware to my phone (via the USB cable), a screen appeared on my phone asking me if I want to connect.&amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  I can now control the ADK hardware with my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
- Light up the three RGB LEDs any color I like.&amp;lt;br&amp;gt;&lt;br /&gt;
- Power the three servo motors.&amp;lt;br&amp;gt;&lt;br /&gt;
- Turn the two relays on and off.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the temperature sensor.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the joystick position.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I can&#039;t wait to play with this more!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Additional info: There is a visually-oriented programming language for easily creating your own Android apps called App Inventor.  Here is a fun intro to it:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://appinventor.googlelabs.com/about/ http://appinventor.googlelabs.com/about/]&amp;lt;br&amp;gt;&lt;br /&gt;
I haven&#039;t used it, but I will...&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[User:Malman23|Mitch]].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
---------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Here is the original announcement:&amp;lt;br&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A couple of weeks ago Google announced Android interconnectivity with Arduino, paving the way for a cheap, easy-to-use hardware development platform.  Google then created the ADK (Android Development Kit, based on Arduino), which is not cheap -- but they gave a bunch away for free at the Maker Faire last weekend.&amp;lt;br&amp;gt; &lt;br /&gt;
[http://developer.android.com/guide/topics/usb/adk.html info on Android website]&amp;lt;br&amp;gt;&lt;br /&gt;
and&amp;lt;br&amp;gt;&lt;br /&gt;
[http://arduino.cc/blog/2011/05/10/google-launches-android-open-accessory-development-kit-based-on-arduino/ info on Aruino&#039;s website]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Since many of us are relatively clueless on how to hack Android phones or how to connect them to Arduino to do cool things, a bunch of us are getting together next Sunday to put our collective heads together and make Arduino work on our Android phones.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
It is likely that a Google employee and Android developer will be joining us to help out.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;When&#039;&#039;&#039;: Sunday, 5-June-2011, 3pm&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Where&#039;&#039;&#039;: Noisebridge 2169 Mission St., 3rd floor&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;What&#039;&#039;&#039;: get our Android phones to play with Arduino (including the Google ADK)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Who&#039;&#039;&#039;: anyone (regardless of skill level) who cares to join in the fun&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Owen</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21357</id>
		<title>AndroidArduinoMeetup</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21357"/>
		<updated>2011-11-03T05:15:40Z</updated>

		<summary type="html">&lt;p&gt;Owen: /* Documentation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Intro ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On June 5th, 2011, an enthusiastic group of more than 40 people gathered here at NoiseBridge for a new Android-Arduino Meetup. Pooling our collective technical know-how , we successfully managed to make our Android phones communicate with Arduino hardware.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;And&#039;&#039; our meetup was written up on the MAKE Magazine blog!:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://blog.makezine.com/archive/2011/06/using-the-android-open-accessory-api-without-a-nexus.html Using the Android Open Accessory API without a Nexus]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Google recently (and officially) added Arduino support to new versions of the Android OS so that hardware development on Android phones is easy.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Arduino hardware that will work with Android phones includes:&amp;lt;br&amp;gt;&lt;br /&gt;
- the Google ADK (Android Development Kit)&amp;lt;br&amp;gt;&lt;br /&gt;
- a standard Arduino&amp;lt;br&amp;gt;&lt;br /&gt;
- any Arduino clone with a USB Host shield&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:ADKphoto.jpg|thumb|right|G2 phone controlling Google&#039;s ADK hardware, including two motors]]&lt;br /&gt;
First, since Arduino support is &#039;&#039;only available on new versions&#039;&#039; of the Android OS, a lot of people, myself included, needed to &#039;&#039;&#039;root&#039;&#039;&#039; their phones to get a new version of Android OS on them.  We met at one side of the room, where [[User:Rubin110|Rubin]] gave an overview of the process of rooting an Android phone, followed by a hands-on workshop.  I had my phone rooted, installed the latest Android OS (CyanogenMod), and then got my phone to control the Google ADK hardware!  I document my procedure below so others may benefit from my experience.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Note: By constrast, a number of other people at the meetup already had phones with versions of the Android OS compatible with Arduino hardware.  These people gathered at the electronics lab area and had their phones connected with Google ADK, standard Arduinos, and other Arduino clones (with USB Host shield).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
My phone is a new, eight-day-old T-Mobile G2 phone (also known as &#039;&#039;HTC Vision&#039;&#039;). It came with a version of Android OS (v2.2) that does not support Arduino hardware (need v2.3.4 or later). So, with the help of [[User:Rubin110|Rubin]] and others, I rooted my phone, and installed the latest version of Cyanogenmod (a fork of the official Android OS).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I document the steps I took so that others will have an easier time of it. Your process will probably be similar even if you have a different type of Android phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This entire process took me 3 hours, but it will take you less time if you have a more recent version of Android as explained above.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The procedure is mostly given at:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting T-Mobile G2 Rooting]&amp;lt;br&amp;gt;&lt;br /&gt;
I will not reproduce everything here, but I&#039;ll provide a few notes that are very helpful to know.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Here are some other additional, useful resources:&amp;lt;br&amp;gt;&lt;br /&gt;
wiki.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
forms.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
xda-developers.com&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #cyanogenmod&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #noisebridge&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Steps I took to get Cyanogen on my G2:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Basically, follow the instructions here:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting&amp;lt;br&amp;gt;&lt;br /&gt;
Again, I am mostly just giving helpful notes below, not reproducing the entire procedure.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;The first step is to backup you phone.&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The next step is to get temporary root access.&amp;lt;br&amp;gt;&lt;br /&gt;
The main thing here is to &#039;&#039;get ADB running&#039;&#039;.  One way to do this is by installing the Android SDK on your computer.  Since wireless access at Noisebridge was overloaded with so many people using it at once, and since Miloh had the foresight to download the Android SDK for Windows, MacOS, and Linux, I downloaded the Windows version (yes, I use Windows) from Miloh’s account on Pony:&amp;lt;br&amp;gt;&lt;br /&gt;
http://developer.android.com/sdk/index.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;installer_r11-windows.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
But to be able to install the Android SDK, it is necessary to have the Java Development Kit running on your computer (the JRE alone is not sufficient). Download and install JDK on your computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u25-download-346242.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;jdk-6u25-windows-i586.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then double-click to install the Android SDK, BUT THERE IS A BUG in the installer: When it says that JDK is needed and it can’t be found, press BACK, and then press NEXT again, and it will proceed fine from there.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then I followed the instructions in this Android SDK guide on how to install the Android SDK on my computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=Howto:_Install_the_Android_SDK&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
As part of installing the Android SDK, when I connected my phone to my computer, after installing everything, the ADB driver was not installed correctly.  So, per the guide&#039;s instructions, I had to continue with further steps to update the ADB driver. This worked fine for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
(Back to the instructions for G2 Rooting.)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue to follow instructions to gain temporary root access on the phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Next we move on to gain permanent root access on the phone (with the added bonus of unlocking the phone!). Since the first gfree suggested (v0.04) gave me an error about failing to power cycle the eMMC, I had to use gfree v0.02. gfree v0.02 worked fine.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I did not flash the Engineering Hboot (stated as optional in the G2 Rooting instructions).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with intructions for Installing a Custom Recovery Image.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with instructions for Flashing a Radio.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Now continue with instructions for Flashing CyanogenMod:&amp;lt;br&amp;gt;&lt;br /&gt;
After downloading the ROM Manager free version, it turns out that I couldn’t download the Cyanogenmod nightlies, which are the latest versions (need paid version or ROM Manager to get latest versions -- ugh), so I used the &amp;quot;second method&amp;quot; in the instructions, and downloaded the latest nightly on my computer, then transferred to G2:&amp;lt;br&amp;gt;&lt;br /&gt;
http://download.cyanogenmod.com/?device=vision&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;cm_cision_full-98.zip&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Due to legal reasons, there are a bunch of free Google Android apps that are not allowed to come with CyanogenMod.  You can download these (including Android Market) and transfer them to the phone.  The package I downloaded and transferred to my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;CyanogenMod 7&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
NOTE:  When transferring files to the phone, it is fine to transfer zipped files.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Unhook the phone and then go back to instructions using Second Version.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Using ROM Manager, install cm_vision_full-98.zip&lt;br /&gt;
After reboot, it ignored instructions we gave it about backups, so when we get a screen full of orange text (Clockwork Flash Recovery), we did the following:&amp;lt;br&amp;gt;&lt;br /&gt;
- Backup and restore (to backup entire OS) (takes awhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe data/factory reset&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe cache partition&amp;lt;br&amp;gt;&lt;br /&gt;
- Advanced: Wipe dalvik cache  (not in instructions, but seemed worthwhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for cm_vision_full-98&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for Google apps (g_apps)&amp;lt;br&amp;gt;&lt;br /&gt;
- Reboot system&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If things falter at this point, I will have a bricked phone.  If things do go well, I should get the CyanogenMod logo animation boot screen.  What will happen? . . . &amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  --   Though it took a couple of minutes watching the static HTC screen, the CyanogenMod logo animation came up, and my phone works great!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Then I installed the Google ADK software on my G2.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Lilia compiled the ADK software for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pro tip: when compiling the demo app under Eclipse, your build target (Project Properties -&amp;gt; Android -&amp;gt; Project Build Target) should be &amp;quot;Google APIs&amp;quot; API 10, which can be installed from the ADK/AVD manager -&amp;gt; Available packages -&amp;gt; Third party Add-ons -&amp;gt; Google Inc. -&amp;gt; Google APIs by Google Inc., Android API 10. This is NOT the same as the Android SDK 2.3.3 API 10.  --lilia&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When I connected the ADK hardware to my phone (via the USB cable), a screen appeared on my phone asking me if I want to connect.&amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  I can now control the ADK hardware with my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
- Light up the three RGB LEDs any color I like.&amp;lt;br&amp;gt;&lt;br /&gt;
- Power the three servo motors.&amp;lt;br&amp;gt;&lt;br /&gt;
- Turn the two relays on and off.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the temperature sensor.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the joystick position.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I can&#039;t wait to play with this more!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Additional info: There is a visually-oriented programming language for easily creating your own Android apps called App Inventor.  Here is a fun intro to it:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://appinventor.googlelabs.com/about/ http://appinventor.googlelabs.com/about/]&amp;lt;br&amp;gt;&lt;br /&gt;
I haven&#039;t used it, but I will...&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[User:Malman23|Mitch]].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
---------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Here is the original announcement:&amp;lt;br&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A couple of weeks ago Google announced Android interconnectivity with Arduino, paving the way for a cheap, easy-to-use hardware development platform.  Google then created the ADK (Android Development Kit, based on Arduino), which is not cheap -- but they gave a bunch away for free at the Maker Faire last weekend.&amp;lt;br&amp;gt; &lt;br /&gt;
[http://developer.android.com/guide/topics/usb/adk.html info on Android website]&amp;lt;br&amp;gt;&lt;br /&gt;
and&amp;lt;br&amp;gt;&lt;br /&gt;
[http://arduino.cc/blog/2011/05/10/google-launches-android-open-accessory-development-kit-based-on-arduino/ info on Aruino&#039;s website]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Since many of us are relatively clueless on how to hack Android phones or how to connect them to Arduino to do cool things, a bunch of us are getting together next Sunday to put our collective heads together and make Arduino work on our Android phones.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
It is likely that a Google employee and Android developer will be joining us to help out.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;When&#039;&#039;&#039;: Sunday, 5-June-2011, 3pm&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Where&#039;&#039;&#039;: Noisebridge 2169 Mission St., 3rd floor&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;What&#039;&#039;&#039;: get our Android phones to play with Arduino (including the Google ADK)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Who&#039;&#039;&#039;: anyone (regardless of skill level) who cares to join in the fun&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Owen</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21356</id>
		<title>AndroidArduinoMeetup</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21356"/>
		<updated>2011-11-03T05:12:55Z</updated>

		<summary type="html">&lt;p&gt;Owen: /* Documentation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Intro ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On June 5th, 2011, an enthusiastic group of more than 40 people gathered here at NoiseBridge for a new Android-Arduino Meetup. Pooling our collective technical know-how , we successfully managed to make our Android phones communicate with Arduino hardware.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;And&#039;&#039; our meetup was written up on the MAKE Magazine blog!:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://blog.makezine.com/archive/2011/06/using-the-android-open-accessory-api-without-a-nexus.html Using the Android Open Accessory API without a Nexus]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Google recently (and officially) added Arduino support to new versions of the Android OS so that hardware development on Android phones is easy.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Arduino hardware that will work with Android phones includes:&amp;lt;br&amp;gt;&lt;br /&gt;
- the Google ADK (Android Development Kit)&amp;lt;br&amp;gt;&lt;br /&gt;
- a standard Arduino&amp;lt;br&amp;gt;&lt;br /&gt;
- any Arduino clone with a USB Host shield&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:ADKphoto.jpg|thumb|right|G2 phone controlling Google&#039;s ADK hardware, including two motors]]&lt;br /&gt;
First, since Arduino support is &#039;&#039;only available on new versions&#039;&#039; of the Android OS, a lot of people, myself included, needed to &#039;&#039;&#039;root&#039;&#039;&#039; their phones to get a new version of Android OS on them.  We met at one side of the room, where [[User:Rubin110|Rubin]] gave an overview of the process of rooting an Android phone, followed by a hands-on workshop.  I had my phone rooted, installed the latest Android OS (CyanogenMod), and then got my phone to control the Google ADK hardware!  I document my procedure below so others may benefit from my experience.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Note: By constrast, a number of other people at the meetup already had phones with versions of the Android OS compatible with Arduino hardware.  These people gathered at the electronics lab area and had their phones connected with Google ADK, standard Arduinos, and other Arduino clones (with USB Host shield).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
My phone is a new, eight-day-old T-Mobile G2 phone (also known as &#039;&#039;HTC Vision&#039;&#039;). It came with a version of Android OS (v2.2) that does not support Arduino hardware (need v2.3.4 or later). So, with the help of [[User:Rubin110|Rubin]] and others, I rooted my phone, and installed the latest version of Cyanogenmod (a fork of the official Android OS).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I document the steps I took so that others will have an easier time of it. Your process will probably be similar even if you have a different type of Android phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This entire process took me 3 hours, but it will take you less time if you have a more recent version of Android as explained above.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The procedure is mostly given at:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting T-Mobile G2 Rooting]&amp;lt;br&amp;gt;&lt;br /&gt;
I will not reproduce everything here, but I&#039;ll provide a few notes that are very helpful to know.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Here are some other additional, useful resources:&amp;lt;br&amp;gt;&lt;br /&gt;
wiki.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
forms.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
xda-developers.com&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #cyanogenmod&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #noisebridge&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Steps I took to get Cyanogen on my G2:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Basically, follow the instructions here:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting&amp;lt;br&amp;gt;&lt;br /&gt;
Again, I am mostly just giving helpful notes below, not reproducing the entire procedure.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;The first step is to backup you phone.&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The next step is to get temporary root access.&amp;lt;br&amp;gt;&lt;br /&gt;
The main thing here is to &#039;&#039;get ADB running&#039;&#039;.  One way to do this is by installing the Android SDK on your computer.  Since wireless access at Noisebridge was overloaded with so many people using it at once, and since Miloh had the foresight to download the Android SDK for Windows, MacOS, and Linux, I downloaded the Windows version (yes, I use Windows) from Miloh’s account on Pony:&amp;lt;br&amp;gt;&lt;br /&gt;
http://developer.android.com/sdk/index.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;installer_r11-windows.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
But to be able to install the Android SDK, it is necessary to have the Java Development Kit running on your computer (the JRE alone is not sufficient). Download and install JDK on your computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u25-download-346242.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;jdk-6u25-windows-i586.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then double-click to install the Android SDK, BUT THERE IS A BUG in the installer: When it says that JDK is needed and it can’t be found, press BACK, and then press NEXT again, and it will proceed fine from there.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then I followed the instructions in this Android SDK guide on how to install the Android SDK on my computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=Howto:_Install_the_Android_SDK&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
As part of installing the Android SDK, when I connected my phone to my computer, after installing everything, the ADB driver was not installed correctly.  So, per the guide&#039;s instructions, I had to continue with further steps to update the ADB driver. This worked fine for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
(Back to the instructions for G2 Rooting.)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue to follow instructions to gain temporary root access on the phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Next we move on to gain permanent root access on the phone (with the added bonus of unlocking the phone!). Since the first gfree suggested (v0.04) gave me an error about failing to power cycle the eMMC, I had to use gfree v0.02. gfree v0.02 worked fine.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I did not flash the Engineering Hboot (stated as optional in the G2 Rooting instructions).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with intructions for Installing a Custom Recovery Image.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with instructions for Flashing a Radio.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Now continue with instructions for Flashing CyanogenMod:&amp;lt;br&amp;gt;&lt;br /&gt;
After downloading the ROM Manager free version, it turns out that I couldn’t download the Cyanogenmod nightlies, which are the latest versions (need paid version or ROM Manager to get latest versions -- ugh), so I used the &amp;quot;second method&amp;quot; in the instructions, and downloaded the latest nightly on my computer, then transferred to G2:&amp;lt;br&amp;gt;&lt;br /&gt;
http://download.cyanogenmod.com/?device=vision&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;cm_cision_full-98.zip&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Due to legal reasons, there are a bunch of free Google Android apps that are not allowed to come with CyanogenMod.  You can download these (including Android Market) and transfer them to the phone.  The package I downloaded and transferred to my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;CyanogenMod 7&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
NOTE:  When transferring files to the phone, it is fine to transfer zipped files.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Unhook the phone and then go back to instructions using Second Version.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Using ROM Manager, install cm_vision_full-98.zip&lt;br /&gt;
After reboot, it ignored instructions we gave it about backups, so when we get a screen full of orange text (Clockwork Flash Recovery), we did the following:&amp;lt;br&amp;gt;&lt;br /&gt;
- Backup and restore (to backup entire OS) (takes awhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe data/factory reset&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe cache partition&amp;lt;br&amp;gt;&lt;br /&gt;
- Advanced: Wipe dalvik cache  (not in instructions, but seemed worthwhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for cm_vision_full-98&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for Google apps (g_apps)&amp;lt;br&amp;gt;&lt;br /&gt;
- Reboot system&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If things falter at this point, I will have a bricked phone.  If things do go well, I should get the CyanogenMod logo animation boot screen.  What will happen? . . . &amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  --   Though it took a couple of minutes watching the static HTC screen, the CyanogenMod logo animation came up, and my phone works great!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Then I installed the Google ADK software on my G2.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Lilia compiled the ADK software for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pro tip: when compiling the demo app under Eclipse, your build target (Project Properties -&amp;gt; Android -&amp;gt; Project Build Target) should be &amp;quot;Google APIs&amp;quot; API 10, which can be installed from the ADK/AVD manager -&amp;gt; Available packages -&amp;gt; Third party Add-ons -&amp;gt; Google Inc. -&amp;gt; Google APIs by Google Inc., Android API 10. This is NOT the same as the Android SDK 2.3.3 API 10.  --lilia&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When I connected the ADK hardware to my phone (via the USB cable), a screen appeared on my phone asking me if I want to connect.&amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  I can now control the ADK hardware with my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
- Light up the three RGB LEDs any color I like.&amp;lt;br&amp;gt;&lt;br /&gt;
- Power the three servo motors.&amp;lt;br&amp;gt;&lt;br /&gt;
- Turn the two relays on and off.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the temperature sensor.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the joystick position.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I can&#039;t wait to play with this more!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Additional info: There is a visually-oriented programming language for easily creating your own Android apps called App Inventor.  Here is a fun intro to it:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://appinventor.googlelabs.com/about/ http://appinventor.googlelabs.com/about/]&amp;lt;br&amp;gt;&lt;br /&gt;
I haven&#039;t used it, but I will...&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[User:Malman23|Mitch]].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
---------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Here is the original announcement:&amp;lt;br&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A couple of weeks ago Google announced Android interconnectivity with Arduino, paving the way for a cheap, easy-to-use hardware development platform.  Google then created the ADK (Android Development Kit, based on Arduino), which is not cheap -- but they gave a bunch away for free at the Maker Faire last weekend.&amp;lt;br&amp;gt; &lt;br /&gt;
[http://developer.android.com/guide/topics/usb/adk.html info on Android website]&amp;lt;br&amp;gt;&lt;br /&gt;
and&amp;lt;br&amp;gt;&lt;br /&gt;
[http://arduino.cc/blog/2011/05/10/google-launches-android-open-accessory-development-kit-based-on-arduino/ info on Aruino&#039;s website]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Since many of us are relatively clueless on how to hack Android phones, or how to connect them to Arduino to do cool things, a bunch of us are getting together next Sunday to put our collective heads together to see how to make Arduino work on our Android phones.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
It is likely that a Google employee and Android developer will be joining us to help out.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;When&#039;&#039;&#039;: Sunday, 5-June-2011, 3pm&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Where&#039;&#039;&#039;: Noisebridge 2169 Mission St., 3rd floor&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;What&#039;&#039;&#039;: get our Android phones to play with Arduino (including the Google ADK)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Who&#039;&#039;&#039;: anyone (regardless of skill level) who cares to join in the fun&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Owen</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21355</id>
		<title>AndroidArduinoMeetup</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21355"/>
		<updated>2011-11-03T05:10:08Z</updated>

		<summary type="html">&lt;p&gt;Owen: /* Documentation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Intro ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On June 5th, 2011, an enthusiastic group of more than 40 people gathered here at NoiseBridge for a new Android-Arduino Meetup. Pooling our collective technical know-how , we successfully managed to make our Android phones communicate with Arduino hardware.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;And&#039;&#039; our meetup was written up on the MAKE Magazine blog!:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://blog.makezine.com/archive/2011/06/using-the-android-open-accessory-api-without-a-nexus.html Using the Android Open Accessory API without a Nexus]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Google recently (and officially) added Arduino support to new versions of the Android OS so that hardware development on Android phones is easy.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Arduino hardware that will work with Android phones includes:&amp;lt;br&amp;gt;&lt;br /&gt;
- the Google ADK (Android Development Kit)&amp;lt;br&amp;gt;&lt;br /&gt;
- a standard Arduino&amp;lt;br&amp;gt;&lt;br /&gt;
- any Arduino clone with a USB Host shield&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:ADKphoto.jpg|thumb|right|G2 phone controlling Google&#039;s ADK hardware, including two motors]]&lt;br /&gt;
First, since Arduino support is &#039;&#039;only available on new versions&#039;&#039; of the Android OS, a lot of people, myself included, needed to &#039;&#039;&#039;root&#039;&#039;&#039; their phones to get a new version of Android OS on them.  We met at one side of the room, where [[User:Rubin110|Rubin]] gave an overview of the process of rooting an Android phone, followed by a hands-on workshop.  I had my phone rooted, installed the latest Android OS (CyanogenMod), and then got my phone to control the Google ADK hardware!  I document my procedure below so others may benefit from my experience.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Note: By constrast, a number of other people at the meetup already had phones with versions of the Android OS compatible with Arduino hardware.  These people gathered at the electronics lab area and had their phones connected with Google ADK, standard Arduinos, and other Arduino clones (with USB Host shield).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
My phone is a new, eight-day-old T-Mobile G2 phone (also known as &#039;&#039;HTC Vision&#039;&#039;). It came with a version of Android OS (v2.2) that does not support Arduino hardware (need v2.3.4 or later). So, with the help of [[User:Rubin110|Rubin]] and others, I rooted my phone, and installed the latest version of Cyanogenmod (a fork of the official Android OS).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I document the steps I took so that others will have an easier time of it. Your process will probably be similar even if you have a different type of Android phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This entire process took me 3 hours, but it will take you less time if you have a more recent version of Android as explained above.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The procedure is mostly given at:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting T-Mobile G2 Rooting]&amp;lt;br&amp;gt;&lt;br /&gt;
I will not reproduce everything here, but I&#039;ll provide a few notes that are very helpful to know.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Here are some other additional, useful resources:&amp;lt;br&amp;gt;&lt;br /&gt;
wiki.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
forms.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
xda-developers.com&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #cyanogenmod&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #noisebridge&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Steps I took to get Cyanogen on my G2:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Basically, follow the instructions here:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting&amp;lt;br&amp;gt;&lt;br /&gt;
Again, I am mostly just giving helpful notes below, not reproducing the entire procedure.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;The first step is to backup you phone.&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The next step is to get temporary root access.&amp;lt;br&amp;gt;&lt;br /&gt;
The main thing here is to &#039;&#039;get ADB running&#039;&#039;.  One way to do this is by installing the Android SDK on your computer.  Since wireless access at Noisebridge was overloaded with so many people using it at once, and since Miloh had the foresight to download the Android SDK for Windows, MacOS, and Linux, I downloaded the Windows version (yes, I use Windows) from Miloh’s account on Pony:&amp;lt;br&amp;gt;&lt;br /&gt;
http://developer.android.com/sdk/index.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;installer_r11-windows.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
But to be able to install the Android SDK, it is necessary to have the Java Development Kit running on your computer (the JRE alone is not sufficient). Download and install JDK on your computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u25-download-346242.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;jdk-6u25-windows-i586.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then double-click to install the Android SDK, BUT THERE IS A BUG in the installer: When it says that JDK is needed and it can’t be found, press BACK, and then press NEXT again, and it will proceed fine from there.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then I followed the instructions in this Android SDK guide on how to install the Android SDK on my computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=Howto:_Install_the_Android_SDK&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
As part of installing the Android SDK, when I connected my phone to my computer, after installing everything, the ADB driver was not installed correctly.  So, per the guide&#039;s instructions, I had to continue with further steps to update the ADB driver. This worked fine for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
(Back to the instructions for G2 Rooting.)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue to follow instructions to gain temporary root access on the phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Next we move on to gain permanent root access on the phone (with the added bonus of unlocking the phone!). Since the first gfree suggested (v0.04) gave me an error about failing to power cycle the eMMC, I had to use gfree v0.02. gfree v0.02 worked fine.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I did not flash the Engineering Hboot (stated as optional in the G2 Rooting instructions).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with intructions for Installing a Custom Recovery Image.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with instructions for Flashing a Radio.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Now continue with instructions for Flashing CyanogenMod:&amp;lt;br&amp;gt;&lt;br /&gt;
After downloading the ROM Manager free version, it turns out that I couldn’t download the Cyanogenmod nightlies, which are the latest versions (need paid version or ROM Manager to get latest versions -- ugh), so I used the &amp;quot;second method&amp;quot; in the instructions, and downloaded the latest nightly on my computer, then transferred to G2:&amp;lt;br&amp;gt;&lt;br /&gt;
http://download.cyanogenmod.com/?device=vision&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;cm_cision_full-98.zip&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Due to legal reasons, there are a bunch of free Google Android apps that are not allowed to come with CyanogenMod.  You can download these (including Android Market) and transfer them to the phone.  The package I downloaded and transferred to my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;CyanogenMod 7&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
NOTE:  When transferring files to the phone, it is fine to transfer zipped files.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Unhook the phone and then go back to instructions using Second Version.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Using ROM Manager, install cm_vision_full-98.zip&lt;br /&gt;
After reboot, it ignored instructions we gave it about backups, so when we get a screen full of orange text (Clockwork Flash Recovery), we did the following:&amp;lt;br&amp;gt;&lt;br /&gt;
- Backup and restore (to backup entire OS) (takes awhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe data/factory reset&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe cache partition&amp;lt;br&amp;gt;&lt;br /&gt;
- Advanced: Wipe dalvik cache  (not in instructions, but seemed worthwhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for cm_vision_full-98&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for Google apps (g_apps)&amp;lt;br&amp;gt;&lt;br /&gt;
- Reboot system&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If things falter at this point, I will have a bricked phone.  If things do go well, I should get the CyanogenMod logo animation boot screen.  What will happen? . . . &amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  --   Though it took a couple of minutes watching the static HTC screen, the CyanogenMod logo animation came up, and my phone works great!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Then I installed the Google ADK software on my G2.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Lilia compiled the ADK software for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pro tip: when compiling the demo app under Eclipse, your build target (Project Properties -&amp;gt; Android -&amp;gt; Project Build Target) should be &amp;quot;Google APIs&amp;quot; API 10, which can be installed from the ADK/AVD manager -&amp;gt; Available packages -&amp;gt; Third party Add-ons -&amp;gt; Google Inc. -&amp;gt; Google APIs by Google Inc., Android API 10. This is NOT the same as the Android SDK 2.3.3 API 10.  --lilia&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When I connected the ADK hardware to my phone (via the USB cable), a screen appeared on my phone asking me if I want to connect.&amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  I can now control the ADK hardware with my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
- Light up the three RGB LEDs any color I like.&amp;lt;br&amp;gt;&lt;br /&gt;
- Move the three servo motors.&amp;lt;br&amp;gt;&lt;br /&gt;
- Turn the two relays on and off.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the temperature sensor.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the joystick position.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I can&#039;t wait to play with this more!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Additional info: There is a visually-oriented programming language for easily creating your own Android apps called App Inventor.  Here is a fun intro to it:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://appinventor.googlelabs.com/about/ http://appinventor.googlelabs.com/about/]&amp;lt;br&amp;gt;&lt;br /&gt;
I haven&#039;t used it, but I will...&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[User:Malman23|Mitch]].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
---------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Here is the original announcement:&amp;lt;br&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A couple of weeks ago Google announced Android interconnectivity with Arduino, paving the way for a cheap, easy-to-use hardware development platform.  Google then created the ADK (Android Development Kit, based on Arduino), which is not cheap -- but they gave a bunch away for free at the Maker Faire last weekend.&amp;lt;br&amp;gt; &lt;br /&gt;
[http://developer.android.com/guide/topics/usb/adk.html info on Android website]&amp;lt;br&amp;gt;&lt;br /&gt;
and&amp;lt;br&amp;gt;&lt;br /&gt;
[http://arduino.cc/blog/2011/05/10/google-launches-android-open-accessory-development-kit-based-on-arduino/ info on Aruino&#039;s website]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Since many of us are relatively clueless on how to hack Android phones, or how to connect them to Arduino to do cool things, a bunch of us are getting together next Sunday to put our collective heads together to see how to make Arduino work on our Android phones.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
It is likely that a Google employee and Android developer will be joining us to help out.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;When&#039;&#039;&#039;: Sunday, 5-June-2011, 3pm&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Where&#039;&#039;&#039;: Noisebridge 2169 Mission St., 3rd floor&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;What&#039;&#039;&#039;: get our Android phones to play with Arduino (including the Google ADK)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Who&#039;&#039;&#039;: anyone (regardless of skill level) who cares to join in the fun&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Owen</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21354</id>
		<title>AndroidArduinoMeetup</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21354"/>
		<updated>2011-11-03T05:07:51Z</updated>

		<summary type="html">&lt;p&gt;Owen: /* Documentation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Intro ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On June 5th, 2011, an enthusiastic group of more than 40 people gathered here at NoiseBridge for a new Android-Arduino Meetup. Pooling our collective technical know-how , we successfully managed to make our Android phones communicate with Arduino hardware.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;And&#039;&#039; our meetup was written up on the MAKE Magazine blog!:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://blog.makezine.com/archive/2011/06/using-the-android-open-accessory-api-without-a-nexus.html Using the Android Open Accessory API without a Nexus]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Google recently (and officially) added Arduino support to new versions of the Android OS so that hardware development on Android phones is easy.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Arduino hardware that will work with Android phones includes:&amp;lt;br&amp;gt;&lt;br /&gt;
- the Google ADK (Android Development Kit)&amp;lt;br&amp;gt;&lt;br /&gt;
- a standard Arduino&amp;lt;br&amp;gt;&lt;br /&gt;
- any Arduino clone with a USB Host shield&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:ADKphoto.jpg|thumb|right|G2 phone controlling Google&#039;s ADK hardware, including two motors]]&lt;br /&gt;
First, since Arduino support is &#039;&#039;only available on new versions&#039;&#039; of the Android OS, a lot of people, myself included, needed to &#039;&#039;&#039;root&#039;&#039;&#039; their phones to get a new version of Android OS on them.  We met at one side of the room, where [[User:Rubin110|Rubin]] gave an overview of the process of rooting an Android phone, followed by a hands-on workshop.  I had my phone rooted, installed the latest Android OS (CyanogenMod), and then got my phone to control the Google ADK hardware!  I document my procedure below so others may benefit from my experience.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Note: By constrast, a number of other people at the meetup already had phones with versions of the Android OS compatible with Arduino hardware.  These people gathered at the electronics lab area and had their phones connected with Google ADK, standard Arduinos, and other Arduino clones (with USB Host shield).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
My phone is a new, eight-day-old T-Mobile G2 phone (also known as &#039;&#039;HTC Vision&#039;&#039;). It came with a version of Android OS (v2.2) that does not support Arduino hardware (need v2.3.4 or later). So, with the help of [[User:Rubin110|Rubin]] and others, I rooted my phone, and installed the latest version of Cyanogenmod (a fork of the official Android OS).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I document the steps I took so that others will have an easier time of it. Your process will probably be similar even if you have a different type of Android phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This entire process took me 3 hours, but it will take you less time if you have a more recent version of Android as explained above.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The procedure is mostly given at:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting T-Mobile G2 Rooting]&amp;lt;br&amp;gt;&lt;br /&gt;
I will not reproduce everything here, but I&#039;ll provide a few notes that are very helpful to know.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Here are some other additional, useful resources:&amp;lt;br&amp;gt;&lt;br /&gt;
wiki.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
forms.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
xda-developers.com&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #cyanogenmod&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #noisebridge&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Steps I took to get Cyanogen on my G2:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Basically, follow the instructions here:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting&amp;lt;br&amp;gt;&lt;br /&gt;
Again, I am mostly just giving helpful notes below, not reproducing the entire procedure.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;The first step is to backup you phone.&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The next step is to get temporary root access.&amp;lt;br&amp;gt;&lt;br /&gt;
The main thing here is to &#039;&#039;get ADB running&#039;&#039;.  One way to do this is by installing the Android SDK on your computer.  Since wireless access at Noisebridge was overloaded with so many people using it at once, and since Miloh had the foresight to download the Android SDK for Windows, MacOS, and Linux, I downloaded the Windows version (yes, I use Windows) from Miloh’s account on Pony:&amp;lt;br&amp;gt;&lt;br /&gt;
http://developer.android.com/sdk/index.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;installer_r11-windows.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
But to be able to install the Android SDK, it is necessary to have the Java Development Kit running on your computer (the JRE alone is not sufficient). Download and install JDK on your computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u25-download-346242.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;jdk-6u25-windows-i586.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then double-click to install the Android SDK, BUT THERE IS A BUG in the installer: When it says that JDK is needed and it can’t be found, press BACK, and then press NEXT again, and it will proceed fine from there.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then I followed the instructions in this Android SDK guide on how to install the Android SDK on my computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=Howto:_Install_the_Android_SDK&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
As part of installing the Android SDK, when I connected my phone to my computer, after installing everything, the ADB driver was not installed correctly.  So, per the guide&#039;s instructions, I had to continue with further steps to update the ADB driver. This worked fine for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
(Back to the instructions for G2 Rooting.)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue to follow instructions to gain temporary root access on the phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Next we move on to gain permanent root access on the phone (with the added bonus of unlocking the phone!). Since the first gfree suggested (v0.04) gave me an error about failing to power cycle the eMMC, I had to use gfree v0.02. gfree v0.02 worked fine.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I did not flash the Engineering Hboot (stated as optional in the G2 Rooting instructions).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with intructions for Installing a Custom Recovery Image.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with instructions for Flashing a Radio.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Now continue with instructions for Flashing CyanogenMod:&amp;lt;br&amp;gt;&lt;br /&gt;
After downloading the ROM Manager free version, it turns out that I couldn’t download the Cyanogenmod nightlies, which are the latest versions (need paid version or ROM Manager to get latest versions -- ugh), so I used the &amp;quot;second method&amp;quot; in the instructions, and downloaded the latest nightly on my computer, then transferred to G2:&amp;lt;br&amp;gt;&lt;br /&gt;
http://download.cyanogenmod.com/?device=vision&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;cm_cision_full-98.zip&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Due to of legal reasons, there are a bunch of free Google Android apps that are not allowed to come with CyanogenMod.  You can download these (including Android Market) and transfer them to the phone.  The package I downloaded and transferred to my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;CyanogenMod 7&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
NOTE:  When transferring files to the phone, it is fine to transfer zipped files.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Unhook the phone and then go back to instructions using Second Version.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Using ROM Manager, install cm_vision_full-98.zip&lt;br /&gt;
After reboot, it ignored instructions we gave it about backups, so when we get a screen full of orange text (Clockwork Flash Recovery), we did the following:&amp;lt;br&amp;gt;&lt;br /&gt;
- Backup and restore (to backup entire OS) (takes awhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe data/factory reset&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe cache partition&amp;lt;br&amp;gt;&lt;br /&gt;
- Advanced: Wipe dalvik cache  (not in instructions, but seemed worthwhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for cm_vision_full-98&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for Google apps (g_apps)&amp;lt;br&amp;gt;&lt;br /&gt;
- Reboot system&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If things falter at this point, I will have a bricked phone.  If things do go well, I should get the CyanogenMod logo animation boot screen.  What will happen? . . . &amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  --   Though it took a couple of minutes watching the static HTC screen, the CyanogenMod logo animation came up, and my phone works great!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Then I installed the Google ADK software on my G2.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Lilia compiled the ADK software for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pro tip: when compiling the demo app under Eclipse, your build target (Project Properties -&amp;gt; Android -&amp;gt; Project Build Target) should be &amp;quot;Google APIs&amp;quot; API 10, which can be installed from the ADK/AVD manager -&amp;gt; Available packages -&amp;gt; Third party Add-ons -&amp;gt; Google Inc. -&amp;gt; Google APIs by Google Inc., Android API 10. This is NOT the same as the Android SDK 2.3.3 API 10.  --lilia&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When I connected the ADK hardware to my phone (via the USB cable), a screen appeared on my phone asking me if I want to connect.&amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  I can now control the ADK hardware with my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
- Light up the three RGB LEDs any color I like.&amp;lt;br&amp;gt;&lt;br /&gt;
- Move the three servo motors.&amp;lt;br&amp;gt;&lt;br /&gt;
- Turn the two relays on and off.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the temperature sensor.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the joystick position.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I can&#039;t wait to play with this more!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Additional info: There is a visually-oriented programming language for easily creating your own Android apps called App Inventor.  Here is a fun intro to it:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://appinventor.googlelabs.com/about/ http://appinventor.googlelabs.com/about/]&amp;lt;br&amp;gt;&lt;br /&gt;
I haven&#039;t used it, but I will...&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[User:Malman23|Mitch]].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
---------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Here is the original announcement:&amp;lt;br&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A couple of weeks ago Google announced Android interconnectivity with Arduino, paving the way for a cheap, easy-to-use hardware development platform.  Google then created the ADK (Android Development Kit, based on Arduino), which is not cheap -- but they gave a bunch away for free at the Maker Faire last weekend.&amp;lt;br&amp;gt; &lt;br /&gt;
[http://developer.android.com/guide/topics/usb/adk.html info on Android website]&amp;lt;br&amp;gt;&lt;br /&gt;
and&amp;lt;br&amp;gt;&lt;br /&gt;
[http://arduino.cc/blog/2011/05/10/google-launches-android-open-accessory-development-kit-based-on-arduino/ info on Aruino&#039;s website]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Since many of us are relatively clueless on how to hack Android phones, or how to connect them to Arduino to do cool things, a bunch of us are getting together next Sunday to put our collective heads together to see how to make Arduino work on our Android phones.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
It is likely that a Google employee and Android developer will be joining us to help out.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;When&#039;&#039;&#039;: Sunday, 5-June-2011, 3pm&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Where&#039;&#039;&#039;: Noisebridge 2169 Mission St., 3rd floor&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;What&#039;&#039;&#039;: get our Android phones to play with Arduino (including the Google ADK)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Who&#039;&#039;&#039;: anyone (regardless of skill level) who cares to join in the fun&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Owen</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21353</id>
		<title>AndroidArduinoMeetup</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21353"/>
		<updated>2011-11-03T05:04:00Z</updated>

		<summary type="html">&lt;p&gt;Owen: /* Intro */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Intro ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On June 5th, 2011, an enthusiastic group of more than 40 people gathered here at NoiseBridge for a new Android-Arduino Meetup. Pooling our collective technical know-how , we successfully managed to make our Android phones communicate with Arduino hardware.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;And&#039;&#039; our meetup was written up on the MAKE Magazine blog!:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://blog.makezine.com/archive/2011/06/using-the-android-open-accessory-api-without-a-nexus.html Using the Android Open Accessory API without a Nexus]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Google recently (and officially) added Arduino support to new versions of the Android OS so that hardware development on Android phones is easy.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Arduino hardware that will work with Android phones includes:&amp;lt;br&amp;gt;&lt;br /&gt;
- the Google ADK (Android Development Kit)&amp;lt;br&amp;gt;&lt;br /&gt;
- a standard Arduino&amp;lt;br&amp;gt;&lt;br /&gt;
- any Arduino clone with a USB Host shield&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:ADKphoto.jpg|thumb|right|G2 phone controlling Google&#039;s ADK hardware, including two motors]]&lt;br /&gt;
First, since Arduino support is &#039;&#039;only available on new versions&#039;&#039; of the Android OS, a lot of people, myself included, needed to &#039;&#039;&#039;root&#039;&#039;&#039; their phones to get a new version of Android OS on them.  We met at one side of the room, where [[User:Rubin110|Rubin]] gave an overview of the process of rooting an Android phone, followed by a hands-on workshop.  I had my phone rooted, installed the latest Android OS (CyanogenMod), and then got my phone to control the Google ADK hardware!  I document my procedure below so others may benefit from my experience.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Note: By constrast, a number of other people at the meetup already had phones with versions of the Android OS compatible with Arduino hardware.  These people gathered at the electronics lab area and had their phones connected with Google ADK, standard Arduinos, and other Arduino clones (with USB Host shield).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
My phone is a new, eight-day-old T-Mobile G2 phone (also known as &#039;&#039;HTC Vision&#039;&#039;). It came with a version of Android OS (v2.2) that does not support Arduino hardware (need v2.3.4 or later). So, with the help of [[User:Rubin110|Rubin]] and others, I rooted my phone, and installed the latest version of Cyanogenmod (a fork of the official Android OS).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I document the steps I took so that others will have an easier time of it. Your process will probably be similar even if you have a different type of Android phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This entire process took me 3 hours, but it will take you less time if you have a more recent version of Android as explained above.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The procedure is mostly given at:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting T-Mobile G2 Rooting]&amp;lt;br&amp;gt;&lt;br /&gt;
I will not reproduce everything here, but I&#039;ll provide a few notes that are very helpful to know.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Here are some other additional, useful resources:&amp;lt;br&amp;gt;&lt;br /&gt;
wiki.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
forms.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
xda-developers.com&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #cyanogenmod&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #noisebridge&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Steps I took to get Cyanogen on my G2:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Basically, follow the instructions here:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting&amp;lt;br&amp;gt;&lt;br /&gt;
Again, I am mostly just giving helpful notes below, not reproducing the entire procedure.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;The first step is to backup you phone.&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The next step is to get temporary root access.&amp;lt;br&amp;gt;&lt;br /&gt;
The main thing here is to &#039;&#039;get ADB running&#039;&#039;.  One way to do this is by installing the Android SDK on your computer.  Since wireless access at Noisebridge was overloaded with so many people using it at once, and since Miloh had the foresight to download the Android SDK for Windows, MacOS, and Linux, I downloaded the Windows version (yes, I use Windows) from Miloh’s account on Pony:&amp;lt;br&amp;gt;&lt;br /&gt;
http://developer.android.com/sdk/index.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;installer_r11-windows.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
But to be able to install the Android SDK, it is necessary to have the Java Development Kit running on your computer (the JRE alone is not sufficient). Download and install JDK on your computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u25-download-346242.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;jdk-6u25-windows-i586.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then double-click to install the Android SDK, BUT THERE IS A BUG in the installer: When it says that JDK is needed and it can’t be found, press BACK, and then press NEXT again, and it will proceed fine from there.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then I followed the instructions in this Android SDK guide on how to install the Android SDK on my computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=Howto:_Install_the_Android_SDK&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
As part of installing the Android SDK -- when I connected my phone to my computer, after installing everything, the ADB driver was not installed correctly.  So, per the guide&#039;s instructions, I had to continue with further steps to update the ADB driver. This worked fine for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
(Back to the instructions for G2 Rooting.)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue to follow instructions to gain temporary root access on the phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Next we move on to gain permanent root access on the phone (with the added bonus of unlocking the phone!). Since the first gfree suggested (v0.04) gave me an error about failing to power cycle the eMMC, I had to use gfree v0.02. gfree v0.02 worked fine.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I did not flash the Engineering Hboot (stated as optional in the G2 Rooting instructions).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with intructions for Installing a Custom Recovery Image.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with instructions for Flashing a Radio.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Now continue with instructions for Flashing CyanogenMod:&amp;lt;br&amp;gt;&lt;br /&gt;
After downloading the ROM Manager free version, it turns out that I couldn’t download the Cyanogenmod nightlies, which are the latest versions (need paid version or ROM Manager to get latest versions -- ugh), so I used the &amp;quot;second method&amp;quot; in the instructions, and downloaded the latest nightly on my computer, then transferred to G2:&amp;lt;br&amp;gt;&lt;br /&gt;
http://download.cyanogenmod.com/?device=vision&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;cm_cision_full-98.zip&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Due to of legal reasons, there are a bunch of free Google Android apps that are not allowed to come with CyanogenMod.  You can download these (including Android Market) and transfer them to the phone.  The package I downloaded and transferred to my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;CyanogenMod 7&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
NOTE:  When transferring files to the phone, it is fine to transfer zipped files.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Unhook the phone and then go back to instructions using Second Version.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Using ROM Manager, install cm_vision_full-98.zip&lt;br /&gt;
After reboot, it ignored instructions we gave it about backups, so when we get a screen full of orange text (Clockwork Flash Recovery), we did the following:&amp;lt;br&amp;gt;&lt;br /&gt;
- Backup and restore (to backup entire OS) (takes awhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe data/factory reset&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe cache partition&amp;lt;br&amp;gt;&lt;br /&gt;
- Advanced: Wipe dalvik cache  (not in instructions, but seemed worthwhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for cm_vision_full-98&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for Google apps (g_apps)&amp;lt;br&amp;gt;&lt;br /&gt;
- Reboot system&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If things falter at this point, I will have a bricked phone.  If things do go well, I should get the CyanogenMod logo animation boot screen.  What will happen? . . . &amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  --   Though it took a couple of minutes watching the static HTC screen, the CyanogenMod logo animation came up, and my phone works great!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Then I installed the Google ADK software on my G2.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Lilia compiled the ADK software for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pro tip: when compiling the demo app under Eclipse, your build target (Project Properties -&amp;gt; Android -&amp;gt; Project Build Target) should be &amp;quot;Google APIs&amp;quot; API 10, which can be installed from the ADK/AVD manager -&amp;gt; Available packages -&amp;gt; Third party Add-ons -&amp;gt; Google Inc. -&amp;gt; Google APIs by Google Inc., Android API 10. This is NOT the same as the Android SDK 2.3.3 API 10.  --lilia&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When I connected the ADK hardware to my phone (via the USB cable), a screen appeared on my phone asking me if I want to connect.&amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  I can now control the ADK hardware with my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
- Light up the three RGB LEDs any color I like.&amp;lt;br&amp;gt;&lt;br /&gt;
- Move the three servo motors.&amp;lt;br&amp;gt;&lt;br /&gt;
- Turn the two relays on and off.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the temperature sensor.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the joystick position.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I can&#039;t wait to play with this more!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Additional info: There is a visually-oriented programming language for easily creating your own Android apps called App Inventor.  Here is a fun intro to it:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://appinventor.googlelabs.com/about/ http://appinventor.googlelabs.com/about/]&amp;lt;br&amp;gt;&lt;br /&gt;
I haven&#039;t used it, but I will...&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[User:Malman23|Mitch]].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
---------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Here is the original announcement:&amp;lt;br&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A couple of weeks ago Google announced Android interconnectivity with Arduino, paving the way for a cheap, easy-to-use hardware development platform.  Google then created the ADK (Android Development Kit, based on Arduino), which is not cheap -- but they gave a bunch away for free at the Maker Faire last weekend.&amp;lt;br&amp;gt; &lt;br /&gt;
[http://developer.android.com/guide/topics/usb/adk.html info on Android website]&amp;lt;br&amp;gt;&lt;br /&gt;
and&amp;lt;br&amp;gt;&lt;br /&gt;
[http://arduino.cc/blog/2011/05/10/google-launches-android-open-accessory-development-kit-based-on-arduino/ info on Aruino&#039;s website]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Since many of us are relatively clueless on how to hack Android phones, or how to connect them to Arduino to do cool things, a bunch of us are getting together next Sunday to put our collective heads together to see how to make Arduino work on our Android phones.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
It is likely that a Google employee and Android developer will be joining us to help out.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;When&#039;&#039;&#039;: Sunday, 5-June-2011, 3pm&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Where&#039;&#039;&#039;: Noisebridge 2169 Mission St., 3rd floor&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;What&#039;&#039;&#039;: get our Android phones to play with Arduino (including the Google ADK)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Who&#039;&#039;&#039;: anyone (regardless of skill level) who cares to join in the fun&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Owen</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21352</id>
		<title>AndroidArduinoMeetup</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21352"/>
		<updated>2011-11-03T04:58:18Z</updated>

		<summary type="html">&lt;p&gt;Owen: /* Intro */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Intro ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On June 5th, 2011, an enthusiastic group of more than 40 people gathered here at NoiseBridge for a new Android-Arduino Meetup. Pooling our collective technical know-how , we successfully managed to make our Android phones communicate with Arduino hardware.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;And&#039;&#039; our meetup was written up on the MAKE Magazine blog!:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://blog.makezine.com/archive/2011/06/using-the-android-open-accessory-api-without-a-nexus.html Using the Android Open Accessory API without a Nexus]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Google officially added Arduino support to new versions of the Android OS so that hardware development on Android phones is easy.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Arduino hardware that will work with Android phones includes:&amp;lt;br&amp;gt;&lt;br /&gt;
- the Google ADK (Android Development Kit)&amp;lt;br&amp;gt;&lt;br /&gt;
- a standard Arduino&amp;lt;br&amp;gt;&lt;br /&gt;
- any Arduino clone with a USB Host shield&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:ADKphoto.jpg|thumb|right|G2 phone controlling Google&#039;s ADK hardware, including two motors]]&lt;br /&gt;
First, since Arduino support is &#039;&#039;only available on new versions&#039;&#039; of the Android OS, a lot of people, myself included, needed to &#039;&#039;&#039;root&#039;&#039;&#039; their phones to get a new version of Android OS on them.  We met at one side of the room, where [[User:Rubin110|Rubin]] gave an overview of the process of rooting an Android phone, followed by a hands-on workshop.  I had my phone rooted, installed the latest Android OS (CyanogenMod), and then got my phone to control the Google ADK hardware!  I document my procedure below so others may benefit from my experience.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Note: By constrast, a number of other people at the meetup already had phones with versions of the Android OS compatible with Arduino hardware.  These people gathered at the electronics lab area and had their phones connected with Google ADK, standard Arduinos, and other Arduino clones (with USB Host shield).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
My phone is a new, eight-day-old T-Mobile G2 phone (also known as &#039;&#039;HTC Vision&#039;&#039;). It came with a version of Android OS (v2.2) that does not support Arduino hardware (need v2.3.4 or later). So, with the help of [[User:Rubin110|Rubin]] and others, I rooted my phone, and installed the latest version of Cyanogenmod (a fork of the official Android OS).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I attempted to document the steps I took so that others can have an easier time of it. Your process will probably be similar if you have a different type of Android phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This entire process took me 3 hours, but it will take you less time if you have a more recent version of Android as explained above.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The procedure is mostly given at:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting T-Mobile G2 Rooting]&amp;lt;br&amp;gt;&lt;br /&gt;
I will not reproduce everything here, but I&#039;ll provide a few notes that are very helpful to know.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Here are some other additional, useful resources:&amp;lt;br&amp;gt;&lt;br /&gt;
wiki.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
forms.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
xda-developers.com&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #cyanogenmod&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #noisebridge&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Steps I took to get Cyanogen on my G2:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Basically, follow the instructions here:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting&amp;lt;br&amp;gt;&lt;br /&gt;
Again, I am mostly just giving helpful notes below, not reproducing the entire procedure.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;The first step is to backup you phone.&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The next step is to get temporary root access.&amp;lt;br&amp;gt;&lt;br /&gt;
The main thing here is to &#039;&#039;get ADB running&#039;&#039;.  One way to do this is by installing the Android SDK on your computer.  Since wireless access at Noisebridge was overloaded with so many people using it at once, and since Miloh had the foresight to download the Android SDK for Windows, MacOS, and Linux, I downloaded the Windows version (yes, I use Windows) from Miloh’s account on Pony:&amp;lt;br&amp;gt;&lt;br /&gt;
http://developer.android.com/sdk/index.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;installer_r11-windows.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
But to be able to install the Android SDK, it is necessary to have the Java Development Kit running on your computer (the JRE alone is not sufficient). Download and install JDK on your computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u25-download-346242.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;jdk-6u25-windows-i586.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then double-click to install the Android SDK, BUT THERE IS A BUG in the installer: When it says that JDK is needed and it can’t be found, press BACK, and then press NEXT again, and it will proceed fine from there.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then I followed the instructions in this Android SDK guide on how to install the Android SDK on my computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=Howto:_Install_the_Android_SDK&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
As part of installing the Android SDK -- when I connected my phone to my computer, after installing everything, the ADB driver was not installed correctly.  So, per the guide&#039;s instructions, I had to continue with further steps to update the ADB driver. This worked fine for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
(Back to the instructions for G2 Rooting.)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue to follow instructions to gain temporary root access on the phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Next we move on to gain permanent root access on the phone (with the added bonus of unlocking the phone!). Since the first gfree suggested (v0.04) gave me an error about failing to power cycle the eMMC, I had to use gfree v0.02. gfree v0.02 worked fine.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I did not flash the Engineering Hboot (stated as optional in the G2 Rooting instructions).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with intructions for Installing a Custom Recovery Image.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with instructions for Flashing a Radio.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Now continue with instructions for Flashing CyanogenMod:&amp;lt;br&amp;gt;&lt;br /&gt;
After downloading the ROM Manager free version, it turns out that I couldn’t download the Cyanogenmod nightlies, which are the latest versions (need paid version or ROM Manager to get latest versions -- ugh), so I used the &amp;quot;second method&amp;quot; in the instructions, and downloaded the latest nightly on my computer, then transferred to G2:&amp;lt;br&amp;gt;&lt;br /&gt;
http://download.cyanogenmod.com/?device=vision&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;cm_cision_full-98.zip&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Due to of legal reasons, there are a bunch of free Google Android apps that are not allowed to come with CyanogenMod.  You can download these (including Android Market) and transfer them to the phone.  The package I downloaded and transferred to my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;CyanogenMod 7&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
NOTE:  When transferring files to the phone, it is fine to transfer zipped files.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Unhook the phone and then go back to instructions using Second Version.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Using ROM Manager, install cm_vision_full-98.zip&lt;br /&gt;
After reboot, it ignored instructions we gave it about backups, so when we get a screen full of orange text (Clockwork Flash Recovery), we did the following:&amp;lt;br&amp;gt;&lt;br /&gt;
- Backup and restore (to backup entire OS) (takes awhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe data/factory reset&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe cache partition&amp;lt;br&amp;gt;&lt;br /&gt;
- Advanced: Wipe dalvik cache  (not in instructions, but seemed worthwhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for cm_vision_full-98&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for Google apps (g_apps)&amp;lt;br&amp;gt;&lt;br /&gt;
- Reboot system&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If things falter at this point, I will have a bricked phone.  If things do go well, I should get the CyanogenMod logo animation boot screen.  What will happen? . . . &amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  --   Though it took a couple of minutes watching the static HTC screen, the CyanogenMod logo animation came up, and my phone works great!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Then I installed the Google ADK software on my G2.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Lilia compiled the ADK software for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pro tip: when compiling the demo app under Eclipse, your build target (Project Properties -&amp;gt; Android -&amp;gt; Project Build Target) should be &amp;quot;Google APIs&amp;quot; API 10, which can be installed from the ADK/AVD manager -&amp;gt; Available packages -&amp;gt; Third party Add-ons -&amp;gt; Google Inc. -&amp;gt; Google APIs by Google Inc., Android API 10. This is NOT the same as the Android SDK 2.3.3 API 10.  --lilia&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When I connected the ADK hardware to my phone (via the USB cable), a screen appeared on my phone asking me if I want to connect.&amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  I can now control the ADK hardware with my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
- Light up the three RGB LEDs any color I like.&amp;lt;br&amp;gt;&lt;br /&gt;
- Move the three servo motors.&amp;lt;br&amp;gt;&lt;br /&gt;
- Turn the two relays on and off.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the temperature sensor.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the joystick position.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I can&#039;t wait to play with this more!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Additional info: There is a visually-oriented programming language for easily creating your own Android apps called App Inventor.  Here is a fun intro to it:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://appinventor.googlelabs.com/about/ http://appinventor.googlelabs.com/about/]&amp;lt;br&amp;gt;&lt;br /&gt;
I haven&#039;t used it, but I will...&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[User:Malman23|Mitch]].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
---------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Here is the original announcement:&amp;lt;br&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A couple of weeks ago Google announced Android interconnectivity with Arduino, paving the way for a cheap, easy-to-use hardware development platform.  Google then created the ADK (Android Development Kit, based on Arduino), which is not cheap -- but they gave a bunch away for free at the Maker Faire last weekend.&amp;lt;br&amp;gt; &lt;br /&gt;
[http://developer.android.com/guide/topics/usb/adk.html info on Android website]&amp;lt;br&amp;gt;&lt;br /&gt;
and&amp;lt;br&amp;gt;&lt;br /&gt;
[http://arduino.cc/blog/2011/05/10/google-launches-android-open-accessory-development-kit-based-on-arduino/ info on Aruino&#039;s website]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Since many of us are relatively clueless on how to hack Android phones, or how to connect them to Arduino to do cool things, a bunch of us are getting together next Sunday to put our collective heads together to see how to make Arduino work on our Android phones.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
It is likely that a Google employee and Android developer will be joining us to help out.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;When&#039;&#039;&#039;: Sunday, 5-June-2011, 3pm&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Where&#039;&#039;&#039;: Noisebridge 2169 Mission St., 3rd floor&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;What&#039;&#039;&#039;: get our Android phones to play with Arduino (including the Google ADK)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Who&#039;&#039;&#039;: anyone (regardless of skill level) who cares to join in the fun&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Owen</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21351</id>
		<title>AndroidArduinoMeetup</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21351"/>
		<updated>2011-11-03T04:56:24Z</updated>

		<summary type="html">&lt;p&gt;Owen: /* Documentation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Intro ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On June 5th, 2011 an enthusiastic group of more than 40 people first gathered here at NoiseBridge for a new Android-Arduino Meetup. Pooling our collective technical know-how , we successfully managed to make our Android phones communicate with Arduino hardware.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;And&#039;&#039; our meetup was written up on the MAKE Magazine blog!:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://blog.makezine.com/archive/2011/06/using-the-android-open-accessory-api-without-a-nexus.html Using the Android Open Accessory API without a Nexus]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Google officially added Arduino support to new versions of the Android OS so that hardware development on Android phones is easy.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Arduino hardware that will work with Android phones includes:&amp;lt;br&amp;gt;&lt;br /&gt;
- the Google ADK (Android Development Kit)&amp;lt;br&amp;gt;&lt;br /&gt;
- a standard Arduino&amp;lt;br&amp;gt;&lt;br /&gt;
- any Arduino clone with a USB Host shield&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:ADKphoto.jpg|thumb|right|G2 phone controlling Google&#039;s ADK hardware, including two motors]]&lt;br /&gt;
First, since Arduino support is &#039;&#039;only available on new versions&#039;&#039; of the Android OS, a lot of people, myself included, needed to &#039;&#039;&#039;root&#039;&#039;&#039; their phones to get a new version of Android OS on them.  We met at one side of the room, where [[User:Rubin110|Rubin]] gave an overview of the process of rooting an Android phone, followed by a hands-on workshop.  I had my phone rooted, installed the latest Android OS (CyanogenMod), and then got my phone to control the Google ADK hardware!  I document my procedure below so others may benefit from my experience.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Note: By constrast, a number of other people at the meetup already had phones with versions of the Android OS compatible with Arduino hardware.  These people gathered at the electronics lab area and had their phones connected with Google ADK, standard Arduinos, and other Arduino clones (with USB Host shield).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
My phone is a new, eight-day-old T-Mobile G2 phone (also known as &#039;&#039;HTC Vision&#039;&#039;). It came with a version of Android OS (v2.2) that does not support Arduino hardware (need v2.3.4 or later). So, with the help of [[User:Rubin110|Rubin]] and others, I rooted my phone, and installed the latest version of Cyanogenmod (a fork of the official Android OS).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I attempted to document the steps I took so that others can have an easier time of it. Your process will probably be similar if you have a different type of Android phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This entire process took me 3 hours, but it will take you less time if you have a more recent version of Android as explained above.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The procedure is mostly given at:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting T-Mobile G2 Rooting]&amp;lt;br&amp;gt;&lt;br /&gt;
I will not reproduce everything here, but I&#039;ll provide a few notes that are very helpful to know.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Here are some other additional, useful resources:&amp;lt;br&amp;gt;&lt;br /&gt;
wiki.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
forms.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
xda-developers.com&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #cyanogenmod&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #noisebridge&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Steps I took to get Cyanogen on my G2:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Basically, follow the instructions here:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting&amp;lt;br&amp;gt;&lt;br /&gt;
Again, I am mostly just giving helpful notes below, not reproducing the entire procedure.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;The first step is to backup you phone.&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The next step is to get temporary root access.&amp;lt;br&amp;gt;&lt;br /&gt;
The main thing here is to &#039;&#039;get ADB running&#039;&#039;.  One way to do this is by installing the Android SDK on your computer.  Since wireless access at Noisebridge was overloaded with so many people using it at once, and since Miloh had the foresight to download the Android SDK for Windows, MacOS, and Linux, I downloaded the Windows version (yes, I use Windows) from Miloh’s account on Pony:&amp;lt;br&amp;gt;&lt;br /&gt;
http://developer.android.com/sdk/index.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;installer_r11-windows.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
But to be able to install the Android SDK, it is necessary to have the Java Development Kit running on your computer (the JRE alone is not sufficient). Download and install JDK on your computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u25-download-346242.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;jdk-6u25-windows-i586.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then double-click to install the Android SDK, BUT THERE IS A BUG in the installer: When it says that JDK is needed and it can’t be found, press BACK, and then press NEXT again, and it will proceed fine from there.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then I followed the instructions in this Android SDK guide on how to install the Android SDK on my computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=Howto:_Install_the_Android_SDK&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
As part of installing the Android SDK -- when I connected my phone to my computer, after installing everything, the ADB driver was not installed correctly.  So, per the guide&#039;s instructions, I had to continue with further steps to update the ADB driver. This worked fine for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
(Back to the instructions for G2 Rooting.)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue to follow instructions to gain temporary root access on the phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Next we move on to gain permanent root access on the phone (with the added bonus of unlocking the phone!). Since the first gfree suggested (v0.04) gave me an error about failing to power cycle the eMMC, I had to use gfree v0.02. gfree v0.02 worked fine.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I did not flash the Engineering Hboot (stated as optional in the G2 Rooting instructions).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with intructions for Installing a Custom Recovery Image.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with instructions for Flashing a Radio.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Now continue with instructions for Flashing CyanogenMod:&amp;lt;br&amp;gt;&lt;br /&gt;
After downloading the ROM Manager free version, it turns out that I couldn’t download the Cyanogenmod nightlies, which are the latest versions (need paid version or ROM Manager to get latest versions -- ugh), so I used the &amp;quot;second method&amp;quot; in the instructions, and downloaded the latest nightly on my computer, then transferred to G2:&amp;lt;br&amp;gt;&lt;br /&gt;
http://download.cyanogenmod.com/?device=vision&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;cm_cision_full-98.zip&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Due to of legal reasons, there are a bunch of free Google Android apps that are not allowed to come with CyanogenMod.  You can download these (including Android Market) and transfer them to the phone.  The package I downloaded and transferred to my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;CyanogenMod 7&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
NOTE:  When transferring files to the phone, it is fine to transfer zipped files.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Unhook the phone and then go back to instructions using Second Version.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Using ROM Manager, install cm_vision_full-98.zip&lt;br /&gt;
After reboot, it ignored instructions we gave it about backups, so when we get a screen full of orange text (Clockwork Flash Recovery), we did the following:&amp;lt;br&amp;gt;&lt;br /&gt;
- Backup and restore (to backup entire OS) (takes awhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe data/factory reset&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe cache partition&amp;lt;br&amp;gt;&lt;br /&gt;
- Advanced: Wipe dalvik cache  (not in instructions, but seemed worthwhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for cm_vision_full-98&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for Google apps (g_apps)&amp;lt;br&amp;gt;&lt;br /&gt;
- Reboot system&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If things falter at this point, I will have a bricked phone.  If things do go well, I should get the CyanogenMod logo animation boot screen.  What will happen? . . . &amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  --   Though it took a couple of minutes watching the static HTC screen, the CyanogenMod logo animation came up, and my phone works great!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Then I installed the Google ADK software on my G2.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Lilia compiled the ADK software for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pro tip: when compiling the demo app under Eclipse, your build target (Project Properties -&amp;gt; Android -&amp;gt; Project Build Target) should be &amp;quot;Google APIs&amp;quot; API 10, which can be installed from the ADK/AVD manager -&amp;gt; Available packages -&amp;gt; Third party Add-ons -&amp;gt; Google Inc. -&amp;gt; Google APIs by Google Inc., Android API 10. This is NOT the same as the Android SDK 2.3.3 API 10.  --lilia&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When I connected the ADK hardware to my phone (via the USB cable), a screen appeared on my phone asking me if I want to connect.&amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  I can now control the ADK hardware with my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
- Light up the three RGB LEDs any color I like.&amp;lt;br&amp;gt;&lt;br /&gt;
- Move the three servo motors.&amp;lt;br&amp;gt;&lt;br /&gt;
- Turn the two relays on and off.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the temperature sensor.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the joystick position.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I can&#039;t wait to play with this more!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Additional info: There is a visually-oriented programming language for easily creating your own Android apps called App Inventor.  Here is a fun intro to it:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://appinventor.googlelabs.com/about/ http://appinventor.googlelabs.com/about/]&amp;lt;br&amp;gt;&lt;br /&gt;
I haven&#039;t used it, but I will...&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[User:Malman23|Mitch]].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
---------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Here is the original announcement:&amp;lt;br&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A couple of weeks ago Google announced Android interconnectivity with Arduino, paving the way for a cheap, easy-to-use hardware development platform.  Google then created the ADK (Android Development Kit, based on Arduino), which is not cheap -- but they gave a bunch away for free at the Maker Faire last weekend.&amp;lt;br&amp;gt; &lt;br /&gt;
[http://developer.android.com/guide/topics/usb/adk.html info on Android website]&amp;lt;br&amp;gt;&lt;br /&gt;
and&amp;lt;br&amp;gt;&lt;br /&gt;
[http://arduino.cc/blog/2011/05/10/google-launches-android-open-accessory-development-kit-based-on-arduino/ info on Aruino&#039;s website]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Since many of us are relatively clueless on how to hack Android phones, or how to connect them to Arduino to do cool things, a bunch of us are getting together next Sunday to put our collective heads together to see how to make Arduino work on our Android phones.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
It is likely that a Google employee and Android developer will be joining us to help out.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;When&#039;&#039;&#039;: Sunday, 5-June-2011, 3pm&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Where&#039;&#039;&#039;: Noisebridge 2169 Mission St., 3rd floor&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;What&#039;&#039;&#039;: get our Android phones to play with Arduino (including the Google ADK)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Who&#039;&#039;&#039;: anyone (regardless of skill level) who cares to join in the fun&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Owen</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21350</id>
		<title>AndroidArduinoMeetup</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21350"/>
		<updated>2011-11-03T04:54:31Z</updated>

		<summary type="html">&lt;p&gt;Owen: /* Documentation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Intro ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On June 5th, 2011 an enthusiastic group of more than 40 people first gathered here at NoiseBridge for a new Android-Arduino Meetup. Pooling our collective technical know-how , we successfully managed to make our Android phones communicate with Arduino hardware.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;And&#039;&#039; our meetup was written up on the MAKE Magazine blog!:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://blog.makezine.com/archive/2011/06/using-the-android-open-accessory-api-without-a-nexus.html Using the Android Open Accessory API without a Nexus]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Google officially added Arduino support to new versions of the Android OS so that hardware development on Android phones is easy.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Arduino hardware that will work with Android phones includes:&amp;lt;br&amp;gt;&lt;br /&gt;
- the Google ADK (Android Development Kit)&amp;lt;br&amp;gt;&lt;br /&gt;
- a standard Arduino&amp;lt;br&amp;gt;&lt;br /&gt;
- any Arduino clone with a USB Host shield&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:ADKphoto.jpg|thumb|right|G2 phone controlling Google&#039;s ADK hardware, including two motors]]&lt;br /&gt;
First, since Arduino support is &#039;&#039;only available on new versions&#039;&#039; of the Android OS, a lot of people, myself included, needed to &#039;&#039;&#039;root&#039;&#039;&#039; their phones to get a new version of Android OS on them.  We met at one side of the room, where [[User:Rubin110|Rubin]] gave an overview of the process of rooting an Android phone, followed by a hands-on workshop.  I had my phone rooted, installed the latest Android OS (CyanogenMod), and then got my phone to control the Google ADK hardware!  I document my procedure below so others may benefit from my experience.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Note: By constrast, a number of other people at the meetup already had phones with versions of the Android OS compatible with Arduino hardware.  These people gathered at the electronics lab area and had their phones connected with Google ADK, standard Arduinos, and other Arduino clones (with USB Host shield).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
My phone is a new, eight-day-old T-Mobile G2 phone (also known as &#039;&#039;HTC Vision&#039;&#039;). It came with a version of Android OS (v2.2) that does not support Arduino hardware (need v2.3.4 or later). So, with the help of [[User:Rubin110|Rubin]] and others, I rooted my phone, and installed the latest version of Cyanogenmod (a fork of the official Android OS).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I attempted to document the steps I took so that others can have an easier time of it. Your process will probably be similar if you have a different type of Android phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This entire process took me 3 hours, but it will take you less time if you have a more recent version of Android as explained above.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The procedure is mostly given at:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting T-Mobile G2 Rooting]&amp;lt;br&amp;gt;&lt;br /&gt;
I will not reproduce everything here, but I&#039;ll provide a few notes that are very helpful to know.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Here are some other additional, useful resources:&amp;lt;br&amp;gt;&lt;br /&gt;
wiki.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
forms.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
xda-developers.com&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #cyanogenmod&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #noisebridge&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Steps I took to get Cyanogen on my G2:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Basically, follow the instructions here:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting&amp;lt;br&amp;gt;&lt;br /&gt;
Again, I am mostly just giving helpful notes below, not reproducing the entire procedure.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;The first step is to backup you phone.&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The next step is to get temporary root access.&amp;lt;br&amp;gt;&lt;br /&gt;
The main thing here is to &#039;&#039;get ADB running&#039;&#039;.  One way to do this is by installing the Android SDK on your computer.  Since wireless access at Noisebridge was overloaded with so many people using it at once, and since Miloh had the foresight to download the Android SDK for Windows, MacOS, and Linux, I downloaded the Windows version (yes, I use Windows) from Miloh’s account on Pony:&amp;lt;br&amp;gt;&lt;br /&gt;
http://developer.android.com/sdk/index.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;installer_r11-windows.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
But to be able to install the Android SDK, it is necessary to have the Java Development Kit running on your computer (the JRE alone is not sufficient). Download and install JDK on your computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u25-download-346242.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;jdk-6u25-windows-i586.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then double-click to install the Android SDK, BUT THERE IS A BUG in the installer: When it says that JDK is needed and it can’t be found, press BACK, and then press NEXT again, and it will proceed fine from there.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then I followed the instructions in this Android SDK guide on how to install the Android SDK on my computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=Howto:_Install_the_Android_SDK&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
As part of installing the Android SDK -- when I connected my phone to my computer, after installing everything, the ADB driver was not installed correctly.  So, per the guide&#039;s instructions, I had to continue with further steps to update the ADB driver. This worked fine for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
(Back to the instructions for G2 Rooting.)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue to follow instructions to gain temporary root access on the phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Next we move on to gain permanent root access on the phone (with the added bonus of unlocking the phone!). Since the first gfree suggested (v0.04) gave me an error about failing to power cycle the eMMC, I had to use gfree v0.02. gfree v0.02 worked fine.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I did not flash the Engineering Hboot (stated as optional in the G2 Rooting instructions).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with intructions for Installing a Custom Recovery Image.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with instructions for Flashing a Radio.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Now continue with instructions for Flashing CyanogenMod:&amp;lt;br&amp;gt;&lt;br /&gt;
After downloading the ROM Manager free version, it turns out that I couldn’t download the Cyanogenmod nightlies, which are the latest versions (need paid version or ROM Manager to get latest versions -- ugh), so I used the &amp;quot;second method&amp;quot; in the instructions, and downloaded the latest nightly on my computer, then transferred to G2:&amp;lt;br&amp;gt;&lt;br /&gt;
http://download.cyanogenmod.com/?device=vision&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;cm_cision_full-98.zip&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Due to of legal reasons, there are a bunch of free Google Android apps that are not allowed to come with CyanogenMod.  You can download these (including Android Market) and transfer them to the phone.  The package I downloaded and transferred to my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;CyanogenMod 7&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
NOTE:  When transferring files to the phone, it is fine to transfer zipped files.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Unhook the phone and then go back to instructions using Second Version.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Using ROM Manager, install cm_vision_full-98.zip&lt;br /&gt;
After reboot, it ignored instructions we gave it about backups, so when we get a screen full of orange text (Clockwork Flash Recovery), we did the following:&amp;lt;br&amp;gt;&lt;br /&gt;
- Backup and restore (to backup entire OS) (takes awhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe data/factory reset&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe cache partition&amp;lt;br&amp;gt;&lt;br /&gt;
- Advanced: Wipe dalvik cache  (not in instructions, but seemed worthwhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for cm_vision_full-98&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for Google apps (g_apps)&amp;lt;br&amp;gt;&lt;br /&gt;
- Reboot system&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If things falter at this point, I will have a bricked phone.  If things do go well, I should get the CyanogenMod logo animation boot screen.  What will happen? . . . &amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  --   Though it took a couple of minutes watching the static HTC screen, the CyanogenMod logo animation came up, and my phone works great!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Then I installed the Google ADK software on my G2.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Lilia compiled the ADK software for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pro tip: when compiling the demo app under Eclipse, your build target (Project Properties -&amp;gt; Android -&amp;gt; Project Build Target) should be &amp;quot;Google APIs&amp;quot; API 10, which can be installed from the ADK/AVD manager -&amp;gt; Available packages -&amp;gt; Third party Add-ons -&amp;gt; Google Inc. -&amp;gt; Google APIs by Google Inc., Android API 10. This is NOT the same as the Android SDK 2.3.3 API 10.  --lilia&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When I connected the ADK hardware to my phone (via the USB cable), a screen appeared on my phone asking me if I want to connect.&amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  I can now control the ADK hardware with my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
- Light up the three RGB LEDs any color I like.&amp;lt;br&amp;gt;&lt;br /&gt;
- Move the three servo motors.&amp;lt;br&amp;gt;&lt;br /&gt;
- Turn the two relays on and off.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the temperature sensor.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the joystick position.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I can&#039;t wait to play with this more!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
There is a visually-oriented programming language for easily creating your own Android apps called App Inventor.  Here is a fun intro to it:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://appinventor.googlelabs.com/about/ http://appinventor.googlelabs.com/about/]&amp;lt;br&amp;gt;&lt;br /&gt;
I haven&#039;t used it, but I will...&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[User:Malman23|Mitch]].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
---------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Here is the original announcement:&amp;lt;br&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A couple of weeks ago Google announced Android interconnectivity with Arduino, paving the way for a cheap, easy-to-use hardware development platform.  Google then created the ADK (Android Development Kit, based on Arduino), which is not cheap -- but they gave a bunch away for free at the Maker Faire last weekend.&amp;lt;br&amp;gt; &lt;br /&gt;
[http://developer.android.com/guide/topics/usb/adk.html info on Android website]&amp;lt;br&amp;gt;&lt;br /&gt;
and&amp;lt;br&amp;gt;&lt;br /&gt;
[http://arduino.cc/blog/2011/05/10/google-launches-android-open-accessory-development-kit-based-on-arduino/ info on Aruino&#039;s website]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Since many of us are relatively clueless on how to hack Android phones, or how to connect them to Arduino to do cool things, a bunch of us are getting together next Sunday to put our collective heads together to see how to make Arduino work on our Android phones.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
It is likely that a Google employee and Android developer will be joining us to help out.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;When&#039;&#039;&#039;: Sunday, 5-June-2011, 3pm&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Where&#039;&#039;&#039;: Noisebridge 2169 Mission St., 3rd floor&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;What&#039;&#039;&#039;: get our Android phones to play with Arduino (including the Google ADK)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Who&#039;&#039;&#039;: anyone (regardless of skill level) who cares to join in the fun&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Owen</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21349</id>
		<title>AndroidArduinoMeetup</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21349"/>
		<updated>2011-11-03T04:46:09Z</updated>

		<summary type="html">&lt;p&gt;Owen: /* Documentation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Intro ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On June 5th, 2011 an enthusiastic group of more than 40 people first gathered here at NoiseBridge for a new Android-Arduino Meetup. Pooling our collective technical know-how , we successfully managed to make our Android phones communicate with Arduino hardware.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;And&#039;&#039; our meetup was written up on the MAKE Magazine blog!:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://blog.makezine.com/archive/2011/06/using-the-android-open-accessory-api-without-a-nexus.html Using the Android Open Accessory API without a Nexus]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Google officially added Arduino support to new versions of the Android OS so that hardware development on Android phones is easy.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Arduino hardware that will work with Android phones includes:&amp;lt;br&amp;gt;&lt;br /&gt;
- the Google ADK (Android Development Kit)&amp;lt;br&amp;gt;&lt;br /&gt;
- a standard Arduino&amp;lt;br&amp;gt;&lt;br /&gt;
- any Arduino clone with a USB Host shield&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:ADKphoto.jpg|thumb|right|G2 phone controlling Google&#039;s ADK hardware, including two motors]]&lt;br /&gt;
First, since Arduino support is &#039;&#039;only available on new versions&#039;&#039; of the Android OS, a lot of people, myself included, needed to &#039;&#039;&#039;root&#039;&#039;&#039; their phones to get a new version of Android OS on them.  We met at one side of the room, where [[User:Rubin110|Rubin]] gave an overview of the process of rooting an Android phone, followed by a hands-on workshop.  I had my phone rooted, installed the latest Android OS (CyanogenMod), and then got my phone to control the Google ADK hardware!  I document my procedure below so others may benefit from my experience.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Note: By constrast, a number of other people at the meetup already had phones with versions of the Android OS compatible with Arduino hardware.  These people gathered at the electronics lab area and had their phones connected with Google ADK, standard Arduinos, and other Arduino clones (with USB Host shield).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
My phone is a new, eight-day-old T-Mobile G2 phone (also known as &#039;&#039;HTC Vision&#039;&#039;). It came with a version of Android OS (v2.2) that does not support Arduino hardware (need v2.3.4 or later). So, with the help of [[User:Rubin110|Rubin]] and others, I rooted my phone, and installed the latest version of Cyanogenmod (a fork of the official Android OS).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I attempted to document the steps I took so that others can have an easier time of it. Your process will probably be similar if you have a different type of Android phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This entire process took me 3 hours, but it will take you less time if you have a more recent version of Android as explained above.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The procedure is mostly given at:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting T-Mobile G2 Rooting]&amp;lt;br&amp;gt;&lt;br /&gt;
I will not reproduce everything here, but I&#039;ll provide a few notes that are very helpful to know.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Here are some other additional, useful resources:&amp;lt;br&amp;gt;&lt;br /&gt;
wiki.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
forms.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
xda-developers.com&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #cyanogenmod&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #noisebridge&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Steps I took to get Cyanogen on my G2:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Basically, follow the instructions here:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting&amp;lt;br&amp;gt;&lt;br /&gt;
Again, I am mostly just giving helpful notes below, not reproducing the entire procedure.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;The first step is to backup you phone.&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The next step is to get temporary root access.&amp;lt;br&amp;gt;&lt;br /&gt;
The main thing here is to &#039;&#039;get ADB running&#039;&#039;.  One way to do this is by installing the Android SDK on your computer.  Since wireless access at Noisebridge was overloaded with so many people using it at once, and since Miloh had the foresight to download the Android SDK for Windows, MacOS, and Linux, I downloaded the Windows version (yes, I use Windows) from Miloh’s account on Pony:&amp;lt;br&amp;gt;&lt;br /&gt;
http://developer.android.com/sdk/index.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;installer_r11-windows.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
But to be able to install the Android SDK, it is necessary to have the Java Development Kit running on your computer (the JRE alone is not sufficient). Download and install JDK on your computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u25-download-346242.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;jdk-6u25-windows-i586.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then double-click to install the Android SDK, BUT THERE IS A BUG in the installer: When it says that JDK is needed and it can’t be found, press BACK, and then press NEXT again, and it will proceed fine from there.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then I followed the instructions in this Android SDK guide on how to install the Android SDK on my computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=Howto:_Install_the_Android_SDK&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
As part of installing the Android SDK -- when I connected my phone to my computer, after installing everything, the ADB driver was not installed correctly.  So, per the guide&#039;s instructions, I had to continue with further steps to update the ADB driver. This worked fine for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
(Back to the instructions for G2 Rooting.)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue to follow instructions to gain temporary root access on the phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Next we move on to gain permanent root access on the phone (with the added bonus of unlocking the phone!). Since the first gfree suggested (v0.04) gave me an error about failing to power cycle the eMMC, I had to use gfree v0.02. gfree v0.02 worked fine.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I did not flash the Engineering Hboot (stated as optional in the G2 Rooting instructions).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with intructions for Installing a Custom Recovery Image.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with instructions for Flashing a Radio.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Now continue with instructions for Flashing CyanogenMod:&amp;lt;br&amp;gt;&lt;br /&gt;
After downloading the ROM Manager free version, it turns out that I couldn’t download the Cyanogenmod nightlies, which are the latest versions (need paid version or ROM Manager to get latest versions -- ugh), so I used the &amp;quot;second method&amp;quot; in the instructions, and downloaded the latest nightly on my computer, then transferred to G2:&amp;lt;br&amp;gt;&lt;br /&gt;
http://download.cyanogenmod.com/?device=vision&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;cm_cision_full-98.zip&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Due to of legal reasons, there are a bunch of free Google Android apps that are not allowed to come with CyanogenMod.  You can download these (including Android Market) and transfer them to the phone.  The package I downloaded and transferred to my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;CyanogenMod 7&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
NOTE:  When transferring files to the phone, it is fine to transfer zipped files.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Unhook the phone and then go back to instructions using Second Version.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Using ROM Manager, install cm_vision_full-98.zip&lt;br /&gt;
After reboot, it ignored instructions we gave it about backups, so when we get a screen full of orange text (Clockwork Flash Recovery), we did the following:&amp;lt;br&amp;gt;&lt;br /&gt;
- Backup and restore (to backup entire OS) (takes awhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe data/factory reset&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe cache partition&amp;lt;br&amp;gt;&lt;br /&gt;
- Advanced: Wipe dalvik cache  (not in instructions, but seemed worthwhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for cm_vision_full-98&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for Google apps (g_apps)&amp;lt;br&amp;gt;&lt;br /&gt;
- Reboot system&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If things falter at this point, I will have a bricked phone.  If things do go well, I should get the CyanogenMod logo animation boot screen.  What will happen? . . . &amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  --   Though it took a couple of minutes watching the static HTC screen, the CyanogenMod logo animation came up, and my phone works great!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Then I installed the Google ADK software on my G2.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Lilia compiled the ADK software for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pro tip: when compiling the demo app under Eclipse, your build target (Project Properties -&amp;gt; Android -&amp;gt; Project Build Target) should be &amp;quot;Google APIs&amp;quot; API 10, which can be installed from the ADK/AVD manager -&amp;gt; Available packages -&amp;gt; Third party Add-ons -&amp;gt; Google Inc. -&amp;gt; Google APIs by Google Inc., Android API 10. This is NOT the same as the Android SDK 2.3.3 API 10.  --lilia&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When I connected the ADK hardware to my phone (via the USB cable), a screen appeared on my phone asking me if I want to connect.&amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  I can now control the ADK hardware with my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
- Light up the three RGB LEDs any color I like.&amp;lt;br&amp;gt;&lt;br /&gt;
- Move the three servo motors.&amp;lt;br&amp;gt;&lt;br /&gt;
- Turn the two relays on and off.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the temperature sensor.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the joystick position.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I can&#039;t wait to play with this more!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
There is a visually oriented programming language for very easily creating your own Android apps -- called App Inventor.  Here is a fun intro to it:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://appinventor.googlelabs.com/about/ http://appinventor.googlelabs.com/about/]&amp;lt;br&amp;gt;&lt;br /&gt;
I haven&#039;t used it, but I will...&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[User:Malman23|Mitch]].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
---------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Here is the original announcement:&amp;lt;br&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A couple of weeks ago Google announced the ability for Android to connect with Arduino to be used as a cheap, easy-to-use hardware development platform.  Google then created ADK (Android Development Kit, based on Arduino), which is not cheap -- but they gave a bunch away for free at the Maker Faire last weekend.&amp;lt;br&amp;gt; &lt;br /&gt;
[http://developer.android.com/guide/topics/usb/adk.html info on Android website]&amp;lt;br&amp;gt;&lt;br /&gt;
and&amp;lt;br&amp;gt;&lt;br /&gt;
[http://arduino.cc/blog/2011/05/10/google-launches-android-open-accessory-development-kit-based-on-arduino/ info on Aruino&#039;s website]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Since many of us are relatively clueless on how to hack Android phones, or how to connect them to Arduino to do cool things, a bunch of us are getting together next Sunday to put our collective heads together to see how to make it all work on our Android phones.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
It is likely that a Google employee and Android developer will be joining us to help out.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;When&#039;&#039;&#039;: Sunday, 5-June-2011, 3pm&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Where&#039;&#039;&#039;: Noisebridge 2169 Mission St., 3rd floor&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;What&#039;&#039;&#039;: get our Android phones to play with Arduino (including the Google ADK)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Who&#039;&#039;&#039;: anyone (regardless of skill level) who cares to join in the fun&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Owen</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21348</id>
		<title>AndroidArduinoMeetup</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21348"/>
		<updated>2011-11-03T04:39:57Z</updated>

		<summary type="html">&lt;p&gt;Owen: /* Documentation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Intro ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On June 5th, 2011 an enthusiastic group of more than 40 people first gathered here at NoiseBridge for a new Android-Arduino Meetup. Pooling our collective technical know-how , we successfully managed to make our Android phones communicate with Arduino hardware.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;And&#039;&#039; our meetup was written up on the MAKE Magazine blog!:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://blog.makezine.com/archive/2011/06/using-the-android-open-accessory-api-without-a-nexus.html Using the Android Open Accessory API without a Nexus]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Google officially added Arduino support to new versions of the Android OS so that hardware development on Android phones is easy.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Arduino hardware that will work with Android phones includes:&amp;lt;br&amp;gt;&lt;br /&gt;
- the Google ADK (Android Development Kit)&amp;lt;br&amp;gt;&lt;br /&gt;
- a standard Arduino&amp;lt;br&amp;gt;&lt;br /&gt;
- any Arduino clone with a USB Host shield&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:ADKphoto.jpg|thumb|right|G2 phone controlling Google&#039;s ADK hardware, including two motors]]&lt;br /&gt;
First, since Arduino support is &#039;&#039;only available on new versions&#039;&#039; of the Android OS, a lot of people, myself included, needed to &#039;&#039;&#039;root&#039;&#039;&#039; their phones to get a new version of Android OS on them.  We met at one side of the room, where [[User:Rubin110|Rubin]] gave an overview of the process of rooting an Android phone, followed by a hands-on workshop.  I had my phone rooted, installed the latest Android OS (CyanogenMod), and then got my phone to control the Google ADK hardware!  I document my procedure below so others may benefit from my experience.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Note: By constrast, a number of other people at the meetup already had phones with versions of the Android OS compatible with Arduino hardware.  These people gathered at the electronics lab area and had their phones connected with Google ADK, standard Arduinos, and other Arduino clones (with USB Host shield).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
My phone is a new, eight-day-old T-Mobile G2 phone (also known as &#039;&#039;HTC Vision&#039;&#039;). It came with a version of Android OS (v2.2) that does not support Arduino hardware (need v2.3.4 or later). So, with the help of [[User:Rubin110|Rubin]] and others, I rooted my phone, and installed the latest version of Cyanogenmod (a fork of the official Android OS).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I attempted to document the steps I took so that others can have an easier time of it. Your process will probably be similar if you have a different type of Android phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This entire process took me 3 hours, but it will take you less time if you have a more recent version of Android as explained above.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The procedure is mostly given at:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting T-Mobile G2 Rooting]&amp;lt;br&amp;gt;&lt;br /&gt;
I will not reproduce everything here, but I&#039;ll provide a few notes that are very helpful to know.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Here are some other additional, useful resources:&amp;lt;br&amp;gt;&lt;br /&gt;
wiki.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
forms.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
xda-developers.com&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #cyanogenmod&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #noisebridge&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Steps I took to get Cyanogen on my G2:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Basically, follow the instructions here:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting&amp;lt;br&amp;gt;&lt;br /&gt;
Again, I am mostly just giving helpful notes below, not reproducing the entire procedure.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;The first step is to backup you phone.&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The next step is to get temporary root access.&amp;lt;br&amp;gt;&lt;br /&gt;
The main thing here is to &#039;&#039;get ADB running&#039;&#039;.  One way to do this is by installing the Android SDK on your computer.  Since wireless access at Noisebridge was overloaded with so many people using it at once, and since Miloh had the foresight to download the Android SDK for Windows, MacOS, and Linux, I downloaded the Windows version (yes, I use Windows) from Miloh’s account on Pony:&amp;lt;br&amp;gt;&lt;br /&gt;
http://developer.android.com/sdk/index.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;installer_r11-windows.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
But to be able to install the Android SDK, it is necessary to have the Java Development Kit running on your computer (the JRE alone is not sufficient). Download and install JDK on your computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u25-download-346242.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;jdk-6u25-windows-i586.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then double-click to install the Android SDK, BUT THERE IS A BUG in the installer: When it says that JDK is needed and it can’t be found, press BACK, and then press NEXT again, and it will proceed fine from there.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then I followed the instructions in this Android SDK guide on how to install the Android SDK on my computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=Howto:_Install_the_Android_SDK&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
As part of installing the Android SDK -- when I connected my phone to my computer, after installing everything, the ADB driver was not installed correctly.  So, per the guide&#039;s instructions, I had to continue with further steps to update the ADB driver. This worked fine for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
(Back to the instructions for G2 Rooting.)&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue to follow instructions to gain temporary root access on the phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Next we move on to gain permanent root access on the phone (with the added bonus of unlocking the phone!). Since the first gfree suggested (v0.04) gave me an error about failing to power cycle the eMMC, I had to use gfree v0.02. gfree v0.02 worked fine.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I did not flash the Engineering Hboot (stated as optional in the G2 Rooting instructions).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with intructions for Installing a Custom Recovery Image.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with instructions for Flashing a Radio.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Now continue with instructions for Flashing CyanogenMod:&amp;lt;br&amp;gt;&lt;br /&gt;
After downloading the ROM Manager free version, it turns out that I couldn’t download the Cyanogenmod nightlies, which are the latest versions (need paid version or ROM Manager to get latest versions -- ugh), so I used the &amp;quot;second method&amp;quot; in the instructions, and downloaded the latest nightly on my computer, then transferred to G2:&amp;lt;br&amp;gt;&lt;br /&gt;
http://download.cyanogenmod.com/?device=vision&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;cm_cision_full-98.zip&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Due to of legal reasons, there are a bunch of free Google Android apps that are not allowed to come with CyanogenMod.  You can download these (including Android Market) and transfer them to the phone.  The package I downloaded and transferred to my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;CyanogenMod 7&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
NOTE:  When transferring files to the phone, it is fine to transfer zipped files.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Unhook the phone and then go back to instructions using Second Version.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Using ROM Manager, install cm_vision_full-98.zip&lt;br /&gt;
After reboot, it ignored instructions we gave it about backups, so when we get a screen full of orange text (Clockwork Flash Recovery), and did the following:&amp;lt;br&amp;gt;&lt;br /&gt;
- Backup and restore (to backup entire OS) (takes awhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe data/factory reset&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe cache partition&amp;lt;br&amp;gt;&lt;br /&gt;
- Advanced: Wipe dalvik cache  (not in instructions, but seemed worthwhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for cm_vision_full-98&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for Google apps (g_apps)&amp;lt;br&amp;gt;&lt;br /&gt;
- Reboot system&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If things falter at this point, I will have a bricked phone.  If things do go well, I should get CyanogenMod logo animation boot screen.  What will happen? . . . &amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  --   Though it took a couple of minutes watching the static HTC screen, the CyanogenMod logo animation came up, and my phone works great!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Then I installed the Google ADK software on my G2.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Lilia compiled the ADK software for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pro tip: when compiling the demo app under Eclipse, your build target (Project Properties -&amp;gt; Android -&amp;gt; Project Build Target) should be &amp;quot;Google APIs&amp;quot; API 10, which can be installed from the ADK/AVD manager -&amp;gt; Available packages -&amp;gt; Third party Add-ons -&amp;gt; Google Inc. -&amp;gt; Google APIs by Google Inc., Android API 10. This is NOT the same as the Android SDK 2.3.3 API 10.  --lilia&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When I connected the ADK hardware to my phone (via the USB cable), a screen appeared on my phone asking me if I want to connect.&amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  I can now control the ADK hardware with my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
- Light up the three RGB LEDs any color I like.&amp;lt;br&amp;gt;&lt;br /&gt;
- Move the three servo motors.&amp;lt;br&amp;gt;&lt;br /&gt;
- Turn the two relays on and off.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the temperature sensor.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the joystick position.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I can&#039;t wait to play with this more!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
There is a visually oriented programming language for very easily creating your own Android apps -- called App Inventor.  Here is a fun intro to it:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://appinventor.googlelabs.com/about/ http://appinventor.googlelabs.com/about/]&amp;lt;br&amp;gt;&lt;br /&gt;
I haven&#039;t used it, but I will...&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[User:Malman23|Mitch]].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
---------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Here is the original announcement:&amp;lt;br&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A couple of weeks ago Google announced the ability for Android to connect with Arduino to be used as a cheap, easy-to-use hardware development platform.  Google then created ADK (Android Development Kit, based on Arduino), which is not cheap -- but they gave a bunch away for free at the Maker Faire last weekend.&amp;lt;br&amp;gt; &lt;br /&gt;
[http://developer.android.com/guide/topics/usb/adk.html info on Android website]&amp;lt;br&amp;gt;&lt;br /&gt;
and&amp;lt;br&amp;gt;&lt;br /&gt;
[http://arduino.cc/blog/2011/05/10/google-launches-android-open-accessory-development-kit-based-on-arduino/ info on Aruino&#039;s website]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Since many of us are relatively clueless on how to hack Android phones, or how to connect them to Arduino to do cool things, a bunch of us are getting together next Sunday to put our collective heads together to see how to make it all work on our Android phones.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
It is likely that a Google employee and Android developer will be joining us to help out.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;When&#039;&#039;&#039;: Sunday, 5-June-2011, 3pm&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Where&#039;&#039;&#039;: Noisebridge 2169 Mission St., 3rd floor&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;What&#039;&#039;&#039;: get our Android phones to play with Arduino (including the Google ADK)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Who&#039;&#039;&#039;: anyone (regardless of skill level) who cares to join in the fun&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Owen</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21347</id>
		<title>AndroidArduinoMeetup</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21347"/>
		<updated>2011-11-03T04:32:33Z</updated>

		<summary type="html">&lt;p&gt;Owen: /* Documentation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Intro ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On June 5th, 2011 an enthusiastic group of more than 40 people first gathered here at NoiseBridge for a new Android-Arduino Meetup. Pooling our collective technical know-how , we successfully managed to make our Android phones communicate with Arduino hardware.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;And&#039;&#039; our meetup was written up on the MAKE Magazine blog!:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://blog.makezine.com/archive/2011/06/using-the-android-open-accessory-api-without-a-nexus.html Using the Android Open Accessory API without a Nexus]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Google officially added Arduino support to new versions of the Android OS so that hardware development on Android phones is easy.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Arduino hardware that will work with Android phones includes:&amp;lt;br&amp;gt;&lt;br /&gt;
- the Google ADK (Android Development Kit)&amp;lt;br&amp;gt;&lt;br /&gt;
- a standard Arduino&amp;lt;br&amp;gt;&lt;br /&gt;
- any Arduino clone with a USB Host shield&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:ADKphoto.jpg|thumb|right|G2 phone controlling Google&#039;s ADK hardware, including two motors]]&lt;br /&gt;
First, since Arduino support is &#039;&#039;only available on new versions&#039;&#039; of the Android OS, a lot of people, myself included, needed to &#039;&#039;&#039;root&#039;&#039;&#039; their phones to get a new version of Android OS on them.  We met at one side of the room, where [[User:Rubin110|Rubin]] gave an overview of the process of rooting an Android phone, followed by a hands-on workshop.  I had my phone rooted, installed the latest Android OS (CyanogenMod), and then got my phone to control the Google ADK hardware!  I document my procedure below so others may benefit from my experience.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Note: By constrast, a number of other people at the meetup already had phones with versions of the Android OS compatible with Arduino hardware.  These people gathered at the electronics lab area and had their phones connected with Google ADK, standard Arduinos, and other Arduino clones (with USB Host shield).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
My phone is a new, eight-day-old T-Mobile G2 phone (also known as &#039;&#039;HTC Vision&#039;&#039;). It came with a version of Android OS (v2.2) that does not support Arduino hardware (need v2.3.4 or later). So, with the help of [[User:Rubin110|Rubin]] and others, I rooted my phone, and installed the latest version of Cyanogenmod (a fork of the official Android OS).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I attempted to document the steps I took so that others can have an easier time of it. Your process will probably be similar if you have a different type of Android phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This entire process took me 3 hours, but it will take you less time if you have a more recent version of Android as explained above.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The procedure is mostly given at:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting T-Mobile G2 Rooting]&amp;lt;br&amp;gt;&lt;br /&gt;
I will not reproduce everything here, but I&#039;ll provide a few notes that are very helpful to know.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Here are some other additional, useful resources:&amp;lt;br&amp;gt;&lt;br /&gt;
wiki.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
forms.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
xda-developers.com&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #cyanogenmod&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #noisebridge&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Steps I took to get Cyanogen on my G2:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Basically, follow the instructions here:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting&amp;lt;br&amp;gt;&lt;br /&gt;
Again, I am mostly just giving helpful notes below, not reproducing the entire procedure.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;The first step is to backup you phone.&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The next step is to get temporary root access.&amp;lt;br&amp;gt;&lt;br /&gt;
The main thing here is to &#039;&#039;get ADB running&#039;&#039;.  One way to do this is by installing the Android SDK on your computer.  Since wireless access at Noisebridge was overloaded with so many people using it at once, and since Miloh had the foresight to download the Android SDK for Windows, MacOS, and Linux, I downloaded the Windows version (yes, I use Windows) from Miloh’s account on Pony:&amp;lt;br&amp;gt;&lt;br /&gt;
http://developer.android.com/sdk/index.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;installer_r11-windows.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
But to be able to install the Android SDK, it is necessary to have the Java Development Kit running on your computer (the JRE alone is not sufficient). Download and install JDK on your computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u25-download-346242.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;jdk-6u25-windows-i586.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then double-click to install the Android SDK, BUT THERE IS A BUG in the installer: When it says that JDK is needed and it can’t be found, press BACK, and then press NEXT again, and it will proceed fine from there.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then I followed the instructions in this Android SDK guide on how to install the Android SDK on my computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=Howto:_Install_the_Android_SDK&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
As part of installing the Android SDK -- when I connected my phone to my computer, after installing everything, the ADB driver was not installed correctly.  So, per the guide&#039;s instructions, I had to continue with further steps to update the ADB driver. This worked fine for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Back to the instructions for G2 Rooting.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue to follow instructions to gain temporary root access on the phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Next we move on to gain permanent root access on the phone (with the added bonus of unlocking the phone!).&amp;lt;br&amp;gt;&lt;br /&gt;
Since the first gfree suggested (v0.04) gave me an error about failing to power cycle the eMMC, I had to use gfree v0.02. gfree v0.02 worked fine.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I did not flash the Engineering Hboot (stated as optional in the G2 Rooting instructions).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with intructions for Install a Custom Recovery Image.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with instructions for Flashing a Radio.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with instructions for Flashing CyanogenMod:&amp;lt;br&amp;gt;&lt;br /&gt;
After downloading the ROM Manager free version, it turns out that I couldn’t download the Cyanogenmod nightlies, which are the latest versions (need paid version or ROM Manager to get latest versions -- ugh), so I used the &amp;quot;second method&amp;quot; in the instructions, and downloaded the latest nightly on my computer, then transferred to G2:&amp;lt;br&amp;gt;&lt;br /&gt;
http://download.cyanogenmod.com/?device=vision&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;cm_cision_full-98.zip&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Because of legal reasons, there are a bunch of free Google Android apps that are not allowed to come with CyanogenMod.  You can download these (including Android Market) and transer them to the phone.  The package I downloaded and transferred to my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;CyanogenMod 7&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
NOTE:  When transferring files to phone, it is fine to transfer the zipped files.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Unhook phone, and then go back to instructions using Second Version.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Using ROM Manager, install cm_vision_full-98.zip&lt;br /&gt;
After reboot, it ignored instructions we gave it about backups, so when we get a screen full of orange text (Clockwork Flash Recovery), and did the following:&amp;lt;br&amp;gt;&lt;br /&gt;
- Backup and restore (to backup entire OS) (takes awhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe data/factory reset&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe cache partition&amp;lt;br&amp;gt;&lt;br /&gt;
- Advanced: Wipe dalvik cache  (not in instructions, but seemed worthwhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for cm_vision_full-98&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for Google apps (g_apps)&amp;lt;br&amp;gt;&lt;br /&gt;
- Reboot system&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If things falter at this point, I will have a bricked phone.  If things do go well, I should get CyanogenMod logo animation boot screen.  What will happen? . . . &amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  --   Though it took a couple of minutes watching the static HTC screen, the CyanogenMod logo animation came up, and my phone works great!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Then I installed the Google ADK software on my G2.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Lilia compiled the ADK software for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pro tip: when compiling the demo app under Eclipse, your build target (Project Properties -&amp;gt; Android -&amp;gt; Project Build Target) should be &amp;quot;Google APIs&amp;quot; API 10, which can be installed from the ADK/AVD manager -&amp;gt; Available packages -&amp;gt; Third party Add-ons -&amp;gt; Google Inc. -&amp;gt; Google APIs by Google Inc., Android API 10. This is NOT the same as the Android SDK 2.3.3 API 10.  --lilia&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When I connected the ADK hardware to my phone (via the USB cable), a screen appeared on my phone asking me if I want to connect.&amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  I can now control the ADK hardware with my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
- Light up the three RGB LEDs any color I like.&amp;lt;br&amp;gt;&lt;br /&gt;
- Move the three servo motors.&amp;lt;br&amp;gt;&lt;br /&gt;
- Turn the two relays on and off.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the temperature sensor.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the joystick position.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I can&#039;t wait to play with this more!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
There is a visually oriented programming language for very easily creating your own Android apps -- called App Inventor.  Here is a fun intro to it:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://appinventor.googlelabs.com/about/ http://appinventor.googlelabs.com/about/]&amp;lt;br&amp;gt;&lt;br /&gt;
I haven&#039;t used it, but I will...&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[User:Malman23|Mitch]].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
---------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Here is the original announcement:&amp;lt;br&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A couple of weeks ago Google announced the ability for Android to connect with Arduino to be used as a cheap, easy-to-use hardware development platform.  Google then created ADK (Android Development Kit, based on Arduino), which is not cheap -- but they gave a bunch away for free at the Maker Faire last weekend.&amp;lt;br&amp;gt; &lt;br /&gt;
[http://developer.android.com/guide/topics/usb/adk.html info on Android website]&amp;lt;br&amp;gt;&lt;br /&gt;
and&amp;lt;br&amp;gt;&lt;br /&gt;
[http://arduino.cc/blog/2011/05/10/google-launches-android-open-accessory-development-kit-based-on-arduino/ info on Aruino&#039;s website]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Since many of us are relatively clueless on how to hack Android phones, or how to connect them to Arduino to do cool things, a bunch of us are getting together next Sunday to put our collective heads together to see how to make it all work on our Android phones.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
It is likely that a Google employee and Android developer will be joining us to help out.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;When&#039;&#039;&#039;: Sunday, 5-June-2011, 3pm&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Where&#039;&#039;&#039;: Noisebridge 2169 Mission St., 3rd floor&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;What&#039;&#039;&#039;: get our Android phones to play with Arduino (including the Google ADK)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Who&#039;&#039;&#039;: anyone (regardless of skill level) who cares to join in the fun&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Owen</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21346</id>
		<title>AndroidArduinoMeetup</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21346"/>
		<updated>2011-11-03T04:28:13Z</updated>

		<summary type="html">&lt;p&gt;Owen: /* Documentation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Intro ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On June 5th, 2011 an enthusiastic group of more than 40 people first gathered here at NoiseBridge for a new Android-Arduino Meetup. Pooling our collective technical know-how , we successfully managed to make our Android phones communicate with Arduino hardware.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;And&#039;&#039; our meetup was written up on the MAKE Magazine blog!:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://blog.makezine.com/archive/2011/06/using-the-android-open-accessory-api-without-a-nexus.html Using the Android Open Accessory API without a Nexus]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Google officially added Arduino support to new versions of the Android OS so that hardware development on Android phones is easy.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Arduino hardware that will work with Android phones includes:&amp;lt;br&amp;gt;&lt;br /&gt;
- the Google ADK (Android Development Kit)&amp;lt;br&amp;gt;&lt;br /&gt;
- a standard Arduino&amp;lt;br&amp;gt;&lt;br /&gt;
- any Arduino clone with a USB Host shield&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:ADKphoto.jpg|thumb|right|G2 phone controlling Google&#039;s ADK hardware, including two motors]]&lt;br /&gt;
First, since Arduino support is &#039;&#039;only available on new versions&#039;&#039; of the Android OS, a lot of people, myself included, needed to &#039;&#039;&#039;root&#039;&#039;&#039; their phones to get a new version of Android OS on them.  We met at one side of the room, where [[User:Rubin110|Rubin]] gave an overview of the process of rooting an Android phone, followed by a hands-on workshop.  I had my phone rooted, installed the latest Android OS (CyanogenMod), and then got my phone to control the Google ADK hardware!  I document my procedure below so others may benefit from my experience.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Note: By constrast, a number of other people at the meetup already had phones with versions of the Android OS compatible with Arduino hardware.  These people gathered at the electronics lab area and had their phones connected with Google ADK, standard Arduinos, and other Arduino clones (with USB Host shield).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
My phone is a new, eight-day-old T-Mobile G2 phone (also known as &#039;&#039;HTC Vision&#039;&#039;). It came with a version of Android OS (v2.2) that does not support Arduino hardware (need v2.3.4 or later). So, with the help of [[User:Rubin110|Rubin]] and others, I rooted my phone, and installed the latest version of Cyanogenmod (a fork of the official Android OS).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I attempted to document the steps I took so that others can have an easier time of it. Your process will probably be similar if you have a different type of Android phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This entire process took me 3 hours, but it will take you less time if you have a more recent version of Android as explained above.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The procedure is mostly given at:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting T-Mobile G2 Rooting]&amp;lt;br&amp;gt;&lt;br /&gt;
I will not reproduce everything here, but I&#039;ll provide a few notes that are very helpful to know.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Here are some other additional, useful resources:&amp;lt;br&amp;gt;&lt;br /&gt;
wiki.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
forms.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
xda-developers.com&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #cyanogenmod&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #noisebridge&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Steps I took to get Cyanogen on my G2:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Basically, follow the instructions here:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting&amp;lt;br&amp;gt;&lt;br /&gt;
Again, I am mostly just giving helpful notes below, not reproducing the entire procedure.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;The first step is to backup you phone.&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The next step is to get temporary root access.&amp;lt;br&amp;gt;&lt;br /&gt;
The main thing here is to &#039;&#039;get ADB running&#039;&#039;.  One way to do this is by installing the Android SDK on your computer.  Since wireless access at Noisebridge was overloaded with so many people using it at once, and since Miloh had the foresight to download the Android SDK for Windows, MacOS, and Linux, I downloaded the Windows version (yes, I use Windows) from Miloh’s account on Pony:&amp;lt;br&amp;gt;&lt;br /&gt;
http://developer.android.com/sdk/index.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;installer_r11-windows.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
But to be able to install the Android SDK, it is necessary to have the Java Development Kit running on your computer (the JRE alone is not sufficient).&amp;lt;br&amp;gt;&lt;br /&gt;
Download and install JDK on your computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u25-download-346242.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;jdk-6u25-windows-i586.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then double-click to install the Android SDK, BUT THERE IS A BUG in the installer: When it says that JDK is needed and it can’t be found, press BACK, and then press NEXT again, and it will proceed fine from there.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then I followed the instructions in this Android SDK guide on how to install the Android SDK on my computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=Howto:_Install_the_Android_SDK&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
As part of installing the Android SDK -- when I connected my phone to my computer, after installing everything, the ADB driver was not installed correctly.  So, per the guide&#039;s instructions, I had to continue with further steps to update the ADB driver. This worked fine for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Back to the instructions for G2 Rooting.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue to follow instructions to gain temporary root access on the phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Next we move on to gain permanent root access on the phone (with the added bonus of unlocking the phone!).&amp;lt;br&amp;gt;&lt;br /&gt;
I had to use gfree v0.02 since the first gfree suggested (v0.04) gave me an error about failing to power cycle the eMMC (gfree_02 worked fine).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I did not flash the Engineering Hboot (stated as optional in the G2 Rooting instructions).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with intructions for Install a Custom Recovery Image.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with instructions for Flashing a Radio.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with instructions for Flashing CyanogenMod:&amp;lt;br&amp;gt;&lt;br /&gt;
After downloading the ROM Manager free version, it turns out that I couldn’t download the Cyanogenmod nightlies, which are the latest versions (need paid version or ROM Manager to get latest versions -- ugh), so I used the &amp;quot;second method&amp;quot; in the instructions, and downloaded the latest nightly on my computer, then transferred to G2:&amp;lt;br&amp;gt;&lt;br /&gt;
http://download.cyanogenmod.com/?device=vision&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;cm_cision_full-98.zip&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Because of legal reasons, there are a bunch of free Google Android apps that are not allowed to come with CyanogenMod.  You can download these (including Android Market) and transer them to the phone.  The package I downloaded and transferred to my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;CyanogenMod 7&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
NOTE:  When transferring files to phone, it is fine to transfer the zipped files.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Unhook phone, and then go back to instructions using Second Version.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Using ROM Manager, install cm_vision_full-98.zip&lt;br /&gt;
After reboot, it ignored instructions we gave it about backups, so when we get a screen full of orange text (Clockwork Flash Recovery), and did the following:&amp;lt;br&amp;gt;&lt;br /&gt;
- Backup and restore (to backup entire OS) (takes awhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe data/factory reset&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe cache partition&amp;lt;br&amp;gt;&lt;br /&gt;
- Advanced: Wipe dalvik cache  (not in instructions, but seemed worthwhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for cm_vision_full-98&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for Google apps (g_apps)&amp;lt;br&amp;gt;&lt;br /&gt;
- Reboot system&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If things falter at this point, I will have a bricked phone.  If things do go well, I should get CyanogenMod logo animation boot screen.  What will happen? . . . &amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  --   Though it took a couple of minutes watching the static HTC screen, the CyanogenMod logo animation came up, and my phone works great!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Then I installed the Google ADK software on my G2.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Lilia compiled the ADK software for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pro tip: when compiling the demo app under Eclipse, your build target (Project Properties -&amp;gt; Android -&amp;gt; Project Build Target) should be &amp;quot;Google APIs&amp;quot; API 10, which can be installed from the ADK/AVD manager -&amp;gt; Available packages -&amp;gt; Third party Add-ons -&amp;gt; Google Inc. -&amp;gt; Google APIs by Google Inc., Android API 10. This is NOT the same as the Android SDK 2.3.3 API 10.  --lilia&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When I connected the ADK hardware to my phone (via the USB cable), a screen appeared on my phone asking me if I want to connect.&amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  I can now control the ADK hardware with my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
- Light up the three RGB LEDs any color I like.&amp;lt;br&amp;gt;&lt;br /&gt;
- Move the three servo motors.&amp;lt;br&amp;gt;&lt;br /&gt;
- Turn the two relays on and off.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the temperature sensor.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the joystick position.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I can&#039;t wait to play with this more!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
There is a visually oriented programming language for very easily creating your own Android apps -- called App Inventor.  Here is a fun intro to it:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://appinventor.googlelabs.com/about/ http://appinventor.googlelabs.com/about/]&amp;lt;br&amp;gt;&lt;br /&gt;
I haven&#039;t used it, but I will...&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[User:Malman23|Mitch]].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
---------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Here is the original announcement:&amp;lt;br&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A couple of weeks ago Google announced the ability for Android to connect with Arduino to be used as a cheap, easy-to-use hardware development platform.  Google then created ADK (Android Development Kit, based on Arduino), which is not cheap -- but they gave a bunch away for free at the Maker Faire last weekend.&amp;lt;br&amp;gt; &lt;br /&gt;
[http://developer.android.com/guide/topics/usb/adk.html info on Android website]&amp;lt;br&amp;gt;&lt;br /&gt;
and&amp;lt;br&amp;gt;&lt;br /&gt;
[http://arduino.cc/blog/2011/05/10/google-launches-android-open-accessory-development-kit-based-on-arduino/ info on Aruino&#039;s website]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Since many of us are relatively clueless on how to hack Android phones, or how to connect them to Arduino to do cool things, a bunch of us are getting together next Sunday to put our collective heads together to see how to make it all work on our Android phones.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
It is likely that a Google employee and Android developer will be joining us to help out.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;When&#039;&#039;&#039;: Sunday, 5-June-2011, 3pm&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Where&#039;&#039;&#039;: Noisebridge 2169 Mission St., 3rd floor&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;What&#039;&#039;&#039;: get our Android phones to play with Arduino (including the Google ADK)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Who&#039;&#039;&#039;: anyone (regardless of skill level) who cares to join in the fun&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Owen</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21343</id>
		<title>AndroidArduinoMeetup</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21343"/>
		<updated>2011-11-03T03:39:48Z</updated>

		<summary type="html">&lt;p&gt;Owen: /* Documentation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Intro ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On June 5th, 2011 an enthusiastic group of more than 40 people first gathered here at NoiseBridge for a new Android-Arduino Meetup. Pooling our collective technical know-how , we successfully managed to make our Android phones communicate with Arduino hardware.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;And&#039;&#039; our meetup was written up on the MAKE Magazine blog!:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://blog.makezine.com/archive/2011/06/using-the-android-open-accessory-api-without-a-nexus.html Using the Android Open Accessory API without a Nexus]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Google officially added Arduino support to new versions of the Android OS so that hardware development on Android phones is easy.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Arduino hardware that will work with Android phones includes:&amp;lt;br&amp;gt;&lt;br /&gt;
- the Google ADK (Android Development Kit)&amp;lt;br&amp;gt;&lt;br /&gt;
- a standard Arduino&amp;lt;br&amp;gt;&lt;br /&gt;
- any Arduino clone with a USB Host shield&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:ADKphoto.jpg|thumb|right|G2 phone controlling Google&#039;s ADK hardware, including two motors]]&lt;br /&gt;
First, since Arduino support is &#039;&#039;only available on new versions&#039;&#039; of the Android OS, a lot of people, myself included, needed to &#039;&#039;&#039;root&#039;&#039;&#039; their phones to get a new version of Android OS on them.  We met at one side of the room, where [[User:Rubin110|Rubin]] gave an overview of the process of rooting an Android phone, followed by a hands-on workshop.  I had my phone rooted, installed the latest Android OS (CyanogenMod), and then got my phone to control the Google ADK hardware!  I document my procedure below so others may benefit from my experience.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Note: By constrast, a number of other people at the meetup already had phones with versions of the Android OS compatible with Arduino hardware.  These people gathered at the electronics lab area and had their phones connected with Google ADK, standard Arduinos, and other Arduino clones (with USB Host shield).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
My phone is a new, eight-day-old T-Mobile G2 phone (also known as &#039;&#039;HTC Vision&#039;&#039;). It came with a version of Android OS (v2.2) that does not support Arduino hardware (need v2.3.4 or later). So, with the help of [[User:Rubin110|Rubin]] and others, I rooted my phone, and installed the latest version of Cyanogenmod (a fork of the official Android OS).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I attempted to document the steps I took so that others can have an easier time of it. Your process will probably be similar if you have a different type of Android phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This entire process took me 3 hours, but it will take you less time if you have a more recent version of Android as explained above.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The procedure is mostly given at:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting T-Mobile G2 Rooting]&amp;lt;br&amp;gt;&lt;br /&gt;
I will not reproduce everything here, but I&#039;ll provide a few notes that are very helpful to know.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Here are some other additional, useful resources:&amp;lt;br&amp;gt;&lt;br /&gt;
wiki.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
forms.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
xda-developers.com&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #cyanogenmod&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #noisebridge&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Steps I took to get Cyanogen on my G2:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Basically, follow the instructions here:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting&amp;lt;br&amp;gt;&lt;br /&gt;
Again, I am mostly just giving helpful notes below, not reproducing the entire procedure.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The first step is to backup you phone.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The next step is to get temporary root access.&amp;lt;br&amp;gt;&lt;br /&gt;
The main thing here is to &#039;&#039;get ADB running&#039;&#039;.  One way to do this is by installing the Android SDK on your computer.  Since the wireless at Noisebridge was overloaded with so many people using it at once, and since Miloh had the foresight to download the Android SDK for Windows, MacOS, and Linux, I downloaded the Windows version (yes, I use Windows) from Miloh’s account on Pony:&amp;lt;br&amp;gt;&lt;br /&gt;
http://developer.android.com/sdk/index.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;installer_r11-windows.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
But to be able to install the Android SDK, it is necessary to have Java Development Kit running on your computer (JRE is not good enough).&amp;lt;br&amp;gt;&lt;br /&gt;
Download and install JDK on your computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u25-download-346242.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;jdk-6u25-windows-i586.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then double-click to install the Android SDK, BUT THERE IS A BUG in the installer:&amp;lt;br&amp;gt;&lt;br /&gt;
When it says that JDK is needed and it can’t be found, press BACK, and then press NEXT again, and it will procede fine from there.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then I followed the instructions in this Android SDK guide on how to install the Android SDK on my computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=Howto:_Install_the_Android_SDK&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
As part of installing the Android SDK -- when I connected my phone to my computer, after installing everything, the ADB driver was not installed correctly.  So, per the guide&#039;s instructions, I had to continue with further steps to update the ADB driver. This worked fine for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Back to the instructions for G2 Rooting.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue to follow instructions to gain temporary root access on the phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Next we move on to gain permanent root access on the phone (with the added bonus of unlocking the phone!).&amp;lt;br&amp;gt;&lt;br /&gt;
I had to use gfree v0.02 since the first gfree suggested (v0.04) gave me an error about failing to power cycle the eMMC (gfree_02 worked fine).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I did not flash the Engineering Hboot (stated as optional in the G2 Rooting instructions).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with intructions for Install a Custom Recovery Image.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with instructions for Flashing a Radio.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with instructions for Flashing CyanogenMod:&amp;lt;br&amp;gt;&lt;br /&gt;
After downloading the ROM Manager free version, it turns out that I couldn’t download the Cyanogenmod nightlies, which are the latest versions (need paid version or ROM Manager to get latest versions -- ugh), so I used the &amp;quot;second method&amp;quot; in the instructions, and downloaded the latest nightly on my computer, then transferred to G2:&amp;lt;br&amp;gt;&lt;br /&gt;
http://download.cyanogenmod.com/?device=vision&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;cm_cision_full-98.zip&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Because of legal reasons, there are a bunch of free Google Android apps that are not allowed to come with CyanogenMod.  You can download these (including Android Market) and transer them to the phone.  The package I downloaded and transferred to my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;CyanogenMod 7&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
NOTE:  When transferring files to phone, it is fine to transfer the zipped files.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Unhook phone, and then go back to instructions using Second Version.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Using ROM Manager, install cm_vision_full-98.zip&lt;br /&gt;
After reboot, it ignored instructions we gave it about backups, so when we get a screen full of orange text (Clockwork Flash Recovery), and did the following:&amp;lt;br&amp;gt;&lt;br /&gt;
- Backup and restore (to backup entire OS) (takes awhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe data/factory reset&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe cache partition&amp;lt;br&amp;gt;&lt;br /&gt;
- Advanced: Wipe dalvik cache  (not in instructions, but seemed worthwhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for cm_vision_full-98&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for Google apps (g_apps)&amp;lt;br&amp;gt;&lt;br /&gt;
- Reboot system&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If things falter at this point, I will have a bricked phone.  If things do go well, I should get CyanogenMod logo animation boot screen.  What will happen? . . . &amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  --   Though it took a couple of minutes watching the static HTC screen, the CyanogenMod logo animation came up, and my phone works great!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Then I installed the Google ADK software on my G2.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Lilia compiled the ADK software for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pro tip: when compiling the demo app under Eclipse, your build target (Project Properties -&amp;gt; Android -&amp;gt; Project Build Target) should be &amp;quot;Google APIs&amp;quot; API 10, which can be installed from the ADK/AVD manager -&amp;gt; Available packages -&amp;gt; Third party Add-ons -&amp;gt; Google Inc. -&amp;gt; Google APIs by Google Inc., Android API 10. This is NOT the same as the Android SDK 2.3.3 API 10.  --lilia&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When I connected the ADK hardware to my phone (via the USB cable), a screen appeared on my phone asking me if I want to connect.&amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  I can now control the ADK hardware with my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
- Light up the three RGB LEDs any color I like.&amp;lt;br&amp;gt;&lt;br /&gt;
- Move the three servo motors.&amp;lt;br&amp;gt;&lt;br /&gt;
- Turn the two relays on and off.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the temperature sensor.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the joystick position.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I can&#039;t wait to play with this more!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
There is a visually oriented programming language for very easily creating your own Android apps -- called App Inventor.  Here is a fun intro to it:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://appinventor.googlelabs.com/about/ http://appinventor.googlelabs.com/about/]&amp;lt;br&amp;gt;&lt;br /&gt;
I haven&#039;t used it, but I will...&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[User:Malman23|Mitch]].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
---------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Here is the original announcement:&amp;lt;br&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A couple of weeks ago Google announced the ability for Android to connect with Arduino to be used as a cheap, easy-to-use hardware development platform.  Google then created ADK (Android Development Kit, based on Arduino), which is not cheap -- but they gave a bunch away for free at the Maker Faire last weekend.&amp;lt;br&amp;gt; &lt;br /&gt;
[http://developer.android.com/guide/topics/usb/adk.html info on Android website]&amp;lt;br&amp;gt;&lt;br /&gt;
and&amp;lt;br&amp;gt;&lt;br /&gt;
[http://arduino.cc/blog/2011/05/10/google-launches-android-open-accessory-development-kit-based-on-arduino/ info on Aruino&#039;s website]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Since many of us are relatively clueless on how to hack Android phones, or how to connect them to Arduino to do cool things, a bunch of us are getting together next Sunday to put our collective heads together to see how to make it all work on our Android phones.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
It is likely that a Google employee and Android developer will be joining us to help out.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;When&#039;&#039;&#039;: Sunday, 5-June-2011, 3pm&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Where&#039;&#039;&#039;: Noisebridge 2169 Mission St., 3rd floor&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;What&#039;&#039;&#039;: get our Android phones to play with Arduino (including the Google ADK)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Who&#039;&#039;&#039;: anyone (regardless of skill level) who cares to join in the fun&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Owen</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21342</id>
		<title>AndroidArduinoMeetup</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21342"/>
		<updated>2011-11-03T03:30:39Z</updated>

		<summary type="html">&lt;p&gt;Owen: /* Intro */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Intro ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On June 5th, 2011 an enthusiastic group of more than 40 people first gathered here at NoiseBridge for a new Android-Arduino Meetup. Pooling our collective technical know-how , we successfully managed to make our Android phones communicate with Arduino hardware.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;And&#039;&#039; our meetup was written up on the MAKE Magazine blog!:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://blog.makezine.com/archive/2011/06/using-the-android-open-accessory-api-without-a-nexus.html Using the Android Open Accessory API without a Nexus]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Google officially added Arduino support to new versions of the Android OS so that hardware development on Android phones is easy.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Arduino hardware that will work with Android phones includes:&amp;lt;br&amp;gt;&lt;br /&gt;
- the Google ADK (Android Development Kit)&amp;lt;br&amp;gt;&lt;br /&gt;
- a standard Arduino&amp;lt;br&amp;gt;&lt;br /&gt;
- any Arduino clone with a USB Host shield&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:ADKphoto.jpg|thumb|right|G2 phone controlling Google&#039;s ADK hardware, including two motors]]&lt;br /&gt;
First, since Arduino support is &#039;&#039;only available on new versions&#039;&#039; of the Android OS, a lot of people, myself included, needed to &#039;&#039;&#039;root&#039;&#039;&#039; their phones to get a new version of Android OS on them.  We met at one side of the room, where [[User:Rubin110|Rubin]] gave an overview of the process of rooting an Android phone, followed by a hands-on workshop.  I had my phone rooted, installed the latest Android OS (CyanogenMod), and then got my phone to control the Google ADK hardware!  I document my procedure below so others may benefit from my experience.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Note: By constrast, a number of other people at the meetup already had phones with versions of the Android OS compatible with Arduino hardware.  These people gathered at the electronics lab area and had their phones connected with Google ADK, standard Arduinos, and other Arduino clones (with USB Host shield).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
My phone is a new, eight-day-old T-Mobile G2 phone (also known as &#039;&#039;HTC Vision&#039;&#039;). It came with a version of Android OS (v2.2) that does not support Arduino hardware (need v2.3.4 or later). So, with the help of [[User:Rubin110|Rubin]] and others, I rooted my phone, and installed the latest version of Cyanogenmod (a fork of the official Android OS).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I attempted to document the steps I took so that others can have an easier time of it. Your process will probably be similar if you have a different type of Android phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This entire process took me 3 hours, but it will take you less time if you have a more recent version of Android as explained above.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The procedure is mostly given at:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting T-Mobile G2 Rooting]&amp;lt;br&amp;gt;&lt;br /&gt;
I will not reproduce everything here, but there are a few notes that I&#039;ll give that  are very helpful to know.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Here are some other resources (which I did not use, but may be helpful):&amp;lt;br&amp;gt;&lt;br /&gt;
wiki.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
forms.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
xda-developers.com&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #cyanogenmod&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #noisebridge&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Steps I took to get Cyanogen on my G2:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Basically, follow the instructions here:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting&amp;lt;br&amp;gt;&lt;br /&gt;
I am mostly just giving helpful notes, below, and not reproducing the entire procedure.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The first step is to backup you phone.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The next step is to get temporary root access.&amp;lt;br&amp;gt;&lt;br /&gt;
The main thing here is to get ADB running.  One way to do this is by installing the Android SDK on your computer.  Since the wireless at Noisebridge was overloaded with so many people using it at once, and since Miloh had the foresight to download the Android SDK for Windows, MacOS, and Linux, I downloaded the Windows version (yes, I use Windows) from Miloh’s account on Pony:&amp;lt;br&amp;gt;&lt;br /&gt;
http://developer.android.com/sdk/index.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;installer_r11-windows.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
But to be able to install the Android SDK, it is necessary to have Java Development Kit running on your computer (JRE is not good enough).&amp;lt;br&amp;gt;&lt;br /&gt;
Downlowd and install JDK on my computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u25-download-346242.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;jdk-6u25-windows-i586.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then double-click to install the Android SDK, BUT THERE IS A BUG in the installer:&amp;lt;br&amp;gt;&lt;br /&gt;
When it says that JDK is needed and it can’t be found, press BACK, and then press NEXT again, and it will procede fine from there.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then I followed the instructions in this Android SDK guide on how to install the Android SDK on my computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=Howto:_Install_the_Android_SDK&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
As part of installing the Android SDK -- when I connected my phone to my computer, after installing everything, the ADB driver was not installed correctly.  So, per the guide&#039;s instructions, I had to continue with further steps to update the ADB driver. This worked fine for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Back to the instructions for G2 Rooting.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue to follow instructions to gain temporary root access on the phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Next we move on to gain permanent root access on the phone (with the added bonus of unlocking the phone!).&amp;lt;br&amp;gt;&lt;br /&gt;
I had to use gfree v0.02 since the first gfree suggested (v0.04) gave me an error about failing to power cycle the eMMC (gfree_02 worked fine).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I did not flash the Engineering Hboot (stated as optional in the G2 Rooting instructions).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with intructions for Install a Custom Recovery Image.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with instructions for Flashing a Radio.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with instructions for Flashing CyanogenMod:&amp;lt;br&amp;gt;&lt;br /&gt;
After downloading the ROM Manager free version, it turns out that I couldn’t download the Cyanogenmod nightlies, which are the latest versions (need paid version or ROM Manager to get latest versions -- ugh), so I used the &amp;quot;second method&amp;quot; in the instructions, and downloaded the latest nightly on my computer, then transferred to G2:&amp;lt;br&amp;gt;&lt;br /&gt;
http://download.cyanogenmod.com/?device=vision&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;cm_cision_full-98.zip&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Because of legal reasons, there are a bunch of free Google Android apps that are not allowed to come with CyanogenMod.  You can download these (including Android Market) and transer them to the phone.  The package I downloaded and transferred to my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;CyanogenMod 7&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
NOTE:  When transferring files to phone, it is fine to transfer the zipped files.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Unhook phone, and then go back to instructions using Second Version.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Using ROM Manager, install cm_vision_full-98.zip&lt;br /&gt;
After reboot, it ignored instructions we gave it about backups, so when we get a screen full of orange text (Clockwork Flash Recovery), and did the following:&amp;lt;br&amp;gt;&lt;br /&gt;
- Backup and restore (to backup entire OS) (takes awhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe data/factory reset&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe cache partition&amp;lt;br&amp;gt;&lt;br /&gt;
- Advanced: Wipe dalvik cache  (not in instructions, but seemed worthwhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for cm_vision_full-98&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for Google apps (g_apps)&amp;lt;br&amp;gt;&lt;br /&gt;
- Reboot system&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If things falter at this point, I will have a bricked phone.  If things do go well, I should get CyanogenMod logo animation boot screen.  What will happen? . . . &amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  --   Though it took a couple of minutes watching the static HTC screen, the CyanogenMod logo animation came up, and my phone works great!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Then I installed the Google ADK software on my G2.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Lilia compiled the ADK software for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pro tip: when compiling the demo app under Eclipse, your build target (Project Properties -&amp;gt; Android -&amp;gt; Project Build Target) should be &amp;quot;Google APIs&amp;quot; API 10, which can be installed from the ADK/AVD manager -&amp;gt; Available packages -&amp;gt; Third party Add-ons -&amp;gt; Google Inc. -&amp;gt; Google APIs by Google Inc., Android API 10. This is NOT the same as the Android SDK 2.3.3 API 10.  --lilia&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When I connected the ADK hardware to my phone (via the USB cable), a screen appeared on my phone asking me if I want to connect.&amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  I can now control the ADK hardware with my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
- Light up the three RGB LEDs any color I like.&amp;lt;br&amp;gt;&lt;br /&gt;
- Move the three servo motors.&amp;lt;br&amp;gt;&lt;br /&gt;
- Turn the two relays on and off.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the temperature sensor.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the joystick position.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I can&#039;t wait to play with this more!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
There is a visually oriented programming language for very easily creating your own Android apps -- called App Inventor.  Here is a fun intro to it:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://appinventor.googlelabs.com/about/ http://appinventor.googlelabs.com/about/]&amp;lt;br&amp;gt;&lt;br /&gt;
I haven&#039;t used it, but I will...&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[User:Malman23|Mitch]].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
---------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Here is the original announcement:&amp;lt;br&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A couple of weeks ago Google announced the ability for Android to connect with Arduino to be used as a cheap, easy-to-use hardware development platform.  Google then created ADK (Android Development Kit, based on Arduino), which is not cheap -- but they gave a bunch away for free at the Maker Faire last weekend.&amp;lt;br&amp;gt; &lt;br /&gt;
[http://developer.android.com/guide/topics/usb/adk.html info on Android website]&amp;lt;br&amp;gt;&lt;br /&gt;
and&amp;lt;br&amp;gt;&lt;br /&gt;
[http://arduino.cc/blog/2011/05/10/google-launches-android-open-accessory-development-kit-based-on-arduino/ info on Aruino&#039;s website]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Since many of us are relatively clueless on how to hack Android phones, or how to connect them to Arduino to do cool things, a bunch of us are getting together next Sunday to put our collective heads together to see how to make it all work on our Android phones.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
It is likely that a Google employee and Android developer will be joining us to help out.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;When&#039;&#039;&#039;: Sunday, 5-June-2011, 3pm&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Where&#039;&#039;&#039;: Noisebridge 2169 Mission St., 3rd floor&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;What&#039;&#039;&#039;: get our Android phones to play with Arduino (including the Google ADK)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Who&#039;&#039;&#039;: anyone (regardless of skill level) who cares to join in the fun&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Owen</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21341</id>
		<title>AndroidArduinoMeetup</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21341"/>
		<updated>2011-11-03T03:26:05Z</updated>

		<summary type="html">&lt;p&gt;Owen: /* Intro */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Intro ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On June 5th, 2011 an enthusiastic group of more than 40 people first gathered here at NoiseBridge for a new Android-Arduino Meetup. Pooling our collective technical know-how , we successfully managed to make our Android phones communicate with Arduino hardware.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;And&#039;&#039; our meetup was written up on the MAKE Magazine blog!:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://blog.makezine.com/archive/2011/06/using-the-android-open-accessory-api-without-a-nexus.html Using the Android Open Accessory API without a Nexus]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Google officially added Arduino support to new versions of the Android OS so that hardware development on Android phones is easy.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Arduino hardware that will work with Android phones includes:&amp;lt;br&amp;gt;&lt;br /&gt;
- the Google ADK (Android Development Kit)&amp;lt;br&amp;gt;&lt;br /&gt;
- a standard Arduino&amp;lt;br&amp;gt;&lt;br /&gt;
- any Arduino clone with a USB Host shield&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:ADKphoto.jpg|thumb|right|G2 phone controlling Google&#039;s ADK hardware, including two motors]]&lt;br /&gt;
First, since Arduino support is &#039;&#039;only available on new versions&#039;&#039; of the Android OS, a lot of people, myself included, needed to &#039;&#039;&#039;root&#039;&#039;&#039; their phones to get a new version of Android OS on them.  We met at one side of the room, where [[User:Rubin110|Rubin]] gave an overview of the process of rooting an Android phone, followed by a hands-on workshop.  I had my phone rooted, installed the latest Android OS (CyanogenMod), and then got my phone to control the Google ADK hardware!  I document my procedure below so others may benefit from my experience.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Note: By constrast, a number of other people at the meetup already had phones with versions of the Android OS compatible with Arduino hardware.  These people gathered at the electronics lab area and had their phones connected with Google ADK, standard Arduinos, and other Arduino clones (with USB Host shield).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
My phone is a new, eight-day-old T-Mobile G2 phone (also known as &#039;&#039;HTC Vision&#039;&#039;). It came with a version of Android OS (v2.2) that does not support Arduino hardware (need 2.3.4 or later). So, with the help of [[User:Rubin110|Rubin]] and others, I rooted my phone, and installed the latest version of Cyanogenmod (a fork of the official Android OS).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I attempted to document the steps I went through, so that others can have an easier time of it. The steps will probably be similar if you have another type of Android phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This entire process took me 3 hours, but it will take you less time if you have a more recent version of Android as explained above.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The procedure is mostly given at:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting T-Mobile G2 Rooting]&amp;lt;br&amp;gt;&lt;br /&gt;
I will not reproduce everything here, but there are a few notes that I&#039;ll give that  are very helpful to know.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Here are some other resources (which I did not use, but may be helpful):&amp;lt;br&amp;gt;&lt;br /&gt;
wiki.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
forms.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
xda-developers.com&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #cyanogenmod&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #noisebridge&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Steps I took to get Cyanogen on my G2:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Basically, follow the instructions here:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting&amp;lt;br&amp;gt;&lt;br /&gt;
I am mostly just giving helpful notes, below, and not reproducing the entire procedure.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The first step is to backup you phone.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The next step is to get temporary root access.&amp;lt;br&amp;gt;&lt;br /&gt;
The main thing here is to get ADB running.  One way to do this is by installing the Android SDK on your computer.  Since the wireless at Noisebridge was overloaded with so many people using it at once, and since Miloh had the foresight to download the Android SDK for Windows, MacOS, and Linux, I downloaded the Windows version (yes, I use Windows) from Miloh’s account on Pony:&amp;lt;br&amp;gt;&lt;br /&gt;
http://developer.android.com/sdk/index.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;installer_r11-windows.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
But to be able to install the Android SDK, it is necessary to have Java Development Kit running on your computer (JRE is not good enough).&amp;lt;br&amp;gt;&lt;br /&gt;
Downlowd and install JDK on my computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u25-download-346242.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;jdk-6u25-windows-i586.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then double-click to install the Android SDK, BUT THERE IS A BUG in the installer:&amp;lt;br&amp;gt;&lt;br /&gt;
When it says that JDK is needed and it can’t be found, press BACK, and then press NEXT again, and it will procede fine from there.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then I followed the instructions in this Android SDK guide on how to install the Android SDK on my computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=Howto:_Install_the_Android_SDK&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
As part of installing the Android SDK -- when I connected my phone to my computer, after installing everything, the ADB driver was not installed correctly.  So, per the guide&#039;s instructions, I had to continue with further steps to update the ADB driver. This worked fine for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Back to the instructions for G2 Rooting.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue to follow instructions to gain temporary root access on the phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Next we move on to gain permanent root access on the phone (with the added bonus of unlocking the phone!).&amp;lt;br&amp;gt;&lt;br /&gt;
I had to use gfree v0.02 since the first gfree suggested (v0.04) gave me an error about failing to power cycle the eMMC (gfree_02 worked fine).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I did not flash the Engineering Hboot (stated as optional in the G2 Rooting instructions).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with intructions for Install a Custom Recovery Image.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with instructions for Flashing a Radio.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with instructions for Flashing CyanogenMod:&amp;lt;br&amp;gt;&lt;br /&gt;
After downloading the ROM Manager free version, it turns out that I couldn’t download the Cyanogenmod nightlies, which are the latest versions (need paid version or ROM Manager to get latest versions -- ugh), so I used the &amp;quot;second method&amp;quot; in the instructions, and downloaded the latest nightly on my computer, then transferred to G2:&amp;lt;br&amp;gt;&lt;br /&gt;
http://download.cyanogenmod.com/?device=vision&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;cm_cision_full-98.zip&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Because of legal reasons, there are a bunch of free Google Android apps that are not allowed to come with CyanogenMod.  You can download these (including Android Market) and transer them to the phone.  The package I downloaded and transferred to my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;CyanogenMod 7&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
NOTE:  When transferring files to phone, it is fine to transfer the zipped files.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Unhook phone, and then go back to instructions using Second Version.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Using ROM Manager, install cm_vision_full-98.zip&lt;br /&gt;
After reboot, it ignored instructions we gave it about backups, so when we get a screen full of orange text (Clockwork Flash Recovery), and did the following:&amp;lt;br&amp;gt;&lt;br /&gt;
- Backup and restore (to backup entire OS) (takes awhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe data/factory reset&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe cache partition&amp;lt;br&amp;gt;&lt;br /&gt;
- Advanced: Wipe dalvik cache  (not in instructions, but seemed worthwhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for cm_vision_full-98&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for Google apps (g_apps)&amp;lt;br&amp;gt;&lt;br /&gt;
- Reboot system&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If things falter at this point, I will have a bricked phone.  If things do go well, I should get CyanogenMod logo animation boot screen.  What will happen? . . . &amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  --   Though it took a couple of minutes watching the static HTC screen, the CyanogenMod logo animation came up, and my phone works great!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Then I installed the Google ADK software on my G2.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Lilia compiled the ADK software for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pro tip: when compiling the demo app under Eclipse, your build target (Project Properties -&amp;gt; Android -&amp;gt; Project Build Target) should be &amp;quot;Google APIs&amp;quot; API 10, which can be installed from the ADK/AVD manager -&amp;gt; Available packages -&amp;gt; Third party Add-ons -&amp;gt; Google Inc. -&amp;gt; Google APIs by Google Inc., Android API 10. This is NOT the same as the Android SDK 2.3.3 API 10.  --lilia&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When I connected the ADK hardware to my phone (via the USB cable), a screen appeared on my phone asking me if I want to connect.&amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  I can now control the ADK hardware with my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
- Light up the three RGB LEDs any color I like.&amp;lt;br&amp;gt;&lt;br /&gt;
- Move the three servo motors.&amp;lt;br&amp;gt;&lt;br /&gt;
- Turn the two relays on and off.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the temperature sensor.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the joystick position.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I can&#039;t wait to play with this more!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
There is a visually oriented programming language for very easily creating your own Android apps -- called App Inventor.  Here is a fun intro to it:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://appinventor.googlelabs.com/about/ http://appinventor.googlelabs.com/about/]&amp;lt;br&amp;gt;&lt;br /&gt;
I haven&#039;t used it, but I will...&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[User:Malman23|Mitch]].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
---------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Here is the original announcement:&amp;lt;br&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A couple of weeks ago Google announced the ability for Android to connect with Arduino to be used as a cheap, easy-to-use hardware development platform.  Google then created ADK (Android Development Kit, based on Arduino), which is not cheap -- but they gave a bunch away for free at the Maker Faire last weekend.&amp;lt;br&amp;gt; &lt;br /&gt;
[http://developer.android.com/guide/topics/usb/adk.html info on Android website]&amp;lt;br&amp;gt;&lt;br /&gt;
and&amp;lt;br&amp;gt;&lt;br /&gt;
[http://arduino.cc/blog/2011/05/10/google-launches-android-open-accessory-development-kit-based-on-arduino/ info on Aruino&#039;s website]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Since many of us are relatively clueless on how to hack Android phones, or how to connect them to Arduino to do cool things, a bunch of us are getting together next Sunday to put our collective heads together to see how to make it all work on our Android phones.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
It is likely that a Google employee and Android developer will be joining us to help out.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;When&#039;&#039;&#039;: Sunday, 5-June-2011, 3pm&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Where&#039;&#039;&#039;: Noisebridge 2169 Mission St., 3rd floor&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;What&#039;&#039;&#039;: get our Android phones to play with Arduino (including the Google ADK)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Who&#039;&#039;&#039;: anyone (regardless of skill level) who cares to join in the fun&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Owen</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21340</id>
		<title>AndroidArduinoMeetup</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21340"/>
		<updated>2011-11-03T03:23:35Z</updated>

		<summary type="html">&lt;p&gt;Owen: /* Intro */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Intro ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On June 5th, 2011 an enthusiastic group of more than 40 people first gathered here at NoiseBridge for a new Android-Arduino Meetup. Pooling our collective technical know-how , we successfully managed to make our Android phones communicate with Arduino hardware.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;And&#039;&#039; our meetup was written up on the MAKE Magazine blog!:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://blog.makezine.com/archive/2011/06/using-the-android-open-accessory-api-without-a-nexus.html Using the Android Open Accessory API without a Nexus]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Google officially added Arduino support to new versions of the Android OS so that hardware development on Android phones is easy.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Arduino hardware that will work with Android phones includes:&amp;lt;br&amp;gt;&lt;br /&gt;
- the Google ADK (Android Development Kit)&amp;lt;br&amp;gt;&lt;br /&gt;
- a standard Arduino&amp;lt;br&amp;gt;&lt;br /&gt;
- any Arduino clone with a USB Host shield&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:ADKphoto.jpg|thumb|right|G2 phone controlling Google&#039;s ADK hardware, including two motors]]&lt;br /&gt;
First, since Arduino support is &#039;&#039;only available on new versions&#039;&#039; of the Android OS, a lot of people, myself included, needed to &#039;&#039;&#039;root&#039;&#039;&#039; their phones to get a new version of Android OS on them.  We met at one side of the room, where [[User:Rubin110|Rubin]] gave an overview of the process of rooting an Android phone, followed by a hands-on workshop.  I had my phone rooted, installed the latest Android OS (CyanogenMod), and then got my phone to control the Google ADK hardware!  I document my procedure, below, so others may benefit from my experience.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Note: By constrast, a number of other people at the meetup already had phones with versions of the Android OS compatible with Arduino hardware.  These people gathered at the electronics lab area and had their phones connected with Google ADK, standard Arduinos, and other Arduino clones (with USB Host shield).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
My phone is a new, eight-day-old T-Mobile G2 phone (also known as &#039;&#039;HTC Vision&#039;&#039;). It came with a version of Android OS (v2.2) that does not support Arduino hardware (need 2.3.4 or later). So, with the help of [[User:Rubin110|Rubin]] and others, I rooted my phone, and installed the latest version of Cyanogenmod (a fork of the official Android OS).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I attempted to document the steps I went through, so that others can have an easier time of it. The steps will probably be similar if you have another type of Android phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This entire process took me 3 hours, but it will take you less time if you have a more recent version of Android as explained above.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The procedure is mostly given at:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting T-Mobile G2 Rooting]&amp;lt;br&amp;gt;&lt;br /&gt;
I will not reproduce everything here, but there are a few notes that I&#039;ll give that  are very helpful to know.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Here are some other resources (which I did not use, but may be helpful):&amp;lt;br&amp;gt;&lt;br /&gt;
wiki.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
forms.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
xda-developers.com&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #cyanogenmod&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #noisebridge&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Steps I took to get Cyanogen on my G2:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Basically, follow the instructions here:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting&amp;lt;br&amp;gt;&lt;br /&gt;
I am mostly just giving helpful notes, below, and not reproducing the entire procedure.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The first step is to backup you phone.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The next step is to get temporary root access.&amp;lt;br&amp;gt;&lt;br /&gt;
The main thing here is to get ADB running.  One way to do this is by installing the Android SDK on your computer.  Since the wireless at Noisebridge was overloaded with so many people using it at once, and since Miloh had the foresight to download the Android SDK for Windows, MacOS, and Linux, I downloaded the Windows version (yes, I use Windows) from Miloh’s account on Pony:&amp;lt;br&amp;gt;&lt;br /&gt;
http://developer.android.com/sdk/index.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;installer_r11-windows.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
But to be able to install the Android SDK, it is necessary to have Java Development Kit running on your computer (JRE is not good enough).&amp;lt;br&amp;gt;&lt;br /&gt;
Downlowd and install JDK on my computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u25-download-346242.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;jdk-6u25-windows-i586.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then double-click to install the Android SDK, BUT THERE IS A BUG in the installer:&amp;lt;br&amp;gt;&lt;br /&gt;
When it says that JDK is needed and it can’t be found, press BACK, and then press NEXT again, and it will procede fine from there.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then I followed the instructions in this Android SDK guide on how to install the Android SDK on my computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=Howto:_Install_the_Android_SDK&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
As part of installing the Android SDK -- when I connected my phone to my computer, after installing everything, the ADB driver was not installed correctly.  So, per the guide&#039;s instructions, I had to continue with further steps to update the ADB driver. This worked fine for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Back to the instructions for G2 Rooting.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue to follow instructions to gain temporary root access on the phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Next we move on to gain permanent root access on the phone (with the added bonus of unlocking the phone!).&amp;lt;br&amp;gt;&lt;br /&gt;
I had to use gfree v0.02 since the first gfree suggested (v0.04) gave me an error about failing to power cycle the eMMC (gfree_02 worked fine).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I did not flash the Engineering Hboot (stated as optional in the G2 Rooting instructions).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with intructions for Install a Custom Recovery Image.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with instructions for Flashing a Radio.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with instructions for Flashing CyanogenMod:&amp;lt;br&amp;gt;&lt;br /&gt;
After downloading the ROM Manager free version, it turns out that I couldn’t download the Cyanogenmod nightlies, which are the latest versions (need paid version or ROM Manager to get latest versions -- ugh), so I used the &amp;quot;second method&amp;quot; in the instructions, and downloaded the latest nightly on my computer, then transferred to G2:&amp;lt;br&amp;gt;&lt;br /&gt;
http://download.cyanogenmod.com/?device=vision&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;cm_cision_full-98.zip&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Because of legal reasons, there are a bunch of free Google Android apps that are not allowed to come with CyanogenMod.  You can download these (including Android Market) and transer them to the phone.  The package I downloaded and transferred to my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;CyanogenMod 7&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
NOTE:  When transferring files to phone, it is fine to transfer the zipped files.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Unhook phone, and then go back to instructions using Second Version.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Using ROM Manager, install cm_vision_full-98.zip&lt;br /&gt;
After reboot, it ignored instructions we gave it about backups, so when we get a screen full of orange text (Clockwork Flash Recovery), and did the following:&amp;lt;br&amp;gt;&lt;br /&gt;
- Backup and restore (to backup entire OS) (takes awhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe data/factory reset&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe cache partition&amp;lt;br&amp;gt;&lt;br /&gt;
- Advanced: Wipe dalvik cache  (not in instructions, but seemed worthwhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for cm_vision_full-98&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for Google apps (g_apps)&amp;lt;br&amp;gt;&lt;br /&gt;
- Reboot system&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If things falter at this point, I will have a bricked phone.  If things do go well, I should get CyanogenMod logo animation boot screen.  What will happen? . . . &amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  --   Though it took a couple of minutes watching the static HTC screen, the CyanogenMod logo animation came up, and my phone works great!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Then I installed the Google ADK software on my G2.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Lilia compiled the ADK software for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pro tip: when compiling the demo app under Eclipse, your build target (Project Properties -&amp;gt; Android -&amp;gt; Project Build Target) should be &amp;quot;Google APIs&amp;quot; API 10, which can be installed from the ADK/AVD manager -&amp;gt; Available packages -&amp;gt; Third party Add-ons -&amp;gt; Google Inc. -&amp;gt; Google APIs by Google Inc., Android API 10. This is NOT the same as the Android SDK 2.3.3 API 10.  --lilia&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When I connected the ADK hardware to my phone (via the USB cable), a screen appeared on my phone asking me if I want to connect.&amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  I can now control the ADK hardware with my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
- Light up the three RGB LEDs any color I like.&amp;lt;br&amp;gt;&lt;br /&gt;
- Move the three servo motors.&amp;lt;br&amp;gt;&lt;br /&gt;
- Turn the two relays on and off.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the temperature sensor.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the joystick position.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I can&#039;t wait to play with this more!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
There is a visually oriented programming language for very easily creating your own Android apps -- called App Inventor.  Here is a fun intro to it:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://appinventor.googlelabs.com/about/ http://appinventor.googlelabs.com/about/]&amp;lt;br&amp;gt;&lt;br /&gt;
I haven&#039;t used it, but I will...&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[User:Malman23|Mitch]].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
---------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Here is the original announcement:&amp;lt;br&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A couple of weeks ago Google announced the ability for Android to connect with Arduino to be used as a cheap, easy-to-use hardware development platform.  Google then created ADK (Android Development Kit, based on Arduino), which is not cheap -- but they gave a bunch away for free at the Maker Faire last weekend.&amp;lt;br&amp;gt; &lt;br /&gt;
[http://developer.android.com/guide/topics/usb/adk.html info on Android website]&amp;lt;br&amp;gt;&lt;br /&gt;
and&amp;lt;br&amp;gt;&lt;br /&gt;
[http://arduino.cc/blog/2011/05/10/google-launches-android-open-accessory-development-kit-based-on-arduino/ info on Aruino&#039;s website]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Since many of us are relatively clueless on how to hack Android phones, or how to connect them to Arduino to do cool things, a bunch of us are getting together next Sunday to put our collective heads together to see how to make it all work on our Android phones.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
It is likely that a Google employee and Android developer will be joining us to help out.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;When&#039;&#039;&#039;: Sunday, 5-June-2011, 3pm&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Where&#039;&#039;&#039;: Noisebridge 2169 Mission St., 3rd floor&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;What&#039;&#039;&#039;: get our Android phones to play with Arduino (including the Google ADK)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Who&#039;&#039;&#039;: anyone (regardless of skill level) who cares to join in the fun&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Owen</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21339</id>
		<title>AndroidArduinoMeetup</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21339"/>
		<updated>2011-11-03T03:19:50Z</updated>

		<summary type="html">&lt;p&gt;Owen: /* Intro */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Intro ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On June 5th, 2011 an enthusiastic group of more than 40 people first gathered here at NoiseBridge for a new Android-Arduino Meetup. Pooling our collective technical know-how , we successfully managed to make our Android phones communicate with Arduino hardware.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;And&#039;&#039; our meetup was written up on the MAKE Magazine blog!:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://blog.makezine.com/archive/2011/06/using-the-android-open-accessory-api-without-a-nexus.html Using the Android Open Accessory API without a Nexus]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Google officially added Arduino support to new versions of the Android OS so that hardware development on Android phones is easy.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Arduino hardware that will work with Android phones includes:&amp;lt;br&amp;gt;&lt;br /&gt;
- the Google ADK (Android Development Kit)&amp;lt;br&amp;gt;&lt;br /&gt;
- a standard Arduino&amp;lt;br&amp;gt;&lt;br /&gt;
- any Arduino clone with a USB Host shield&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:ADKphoto.jpg|thumb|right|G2 phone controlling Google&#039;s ADK hardware, including two motors]]&lt;br /&gt;
First, since Arduino support is &#039;&#039;only available on new versions&#039;&#039; of the Android OS, a lot of people, myself included, needed to &#039;&#039;root&#039;&#039; their phones to get a new version of Android OS on them.  We met at one side of the room, where [[User:Rubin110|Rubin]] gave an overview of the process of rooting an Android phone, followed by a hands-on workshop.  I had my phone rooted, installed the latest Android OS (CyanogenMod), and then got my phone to control the Google ADK hardware!  I document my procedure, below, so others may benefit from my experience.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Note: By constrast, a number of other people at the meetup already had phones with versions of the Android OS compatible with Arduino hardware.  These people gathered at the electronics lab area and had their phones connected with Google ADK, standard Arduinos, and other Arduino clones (with USB Host shield).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
My phone is a new (8 day old) T-Mobile G2 phone (also known as &#039;&#039;HTC Vision&#039;&#039;). It came with a version of Android OS (v2.2) that does not support Arduino hardware (need 2.3.4 or later). So, with the help of [[User:Rubin110|Rubin]] and others, I rooted my phone, and installed the latest version of Cyanogenmod (a fork of the official Android OS).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I attempted to document the steps I went through, so that others can have an easier time of it. The steps will probably be similar if you have another type of Android phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This entire process took me 3 hours, but it will take you less time if you have a more recent version of Android as explained above.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The procedure is mostly given at:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting T-Mobile G2 Rooting]&amp;lt;br&amp;gt;&lt;br /&gt;
I will not reproduce everything here, but there are a few notes that I&#039;ll give that  are very helpful to know.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Here are some other resources (which I did not use, but may be helpful):&amp;lt;br&amp;gt;&lt;br /&gt;
wiki.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
forms.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
xda-developers.com&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #cyanogenmod&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #noisebridge&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Steps I took to get Cyanogen on my G2:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Basically, follow the instructions here:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting&amp;lt;br&amp;gt;&lt;br /&gt;
I am mostly just giving helpful notes, below, and not reproducing the entire procedure.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The first step is to backup you phone.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The next step is to get temporary root access.&amp;lt;br&amp;gt;&lt;br /&gt;
The main thing here is to get ADB running.  One way to do this is by installing the Android SDK on your computer.  Since the wireless at Noisebridge was overloaded with so many people using it at once, and since Miloh had the foresight to download the Android SDK for Windows, MacOS, and Linux, I downloaded the Windows version (yes, I use Windows) from Miloh’s account on Pony:&amp;lt;br&amp;gt;&lt;br /&gt;
http://developer.android.com/sdk/index.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;installer_r11-windows.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
But to be able to install the Android SDK, it is necessary to have Java Development Kit running on your computer (JRE is not good enough).&amp;lt;br&amp;gt;&lt;br /&gt;
Downlowd and install JDK on my computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u25-download-346242.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;jdk-6u25-windows-i586.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then double-click to install the Android SDK, BUT THERE IS A BUG in the installer:&amp;lt;br&amp;gt;&lt;br /&gt;
When it says that JDK is needed and it can’t be found, press BACK, and then press NEXT again, and it will procede fine from there.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then I followed the instructions in this Android SDK guide on how to install the Android SDK on my computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=Howto:_Install_the_Android_SDK&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
As part of installing the Android SDK -- when I connected my phone to my computer, after installing everything, the ADB driver was not installed correctly.  So, per the guide&#039;s instructions, I had to continue with further steps to update the ADB driver. This worked fine for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Back to the instructions for G2 Rooting.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue to follow instructions to gain temporary root access on the phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Next we move on to gain permanent root access on the phone (with the added bonus of unlocking the phone!).&amp;lt;br&amp;gt;&lt;br /&gt;
I had to use gfree v0.02 since the first gfree suggested (v0.04) gave me an error about failing to power cycle the eMMC (gfree_02 worked fine).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I did not flash the Engineering Hboot (stated as optional in the G2 Rooting instructions).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with intructions for Install a Custom Recovery Image.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with instructions for Flashing a Radio.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with instructions for Flashing CyanogenMod:&amp;lt;br&amp;gt;&lt;br /&gt;
After downloading the ROM Manager free version, it turns out that I couldn’t download the Cyanogenmod nightlies, which are the latest versions (need paid version or ROM Manager to get latest versions -- ugh), so I used the &amp;quot;second method&amp;quot; in the instructions, and downloaded the latest nightly on my computer, then transferred to G2:&amp;lt;br&amp;gt;&lt;br /&gt;
http://download.cyanogenmod.com/?device=vision&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;cm_cision_full-98.zip&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Because of legal reasons, there are a bunch of free Google Android apps that are not allowed to come with CyanogenMod.  You can download these (including Android Market) and transer them to the phone.  The package I downloaded and transferred to my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;CyanogenMod 7&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
NOTE:  When transferring files to phone, it is fine to transfer the zipped files.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Unhook phone, and then go back to instructions using Second Version.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Using ROM Manager, install cm_vision_full-98.zip&lt;br /&gt;
After reboot, it ignored instructions we gave it about backups, so when we get a screen full of orange text (Clockwork Flash Recovery), and did the following:&amp;lt;br&amp;gt;&lt;br /&gt;
- Backup and restore (to backup entire OS) (takes awhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe data/factory reset&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe cache partition&amp;lt;br&amp;gt;&lt;br /&gt;
- Advanced: Wipe dalvik cache  (not in instructions, but seemed worthwhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for cm_vision_full-98&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for Google apps (g_apps)&amp;lt;br&amp;gt;&lt;br /&gt;
- Reboot system&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If things falter at this point, I will have a bricked phone.  If things do go well, I should get CyanogenMod logo animation boot screen.  What will happen? . . . &amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  --   Though it took a couple of minutes watching the static HTC screen, the CyanogenMod logo animation came up, and my phone works great!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Then I installed the Google ADK software on my G2.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Lilia compiled the ADK software for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pro tip: when compiling the demo app under Eclipse, your build target (Project Properties -&amp;gt; Android -&amp;gt; Project Build Target) should be &amp;quot;Google APIs&amp;quot; API 10, which can be installed from the ADK/AVD manager -&amp;gt; Available packages -&amp;gt; Third party Add-ons -&amp;gt; Google Inc. -&amp;gt; Google APIs by Google Inc., Android API 10. This is NOT the same as the Android SDK 2.3.3 API 10.  --lilia&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When I connected the ADK hardware to my phone (via the USB cable), a screen appeared on my phone asking me if I want to connect.&amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  I can now control the ADK hardware with my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
- Light up the three RGB LEDs any color I like.&amp;lt;br&amp;gt;&lt;br /&gt;
- Move the three servo motors.&amp;lt;br&amp;gt;&lt;br /&gt;
- Turn the two relays on and off.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the temperature sensor.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the joystick position.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I can&#039;t wait to play with this more!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
There is a visually oriented programming language for very easily creating your own Android apps -- called App Inventor.  Here is a fun intro to it:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://appinventor.googlelabs.com/about/ http://appinventor.googlelabs.com/about/]&amp;lt;br&amp;gt;&lt;br /&gt;
I haven&#039;t used it, but I will...&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[User:Malman23|Mitch]].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
---------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Here is the original announcement:&amp;lt;br&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A couple of weeks ago Google announced the ability for Android to connect with Arduino to be used as a cheap, easy-to-use hardware development platform.  Google then created ADK (Android Development Kit, based on Arduino), which is not cheap -- but they gave a bunch away for free at the Maker Faire last weekend.&amp;lt;br&amp;gt; &lt;br /&gt;
[http://developer.android.com/guide/topics/usb/adk.html info on Android website]&amp;lt;br&amp;gt;&lt;br /&gt;
and&amp;lt;br&amp;gt;&lt;br /&gt;
[http://arduino.cc/blog/2011/05/10/google-launches-android-open-accessory-development-kit-based-on-arduino/ info on Aruino&#039;s website]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Since many of us are relatively clueless on how to hack Android phones, or how to connect them to Arduino to do cool things, a bunch of us are getting together next Sunday to put our collective heads together to see how to make it all work on our Android phones.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
It is likely that a Google employee and Android developer will be joining us to help out.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;When&#039;&#039;&#039;: Sunday, 5-June-2011, 3pm&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Where&#039;&#039;&#039;: Noisebridge 2169 Mission St., 3rd floor&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;What&#039;&#039;&#039;: get our Android phones to play with Arduino (including the Google ADK)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Who&#039;&#039;&#039;: anyone (regardless of skill level) who cares to join in the fun&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Owen</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21338</id>
		<title>AndroidArduinoMeetup</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21338"/>
		<updated>2011-11-03T03:14:00Z</updated>

		<summary type="html">&lt;p&gt;Owen: /* Intro */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Intro ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On June 5th, 2011, an enthusiastic group of more than 40 people gathered here at NoiseBridge for a first-time Android-Arduino Meetup. Pooling our collective technical know-how , we successfully managed to make our Android phones communicate with Arduino hardware.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;And&#039;&#039; our meetup was written up on the MAKE Magazine blog!:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://blog.makezine.com/archive/2011/06/using-the-android-open-accessory-api-without-a-nexus.html Using the Android Open Accessory API without a Nexus]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Google officially added Arduino support to new versions of the Android OS so that hardware development on Android phones is easy.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Arduino hardware that will work with Android phones includes:&amp;lt;br&amp;gt;&lt;br /&gt;
- the Google ADK (Android Development Kit)&amp;lt;br&amp;gt;&lt;br /&gt;
- a standard Arduino&amp;lt;br&amp;gt;&lt;br /&gt;
- any Arduino clone with a USB Host shield&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:ADKphoto.jpg|thumb|right|G2 phone controlling Google&#039;s ADK hardware, including two motors]]&lt;br /&gt;
First, since Arduino support is &#039;&#039;only available on new versions&#039;&#039; of the Android OS, a lot of people, myself included, needed to &#039;&#039;root&#039;&#039; their phones to get a new version of Android OS on them.  We met at one side of the room, where [[User:Rubin110|Rubin]] gave an overview of the process of rooting an Android phone, followed by a hands-on workshop.  &#039;&#039;I had my phone rooted, installed the latest Android OS (CyanogenMod), and then got my phone to control the Google ADK hardware!  I document my procedure, below, so others may benefit from my experience.&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Note: By constrast, a number of other people at the meetup already had phones with versions of the Android OS compatible with Arduino hardware.  These people gathered at the electronics lab area and had their phones connected with Google ADK, standard Arduinos, and other Arduino clones (with USB Host shield).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
My phone is a new (8 day old) T-Mobile G2 phone (also known as &#039;&#039;HTC Vision&#039;&#039;). It came with a version of Android OS (v2.2) that does not support Arduino hardware (need 2.3.4 or later). So, with the help of [[User:Rubin110|Rubin]] and others, I rooted my phone, and installed the latest version of Cyanogenmod (a fork of the official Android OS).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I attempted to document the steps I went through, so that others can have an easier time of it. The steps will probably be similar if you have another type of Android phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This entire process took me 3 hours, but it will take you less time if you have a more recent version of Android as explained above.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The procedure is mostly given at:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting T-Mobile G2 Rooting]&amp;lt;br&amp;gt;&lt;br /&gt;
I will not reproduce everything here, but there are a few notes that I&#039;ll give that  are very helpful to know.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Here are some other resources (which I did not use, but may be helpful):&amp;lt;br&amp;gt;&lt;br /&gt;
wiki.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
forms.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
xda-developers.com&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #cyanogenmod&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #noisebridge&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Steps I took to get Cyanogen on my G2:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Basically, follow the instructions here:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting&amp;lt;br&amp;gt;&lt;br /&gt;
I am mostly just giving helpful notes, below, and not reproducing the entire procedure.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The first step is to backup you phone.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The next step is to get temporary root access.&amp;lt;br&amp;gt;&lt;br /&gt;
The main thing here is to get ADB running.  One way to do this is by installing the Android SDK on your computer.  Since the wireless at Noisebridge was overloaded with so many people using it at once, and since Miloh had the foresight to download the Android SDK for Windows, MacOS, and Linux, I downloaded the Windows version (yes, I use Windows) from Miloh’s account on Pony:&amp;lt;br&amp;gt;&lt;br /&gt;
http://developer.android.com/sdk/index.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;installer_r11-windows.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
But to be able to install the Android SDK, it is necessary to have Java Development Kit running on your computer (JRE is not good enough).&amp;lt;br&amp;gt;&lt;br /&gt;
Downlowd and install JDK on my computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u25-download-346242.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;jdk-6u25-windows-i586.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then double-click to install the Android SDK, BUT THERE IS A BUG in the installer:&amp;lt;br&amp;gt;&lt;br /&gt;
When it says that JDK is needed and it can’t be found, press BACK, and then press NEXT again, and it will procede fine from there.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then I followed the instructions in this Android SDK guide on how to install the Android SDK on my computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=Howto:_Install_the_Android_SDK&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
As part of installing the Android SDK -- when I connected my phone to my computer, after installing everything, the ADB driver was not installed correctly.  So, per the guide&#039;s instructions, I had to continue with further steps to update the ADB driver. This worked fine for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Back to the instructions for G2 Rooting.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue to follow instructions to gain temporary root access on the phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Next we move on to gain permanent root access on the phone (with the added bonus of unlocking the phone!).&amp;lt;br&amp;gt;&lt;br /&gt;
I had to use gfree v0.02 since the first gfree suggested (v0.04) gave me an error about failing to power cycle the eMMC (gfree_02 worked fine).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I did not flash the Engineering Hboot (stated as optional in the G2 Rooting instructions).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with intructions for Install a Custom Recovery Image.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with instructions for Flashing a Radio.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with instructions for Flashing CyanogenMod:&amp;lt;br&amp;gt;&lt;br /&gt;
After downloading the ROM Manager free version, it turns out that I couldn’t download the Cyanogenmod nightlies, which are the latest versions (need paid version or ROM Manager to get latest versions -- ugh), so I used the &amp;quot;second method&amp;quot; in the instructions, and downloaded the latest nightly on my computer, then transferred to G2:&amp;lt;br&amp;gt;&lt;br /&gt;
http://download.cyanogenmod.com/?device=vision&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;cm_cision_full-98.zip&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Because of legal reasons, there are a bunch of free Google Android apps that are not allowed to come with CyanogenMod.  You can download these (including Android Market) and transer them to the phone.  The package I downloaded and transferred to my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;CyanogenMod 7&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
NOTE:  When transferring files to phone, it is fine to transfer the zipped files.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Unhook phone, and then go back to instructions using Second Version.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Using ROM Manager, install cm_vision_full-98.zip&lt;br /&gt;
After reboot, it ignored instructions we gave it about backups, so when we get a screen full of orange text (Clockwork Flash Recovery), and did the following:&amp;lt;br&amp;gt;&lt;br /&gt;
- Backup and restore (to backup entire OS) (takes awhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe data/factory reset&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe cache partition&amp;lt;br&amp;gt;&lt;br /&gt;
- Advanced: Wipe dalvik cache  (not in instructions, but seemed worthwhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for cm_vision_full-98&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for Google apps (g_apps)&amp;lt;br&amp;gt;&lt;br /&gt;
- Reboot system&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If things falter at this point, I will have a bricked phone.  If things do go well, I should get CyanogenMod logo animation boot screen.  What will happen? . . . &amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  --   Though it took a couple of minutes watching the static HTC screen, the CyanogenMod logo animation came up, and my phone works great!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Then I installed the Google ADK software on my G2.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Lilia compiled the ADK software for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pro tip: when compiling the demo app under Eclipse, your build target (Project Properties -&amp;gt; Android -&amp;gt; Project Build Target) should be &amp;quot;Google APIs&amp;quot; API 10, which can be installed from the ADK/AVD manager -&amp;gt; Available packages -&amp;gt; Third party Add-ons -&amp;gt; Google Inc. -&amp;gt; Google APIs by Google Inc., Android API 10. This is NOT the same as the Android SDK 2.3.3 API 10.  --lilia&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When I connected the ADK hardware to my phone (via the USB cable), a screen appeared on my phone asking me if I want to connect.&amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  I can now control the ADK hardware with my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
- Light up the three RGB LEDs any color I like.&amp;lt;br&amp;gt;&lt;br /&gt;
- Move the three servo motors.&amp;lt;br&amp;gt;&lt;br /&gt;
- Turn the two relays on and off.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the temperature sensor.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the joystick position.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I can&#039;t wait to play with this more!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
There is a visually oriented programming language for very easily creating your own Android apps -- called App Inventor.  Here is a fun intro to it:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://appinventor.googlelabs.com/about/ http://appinventor.googlelabs.com/about/]&amp;lt;br&amp;gt;&lt;br /&gt;
I haven&#039;t used it, but I will...&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[User:Malman23|Mitch]].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
---------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Here is the original announcement:&amp;lt;br&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A couple of weeks ago Google announced the ability for Android to connect with Arduino to be used as a cheap, easy-to-use hardware development platform.  Google then created ADK (Android Development Kit, based on Arduino), which is not cheap -- but they gave a bunch away for free at the Maker Faire last weekend.&amp;lt;br&amp;gt; &lt;br /&gt;
[http://developer.android.com/guide/topics/usb/adk.html info on Android website]&amp;lt;br&amp;gt;&lt;br /&gt;
and&amp;lt;br&amp;gt;&lt;br /&gt;
[http://arduino.cc/blog/2011/05/10/google-launches-android-open-accessory-development-kit-based-on-arduino/ info on Aruino&#039;s website]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Since many of us are relatively clueless on how to hack Android phones, or how to connect them to Arduino to do cool things, a bunch of us are getting together next Sunday to put our collective heads together to see how to make it all work on our Android phones.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
It is likely that a Google employee and Android developer will be joining us to help out.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;When&#039;&#039;&#039;: Sunday, 5-June-2011, 3pm&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Where&#039;&#039;&#039;: Noisebridge 2169 Mission St., 3rd floor&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;What&#039;&#039;&#039;: get our Android phones to play with Arduino (including the Google ADK)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Who&#039;&#039;&#039;: anyone (regardless of skill level) who cares to join in the fun&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Owen</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21333</id>
		<title>AndroidArduinoMeetup</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21333"/>
		<updated>2011-11-02T23:51:20Z</updated>

		<summary type="html">&lt;p&gt;Owen: /* Documentation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Intro ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On June 5th, 2011, an enthusiastic group of more than 40 people gathered here at NoiseBridge for a first-time Android-Arduino Meetup. Pooling our collective technical know-how , we successfully managed to make our Android phones communicate with Arduino hardware.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;And&#039;&#039; our meetup was written up on the MAKE Magazine blog!:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://blog.makezine.com/archive/2011/06/using-the-android-open-accessory-api-without-a-nexus.html Using the Android Open Accessory API without a Nexus]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Google officially added Arduino support to new versions of the Android OS so that hardware development on Android phones is easy.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Arduino hardware that will work with Android phones includes:&amp;lt;br&amp;gt;&lt;br /&gt;
- the Google ADK (Android Development Kit)&amp;lt;br&amp;gt;&lt;br /&gt;
- a standard Arduino&amp;lt;br&amp;gt;&lt;br /&gt;
- any Arduino clone with a USB Host shield&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:ADKphoto.jpg|thumb|right|G2 phone controlling Google&#039;s ADK hardware, including two motors]]&lt;br /&gt;
First, since Arduino support is &#039;&#039;only available on new versions&#039;&#039; of the Android OS, a lot of people, myself included, needed to &#039;&#039;root&#039;&#039; their phones to get a new version of Android OS on them.  We met at one side of the room, where [[User:Rubin110|Rubin]] gave an overview of the process of rooting an Android phone, followed by a hands-on workshop.  &#039;&#039;I had my phone rooted, installed the latest Android OS (CyanogenMod), and then got my phone to control the Google ADK hardware!  I document my procedure, below, so others may benefit from my experience.&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Note: By constrast, a number of other people at the meetup already had phones with versions of the Android OS compatible with Arduino hardware.  These people gathered at the electronics lab area and had their phones connected with Google ADK, standard Arduinos, and other Arduino clones (with USB Host shield).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I have a new (8 day old) T-Mobile G2 phone (also known as &#039;&#039;HTC Vision&#039;&#039;).&amp;lt;br&amp;gt;&lt;br /&gt;
It came with a version of Android OS (v2.2) that does not support Arduino hardware (need 2.3.4 or later).&amp;lt;br&amp;gt;&lt;br /&gt;
So, with the help of [[User:Rubin110|Rubin]] and others, I rooted my phone, and installed the latest version of Cyanogenmod (a fork of the official Android OS).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I attempted to document the steps I went through, so that others can have an easier time of it.&amp;lt;br&amp;gt;&lt;br /&gt;
The steps will probably be similar if you have another type of Android phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This entire process took me 3 hours, but it will take you less time if you have a more recent version of Android as explained above.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The procedure is mostly given at:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting T-Mobile G2 Rooting]&amp;lt;br&amp;gt;&lt;br /&gt;
I will not reproduce everything here, but there are a few notes that I&#039;ll give that  are very helpful to know.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Here are some other resources (which I did not use, but may be helpful):&amp;lt;br&amp;gt;&lt;br /&gt;
wiki.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
forms.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
xda-developers.com&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #cyanogenmod&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #noisebridge&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Steps I took to get Cyanogen on my G2:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Basically, follow the instructions here:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting&amp;lt;br&amp;gt;&lt;br /&gt;
I am mostly just giving helpful notes, below, and not reproducing the entire procedure.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The first step is to backup you phone.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The next step is to get temporary root access.&amp;lt;br&amp;gt;&lt;br /&gt;
The main thing here is to get ADB running.  One way to do this is by installing the Android SDK on your computer.  Since the wireless at Noisebridge was overloaded with so many people using it at once, and since Miloh had the foresight to download the Android SDK for Windows, MacOS, and Linux, I downloaded the Windows version (yes, I use Windows) from Miloh’s account on Pony:&amp;lt;br&amp;gt;&lt;br /&gt;
http://developer.android.com/sdk/index.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;installer_r11-windows.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
But to be able to install the Android SDK, it is necessary to have Java Development Kit running on your computer (JRE is not good enough).&amp;lt;br&amp;gt;&lt;br /&gt;
Downlowd and install JDK on my computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u25-download-346242.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;jdk-6u25-windows-i586.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then double-click to install the Android SDK, BUT THERE IS A BUG in the installer:&amp;lt;br&amp;gt;&lt;br /&gt;
When it says that JDK is needed and it can’t be found, press BACK, and then press NEXT again, and it will procede fine from there.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then I followed the instructions in this Android SDK guide on how to install the Android SDK on my computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=Howto:_Install_the_Android_SDK&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
As part of installing the Android SDK -- when I connected my phone to my computer, after installing everything, the ADB driver was not installed correctly.  So, per the guide&#039;s instructions, I had to continue with further steps to update the ADB driver. This worked fine for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Back to the instructions for G2 Rooting.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue to follow instructions to gain temporary root access on the phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Next we move on to gain permanent root access on the phone (with the added bonus of unlocking the phone!).&amp;lt;br&amp;gt;&lt;br /&gt;
I had to use gfree v0.02 since the first gfree suggested (v0.04) gave me an error about failing to power cycle the eMMC (gfree_02 worked fine).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I did not flash the Engineering Hboot (stated as optional in the G2 Rooting instructions).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with intructions for Install a Custom Recovery Image.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with instructions for Flashing a Radio.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with instructions for Flashing CyanogenMod:&amp;lt;br&amp;gt;&lt;br /&gt;
After downloading the ROM Manager free version, it turns out that I couldn’t download the Cyanogenmod nightlies, which are the latest versions (need paid version or ROM Manager to get latest versions -- ugh), so I used the &amp;quot;second method&amp;quot; in the instructions, and downloaded the latest nightly on my computer, then transferred to G2:&amp;lt;br&amp;gt;&lt;br /&gt;
http://download.cyanogenmod.com/?device=vision&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;cm_cision_full-98.zip&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Because of legal reasons, there are a bunch of free Google Android apps that are not allowed to come with CyanogenMod.  You can download these (including Android Market) and transer them to the phone.  The package I downloaded and transferred to my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;CyanogenMod 7&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
NOTE:  When transferring files to phone, it is fine to transfer the zipped files.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Unhook phone, and then go back to instructions using Second Version.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Using ROM Manager, install cm_vision_full-98.zip&lt;br /&gt;
After reboot, it ignored instructions we gave it about backups, so when we get a screen full of orange text (Clockwork Flash Recovery), and did the following:&amp;lt;br&amp;gt;&lt;br /&gt;
- Backup and restore (to backup entire OS) (takes awhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe data/factory reset&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe cache partition&amp;lt;br&amp;gt;&lt;br /&gt;
- Advanced: Wipe dalvik cache  (not in instructions, but seemed worthwhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for cm_vision_full-98&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for Google apps (g_apps)&amp;lt;br&amp;gt;&lt;br /&gt;
- Reboot system&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If things falter at this point, I will have a bricked phone.  If things do go well, I should get CyanogenMod logo animation boot screen.  What will happen? . . . &amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  --   Though it took a couple of minutes watching the static HTC screen, the CyanogenMod logo animation came up, and my phone works great!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Then I installed the Google ADK software on my G2.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Lilia compiled the ADK software for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pro tip: when compiling the demo app under Eclipse, your build target (Project Properties -&amp;gt; Android -&amp;gt; Project Build Target) should be &amp;quot;Google APIs&amp;quot; API 10, which can be installed from the ADK/AVD manager -&amp;gt; Available packages -&amp;gt; Third party Add-ons -&amp;gt; Google Inc. -&amp;gt; Google APIs by Google Inc., Android API 10. This is NOT the same as the Android SDK 2.3.3 API 10.  --lilia&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When I connected the ADK hardware to my phone (via the USB cable), a screen appeared on my phone asking me if I want to connect.&amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  I can now control the ADK hardware with my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
- Light up the three RGB LEDs any color I like.&amp;lt;br&amp;gt;&lt;br /&gt;
- Move the three servo motors.&amp;lt;br&amp;gt;&lt;br /&gt;
- Turn the two relays on and off.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the temperature sensor.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the joystick position.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I can&#039;t wait to play with this more!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
There is a visually oriented programming language for very easily creating your own Android apps -- called App Inventor.  Here is a fun intro to it:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://appinventor.googlelabs.com/about/ http://appinventor.googlelabs.com/about/]&amp;lt;br&amp;gt;&lt;br /&gt;
I haven&#039;t used it, but I will...&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[User:Malman23|Mitch]].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
---------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Here is the original announcement:&amp;lt;br&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A couple of weeks ago Google announced the ability for Android to connect with Arduino to be used as a cheap, easy-to-use hardware development platform.  Google then created ADK (Android Development Kit, based on Arduino), which is not cheap -- but they gave a bunch away for free at the Maker Faire last weekend.&amp;lt;br&amp;gt; &lt;br /&gt;
[http://developer.android.com/guide/topics/usb/adk.html info on Android website]&amp;lt;br&amp;gt;&lt;br /&gt;
and&amp;lt;br&amp;gt;&lt;br /&gt;
[http://arduino.cc/blog/2011/05/10/google-launches-android-open-accessory-development-kit-based-on-arduino/ info on Aruino&#039;s website]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Since many of us are relatively clueless on how to hack Android phones, or how to connect them to Arduino to do cool things, a bunch of us are getting together next Sunday to put our collective heads together to see how to make it all work on our Android phones.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
It is likely that a Google employee and Android developer will be joining us to help out.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;When&#039;&#039;&#039;: Sunday, 5-June-2011, 3pm&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Where&#039;&#039;&#039;: Noisebridge 2169 Mission St., 3rd floor&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;What&#039;&#039;&#039;: get our Android phones to play with Arduino (including the Google ADK)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Who&#039;&#039;&#039;: anyone (regardless of skill level) who cares to join in the fun&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Owen</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21332</id>
		<title>AndroidArduinoMeetup</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21332"/>
		<updated>2011-11-02T23:36:21Z</updated>

		<summary type="html">&lt;p&gt;Owen: /* Intro */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Intro ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On June 5th, 2011, an enthusiastic group of more than 40 people gathered here at NoiseBridge for a first-time Android-Arduino Meetup. Pooling our collective technical know-how , we successfully managed to make our Android phones communicate with Arduino hardware.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;And&#039;&#039; our meetup was written up on the MAKE Magazine blog!:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://blog.makezine.com/archive/2011/06/using-the-android-open-accessory-api-without-a-nexus.html Using the Android Open Accessory API without a Nexus]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Google officially added Arduino support to new versions of the Android OS so that hardware development on Android phones is easy.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Arduino hardware that will work with Android phones includes:&amp;lt;br&amp;gt;&lt;br /&gt;
- the Google ADK (Android Development Kit)&amp;lt;br&amp;gt;&lt;br /&gt;
- a standard Arduino&amp;lt;br&amp;gt;&lt;br /&gt;
- any Arduino clone with a USB Host shield&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:ADKphoto.jpg|thumb|right|G2 phone controlling Google&#039;s ADK hardware, including two motors]]&lt;br /&gt;
First, since Arduino support is &#039;&#039;only available on new versions&#039;&#039; of the Android OS, a lot of people, myself included, needed to &#039;&#039;root&#039;&#039; their phones to get a new version of Android OS on them.  We met at one side of the room, where [[User:Rubin110|Rubin]] gave an overview of the process of rooting an Android phone, followed by a hands-on workshop.  &#039;&#039;I had my phone rooted, installed the latest Android OS (CyanogenMod), and then got my phone to control the Google ADK hardware!  I document my procedure, below, so others may benefit from my experience.&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Note: By constrast, a number of other people at the meetup already had phones with versions of the Android OS compatible with Arduino hardware.  These people gathered at the electronics lab area and had their phones connected with Google ADK, standard Arduinos, and other Arduino clones (with USB Host shield).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I have a new (8 day old) T-Mobile G2 phone (also known as &#039;&#039;HTC Vision&#039;&#039;).&amp;lt;br&amp;gt;&lt;br /&gt;
It came with a version of Android OS (v2.2) that does not support Arduino hardware (need 2.3.4 or later).&amp;lt;br&amp;gt;&lt;br /&gt;
So, with the help of [[User:Rubin110|Rubin]] and others, I rooted my phone, and installed the latest version of Cyanogenmod (a fork of the official Android OS).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I attempted to document the steps I went through, so that others can have an easier time of it.&amp;lt;br&amp;gt;&lt;br /&gt;
The steps will probably be similar if you have another type of Android phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This entire process took me 3 hours, but it will take you less time if you have a more recent version of Android as explained above.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The procedure is mostly given at:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting T-Mobile G2 Rooting]&amp;lt;br&amp;gt;&lt;br /&gt;
I will not reproduce everything here, but there are a few notes that I&#039;ll give that  are very helpful to know.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Here are some other resources (which I did not use, but may be helpful):&amp;lt;br&amp;gt;&lt;br /&gt;
wiki.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
forms.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
xda-developers.com&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #cyanogenmod&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #noisebridge&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Steps I took to get Cyanogen on my G2:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Basically, follow the instructions here:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting&amp;lt;br&amp;gt;&lt;br /&gt;
I am mostly just giving helpful notes, below, and not reproducing the entire procedure.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The first step is to backup you phone.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The next step is to get temporary root access.&amp;lt;br&amp;gt;&lt;br /&gt;
The first thing here is to get ADB running.  One way to do this is by installing the Android SDK on your computer.  Since the wireless at Noisebridge was overloaded with so many people using it at once, and since Miloh had the foresight to download the Android SDK for Windows, MacOS, and Linux, I downloaded the Windows version (yes, I use Windows) from Miloh’s account on Pony:&amp;lt;br&amp;gt;&lt;br /&gt;
http://developer.android.com/sdk/index.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;installer_r11-windows.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
But to be able to install the Android SDK, it is necessary to have Java Development Kit running on your computer (JRE is not good enough).&amp;lt;br&amp;gt;&lt;br /&gt;
Downlowd and install JDK on my computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u25-download-346242.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;jdk-6u25-windows-i586.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then double-click to install the Android SDK, BUT THERE IS A BUG in the installer:&amp;lt;br&amp;gt;&lt;br /&gt;
 When it says that JDK is needed and it can’t be found, hit BACK, and then hit NEXT again, and it will go OK from there.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then I followed the instructions in this Android SDK guide on how to install the Android SDK on my computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=Howto:_Install_the_Android_SDK&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
As part of installing the Android SDK -- when I connected my phone to my computer, after installing everything, ADB driver was not installed correctly.  So, as in the guide&#039;s instructions, I had to continue with further instructions to update the ADB driver. This worked fine for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Back to the instructions for G2 Rooting.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue to follow instructions to gain temporary root access on the phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Next we move on to gain permanent root access on the phone (which has the bonus of unlocking the phone).&amp;lt;br&amp;gt;&lt;br /&gt;
I had to use gfree v0.02, since the first gfree suggested (v0.04) gave me the error about failing to power cycle the eMMC (gfree_02 worked fine).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I did not flash the Engineering Hboot (which is stated as optional in the G2 Rooting instructions).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with intructions for Install a Custom Recovery Image.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with instructions for Flashing a Radio.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with instructions for Flashing CyanogenMod:&amp;lt;br&amp;gt;&lt;br /&gt;
After downloading the ROM Manager free version, it turns out that I couldn’t download the Cyanogenmod nightlies, which are the latest versions (need paid version or ROM Manager to get latest versions -- ugh), so I used the &amp;quot;second method&amp;quot; in the instructions, and downloaded the latest nightly on my computer, then transferred to G2:&amp;lt;br&amp;gt;&lt;br /&gt;
http://download.cyanogenmod.com/?device=vision&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;cm_cision_full-98.zip&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Because of legal reasons, there are a bunch of free Google Android apps that are not allowed to come with CyanogenMod.  You can download these (including Android Market) and transer them to the phone.  The package I downloaded and transferred to my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;CyanogenMod 7&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
NOTE:  When transferring files to phone, it is fine to transfer the zipped files.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Unhook phone, and then go back to instructions using Second Version.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Using ROM Manager, install cm_vision_full-98.zip&lt;br /&gt;
After reboot, it ignored instructions we gave it about backups, so when we get a screen full of orange text (Clockwork Flash Recovery), and did the following:&amp;lt;br&amp;gt;&lt;br /&gt;
- Backup and restore (to backup entire OS) (takes awhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe data/factory reset&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe cache partition&amp;lt;br&amp;gt;&lt;br /&gt;
- Advanced: Wipe dalvik cache  (not in instructions, but seemed worthwhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for cm_vision_full-98&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for Google apps (g_apps)&amp;lt;br&amp;gt;&lt;br /&gt;
- Reboot system&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If things do not go well at this point, I will have a bricked phone.  If things go well, I should get CyanogenMod logo animation boot screen.  What will happen? . . . &amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  --   Though it took a couple of minutes watching the static HTC screen, the CyanogenMod logo animation came up, and my phone works great!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Then I installed the Google ADK software on my G2.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Lilia compiled the ADK software for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pro tip: when compiling the demo app under Eclipse, your build target (Project Properties -&amp;gt; Android -&amp;gt; Project Build Target) should be &amp;quot;Google APIs&amp;quot; API 10, which can be installed from the ADK/AVD manager -&amp;gt; Available packages -&amp;gt; Third party Add-ons -&amp;gt; Google Inc. -&amp;gt; Google APIs by Google Inc., Android API 10. This is NOT the same as the Android SDK 2.3.3 API 10.  --lilia&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When I connected the ADK hardware to my phone (via the USB cable), a screen appeared on my phone asking me if I want to connect.&amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  I can now control the ADK hardware with my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
- Light up the three RGB LEDs any color I like.&amp;lt;br&amp;gt;&lt;br /&gt;
- Move the three servo motors.&amp;lt;br&amp;gt;&lt;br /&gt;
- Turn the two relays on and off.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the temperature sensor.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the joystick position.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I can&#039;t wait to play with this more.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
There is a visually oriented programming language for very easily creating your own Android apps -- called App Inventor.  Here is a fun intro to it:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://appinventor.googlelabs.com/about/ http://appinventor.googlelabs.com/about/]&amp;lt;br&amp;gt;&lt;br /&gt;
I haven&#039;t used it, but I will...&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[User:Malman23|Mitch]].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
---------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Here is the original announcement:&amp;lt;br&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A couple of weeks ago Google announced the ability for Android to connect with Arduino to be used as a cheap, easy-to-use hardware development platform.  Google then created ADK (Android Development Kit, based on Arduino), which is not cheap -- but they gave a bunch away for free at the Maker Faire last weekend.&amp;lt;br&amp;gt; &lt;br /&gt;
[http://developer.android.com/guide/topics/usb/adk.html info on Android website]&amp;lt;br&amp;gt;&lt;br /&gt;
and&amp;lt;br&amp;gt;&lt;br /&gt;
[http://arduino.cc/blog/2011/05/10/google-launches-android-open-accessory-development-kit-based-on-arduino/ info on Aruino&#039;s website]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Since many of us are relatively clueless on how to hack Android phones, or how to connect them to Arduino to do cool things, a bunch of us are getting together next Sunday to put our collective heads together to see how to make it all work on our Android phones.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
It is likely that a Google employee and Android developer will be joining us to help out.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;When&#039;&#039;&#039;: Sunday, 5-June-2011, 3pm&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Where&#039;&#039;&#039;: Noisebridge 2169 Mission St., 3rd floor&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;What&#039;&#039;&#039;: get our Android phones to play with Arduino (including the Google ADK)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Who&#039;&#039;&#039;: anyone (regardless of skill level) who cares to join in the fun&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Owen</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21331</id>
		<title>AndroidArduinoMeetup</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21331"/>
		<updated>2011-11-02T23:35:51Z</updated>

		<summary type="html">&lt;p&gt;Owen: /* Intro */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Intro ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On June 5th, 2011, an enthusiastic group of more than 40 people gathered here at NoiseBridge for a first-time Android-Arduino Meetup. Pooling our collective technical know-how , we successfully managed to make our Android phones communicate with Arduino hardware.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;And&#039;&#039; our meetup was written up on the MAKE Magazine blog:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://blog.makezine.com/archive/2011/06/using-the-android-open-accessory-api-without-a-nexus.html Using the Android Open Accessory API without a Nexus]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Google officially added Arduino support to new versions of the Android OS so that hardware development on Android phones is easy.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Arduino hardware that will work with Android phones includes:&amp;lt;br&amp;gt;&lt;br /&gt;
- the Google ADK (Android Development Kit)&amp;lt;br&amp;gt;&lt;br /&gt;
- a standard Arduino&amp;lt;br&amp;gt;&lt;br /&gt;
- any Arduino clone with a USB Host shield&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:ADKphoto.jpg|thumb|right|G2 phone controlling Google&#039;s ADK hardware, including two motors]]&lt;br /&gt;
First, since Arduino support is &#039;&#039;only available on new versions&#039;&#039; of the Android OS, a lot of people, myself included, needed to &#039;&#039;root&#039;&#039; their phones to get a new version of Android OS on them.  We met at one side of the room, where [[User:Rubin110|Rubin]] gave an overview of the process of rooting an Android phone, followed by a hands-on workshop.  &#039;&#039;I had my phone rooted, installed the latest Android OS (CyanogenMod), and then got my phone to control the Google ADK hardware!  I document my procedure, below, so others may benefit from my experience.&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Note: By constrast, a number of other people at the meetup already had phones with versions of the Android OS compatible with Arduino hardware.  These people gathered at the electronics lab area and had their phones connected with Google ADK, standard Arduinos, and other Arduino clones (with USB Host shield).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I have a new (8 day old) T-Mobile G2 phone (also known as &#039;&#039;HTC Vision&#039;&#039;).&amp;lt;br&amp;gt;&lt;br /&gt;
It came with a version of Android OS (v2.2) that does not support Arduino hardware (need 2.3.4 or later).&amp;lt;br&amp;gt;&lt;br /&gt;
So, with the help of [[User:Rubin110|Rubin]] and others, I rooted my phone, and installed the latest version of Cyanogenmod (a fork of the official Android OS).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I attempted to document the steps I went through, so that others can have an easier time of it.&amp;lt;br&amp;gt;&lt;br /&gt;
The steps will probably be similar if you have another type of Android phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This entire process took me 3 hours, but it will take you less time if you have a more recent version of Android as explained above.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The procedure is mostly given at:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting T-Mobile G2 Rooting]&amp;lt;br&amp;gt;&lt;br /&gt;
I will not reproduce everything here, but there are a few notes that I&#039;ll give that  are very helpful to know.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Here are some other resources (which I did not use, but may be helpful):&amp;lt;br&amp;gt;&lt;br /&gt;
wiki.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
forms.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
xda-developers.com&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #cyanogenmod&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #noisebridge&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Steps I took to get Cyanogen on my G2:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Basically, follow the instructions here:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting&amp;lt;br&amp;gt;&lt;br /&gt;
I am mostly just giving helpful notes, below, and not reproducing the entire procedure.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The first step is to backup you phone.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The next step is to get temporary root access.&amp;lt;br&amp;gt;&lt;br /&gt;
The first thing here is to get ADB running.  One way to do this is by installing the Android SDK on your computer.  Since the wireless at Noisebridge was overloaded with so many people using it at once, and since Miloh had the foresight to download the Android SDK for Windows, MacOS, and Linux, I downloaded the Windows version (yes, I use Windows) from Miloh’s account on Pony:&amp;lt;br&amp;gt;&lt;br /&gt;
http://developer.android.com/sdk/index.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;installer_r11-windows.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
But to be able to install the Android SDK, it is necessary to have Java Development Kit running on your computer (JRE is not good enough).&amp;lt;br&amp;gt;&lt;br /&gt;
Downlowd and install JDK on my computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u25-download-346242.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;jdk-6u25-windows-i586.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then double-click to install the Android SDK, BUT THERE IS A BUG in the installer:&amp;lt;br&amp;gt;&lt;br /&gt;
 When it says that JDK is needed and it can’t be found, hit BACK, and then hit NEXT again, and it will go OK from there.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then I followed the instructions in this Android SDK guide on how to install the Android SDK on my computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=Howto:_Install_the_Android_SDK&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
As part of installing the Android SDK -- when I connected my phone to my computer, after installing everything, ADB driver was not installed correctly.  So, as in the guide&#039;s instructions, I had to continue with further instructions to update the ADB driver. This worked fine for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Back to the instructions for G2 Rooting.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue to follow instructions to gain temporary root access on the phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Next we move on to gain permanent root access on the phone (which has the bonus of unlocking the phone).&amp;lt;br&amp;gt;&lt;br /&gt;
I had to use gfree v0.02, since the first gfree suggested (v0.04) gave me the error about failing to power cycle the eMMC (gfree_02 worked fine).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I did not flash the Engineering Hboot (which is stated as optional in the G2 Rooting instructions).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with intructions for Install a Custom Recovery Image.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with instructions for Flashing a Radio.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with instructions for Flashing CyanogenMod:&amp;lt;br&amp;gt;&lt;br /&gt;
After downloading the ROM Manager free version, it turns out that I couldn’t download the Cyanogenmod nightlies, which are the latest versions (need paid version or ROM Manager to get latest versions -- ugh), so I used the &amp;quot;second method&amp;quot; in the instructions, and downloaded the latest nightly on my computer, then transferred to G2:&amp;lt;br&amp;gt;&lt;br /&gt;
http://download.cyanogenmod.com/?device=vision&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;cm_cision_full-98.zip&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Because of legal reasons, there are a bunch of free Google Android apps that are not allowed to come with CyanogenMod.  You can download these (including Android Market) and transer them to the phone.  The package I downloaded and transferred to my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;CyanogenMod 7&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
NOTE:  When transferring files to phone, it is fine to transfer the zipped files.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Unhook phone, and then go back to instructions using Second Version.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Using ROM Manager, install cm_vision_full-98.zip&lt;br /&gt;
After reboot, it ignored instructions we gave it about backups, so when we get a screen full of orange text (Clockwork Flash Recovery), and did the following:&amp;lt;br&amp;gt;&lt;br /&gt;
- Backup and restore (to backup entire OS) (takes awhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe data/factory reset&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe cache partition&amp;lt;br&amp;gt;&lt;br /&gt;
- Advanced: Wipe dalvik cache  (not in instructions, but seemed worthwhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for cm_vision_full-98&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for Google apps (g_apps)&amp;lt;br&amp;gt;&lt;br /&gt;
- Reboot system&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If things do not go well at this point, I will have a bricked phone.  If things go well, I should get CyanogenMod logo animation boot screen.  What will happen? . . . &amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  --   Though it took a couple of minutes watching the static HTC screen, the CyanogenMod logo animation came up, and my phone works great!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Then I installed the Google ADK software on my G2.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Lilia compiled the ADK software for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pro tip: when compiling the demo app under Eclipse, your build target (Project Properties -&amp;gt; Android -&amp;gt; Project Build Target) should be &amp;quot;Google APIs&amp;quot; API 10, which can be installed from the ADK/AVD manager -&amp;gt; Available packages -&amp;gt; Third party Add-ons -&amp;gt; Google Inc. -&amp;gt; Google APIs by Google Inc., Android API 10. This is NOT the same as the Android SDK 2.3.3 API 10.  --lilia&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When I connected the ADK hardware to my phone (via the USB cable), a screen appeared on my phone asking me if I want to connect.&amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  I can now control the ADK hardware with my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
- Light up the three RGB LEDs any color I like.&amp;lt;br&amp;gt;&lt;br /&gt;
- Move the three servo motors.&amp;lt;br&amp;gt;&lt;br /&gt;
- Turn the two relays on and off.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the temperature sensor.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the joystick position.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I can&#039;t wait to play with this more.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
There is a visually oriented programming language for very easily creating your own Android apps -- called App Inventor.  Here is a fun intro to it:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://appinventor.googlelabs.com/about/ http://appinventor.googlelabs.com/about/]&amp;lt;br&amp;gt;&lt;br /&gt;
I haven&#039;t used it, but I will...&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[User:Malman23|Mitch]].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
---------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Here is the original announcement:&amp;lt;br&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A couple of weeks ago Google announced the ability for Android to connect with Arduino to be used as a cheap, easy-to-use hardware development platform.  Google then created ADK (Android Development Kit, based on Arduino), which is not cheap -- but they gave a bunch away for free at the Maker Faire last weekend.&amp;lt;br&amp;gt; &lt;br /&gt;
[http://developer.android.com/guide/topics/usb/adk.html info on Android website]&amp;lt;br&amp;gt;&lt;br /&gt;
and&amp;lt;br&amp;gt;&lt;br /&gt;
[http://arduino.cc/blog/2011/05/10/google-launches-android-open-accessory-development-kit-based-on-arduino/ info on Aruino&#039;s website]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Since many of us are relatively clueless on how to hack Android phones, or how to connect them to Arduino to do cool things, a bunch of us are getting together next Sunday to put our collective heads together to see how to make it all work on our Android phones.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
It is likely that a Google employee and Android developer will be joining us to help out.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;When&#039;&#039;&#039;: Sunday, 5-June-2011, 3pm&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Where&#039;&#039;&#039;: Noisebridge 2169 Mission St., 3rd floor&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;What&#039;&#039;&#039;: get our Android phones to play with Arduino (including the Google ADK)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Who&#039;&#039;&#039;: anyone (regardless of skill level) who cares to join in the fun&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Owen</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21330</id>
		<title>AndroidArduinoMeetup</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21330"/>
		<updated>2011-11-02T23:34:08Z</updated>

		<summary type="html">&lt;p&gt;Owen: /* Documentation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Intro ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On June 5th, 2011, an enthusiastic group of more than 40 people gathered here at NoiseBridge for a first-time Android-Arduino Meetup. Pooling our collective technical know-how , we successfully managed to make our Android phones communicate with Arduino hardware.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Our meetup was written up on the MAKE Magazine blog:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://blog.makezine.com/archive/2011/06/using-the-android-open-accessory-api-without-a-nexus.html Using the Android Open Accessory API without a Nexus]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Google officially added Arduino support to new versions of the Android OS so that hardware development on Android phones is easy.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Arduino hardware that will work with Android phones includes:&amp;lt;br&amp;gt;&lt;br /&gt;
- the Google ADK (Android Development Kit)&amp;lt;br&amp;gt;&lt;br /&gt;
- a standard Arduino&amp;lt;br&amp;gt;&lt;br /&gt;
- any Arduino clone with a USB Host shield&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:ADKphoto.jpg|thumb|right|G2 phone controlling Google&#039;s ADK hardware, including two motors]]&lt;br /&gt;
First, since Arduino support is &#039;&#039;only available on new versions&#039;&#039; of the Android OS, a lot of people, myself included, needed to &#039;&#039;root&#039;&#039; their phones to get a new version of Android OS on them.  We met at one side of the room, where [[User:Rubin110|Rubin]] gave an overview of the process of rooting an Android phone, followed by a hands-on workshop.  &#039;&#039;I had my phone rooted, installed the latest Android OS (CyanogenMod), and then got my phone to control the Google ADK hardware!  I document my procedure, below, so others may benefit from my experience.&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Note: By constrast, a number of other people at the meetup already had phones with versions of the Android OS compatible with Arduino hardware.  These people gathered at the electronics lab area and had their phones connected with Google ADK, standard Arduinos, and other Arduino clones (with USB Host shield).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I have a new (8 day old) T-Mobile G2 phone (also known as &#039;&#039;HTC Vision&#039;&#039;).&amp;lt;br&amp;gt;&lt;br /&gt;
It came with a version of Android OS (v2.2) that does not support Arduino hardware (need 2.3.4 or later).&amp;lt;br&amp;gt;&lt;br /&gt;
So, with the help of [[User:Rubin110|Rubin]] and others, I rooted my phone, and installed the latest version of Cyanogenmod (a fork of the official Android OS).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I attempted to document the steps I went through, so that others can have an easier time of it.&amp;lt;br&amp;gt;&lt;br /&gt;
The steps will probably be similar if you have another type of Android phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This entire process took me 3 hours, but it will take you less time if you have a more recent version of Android as explained above.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The procedure is mostly given at:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting T-Mobile G2 Rooting]&amp;lt;br&amp;gt;&lt;br /&gt;
I will not reproduce everything here, but there are a few notes that I&#039;ll give that  are very helpful to know.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Here are some other resources (which I did not use, but may be helpful):&amp;lt;br&amp;gt;&lt;br /&gt;
wiki.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
forms.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
xda-developers.com&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #cyanogenmod&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #noisebridge&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Steps I took to get Cyanogen on my G2:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Basically, follow the instructions here:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting&amp;lt;br&amp;gt;&lt;br /&gt;
I am mostly just giving helpful notes, below, and not reproducing the entire procedure.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The first step is to backup you phone.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The next step is to get temporary root access.&amp;lt;br&amp;gt;&lt;br /&gt;
The first thing here is to get ADB running.  One way to do this is by installing the Android SDK on your computer.  Since the wireless at Noisebridge was overloaded with so many people using it at once, and since Miloh had the foresight to download the Android SDK for Windows, MacOS, and Linux, I downloaded the Windows version (yes, I use Windows) from Miloh’s account on Pony:&amp;lt;br&amp;gt;&lt;br /&gt;
http://developer.android.com/sdk/index.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;installer_r11-windows.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
But to be able to install the Android SDK, it is necessary to have Java Development Kit running on your computer (JRE is not good enough).&amp;lt;br&amp;gt;&lt;br /&gt;
Downlowd and install JDK on my computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u25-download-346242.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;jdk-6u25-windows-i586.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then double-click to install the Android SDK, BUT THERE IS A BUG in the installer:&amp;lt;br&amp;gt;&lt;br /&gt;
 When it says that JDK is needed and it can’t be found, hit BACK, and then hit NEXT again, and it will go OK from there.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then I followed the instructions in this Android SDK guide on how to install the Android SDK on my computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=Howto:_Install_the_Android_SDK&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
As part of installing the Android SDK -- when I connected my phone to my computer, after installing everything, ADB driver was not installed correctly.  So, as in the guide&#039;s instructions, I had to continue with further instructions to update the ADB driver. This worked fine for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Back to the instructions for G2 Rooting.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue to follow instructions to gain temporary root access on the phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Next we move on to gain permanent root access on the phone (which has the bonus of unlocking the phone).&amp;lt;br&amp;gt;&lt;br /&gt;
I had to use gfree v0.02, since the first gfree suggested (v0.04) gave me the error about failing to power cycle the eMMC (gfree_02 worked fine).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I did not flash the Engineering Hboot (which is stated as optional in the G2 Rooting instructions).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with intructions for Install a Custom Recovery Image.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with instructions for Flashing a Radio.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with instructions for Flashing CyanogenMod:&amp;lt;br&amp;gt;&lt;br /&gt;
After downloading the ROM Manager free version, it turns out that I couldn’t download the Cyanogenmod nightlies, which are the latest versions (need paid version or ROM Manager to get latest versions -- ugh), so I used the &amp;quot;second method&amp;quot; in the instructions, and downloaded the latest nightly on my computer, then transferred to G2:&amp;lt;br&amp;gt;&lt;br /&gt;
http://download.cyanogenmod.com/?device=vision&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;cm_cision_full-98.zip&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Because of legal reasons, there are a bunch of free Google Android apps that are not allowed to come with CyanogenMod.  You can download these (including Android Market) and transer them to the phone.  The package I downloaded and transferred to my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;CyanogenMod 7&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
NOTE:  When transferring files to phone, it is fine to transfer the zipped files.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Unhook phone, and then go back to instructions using Second Version.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Using ROM Manager, install cm_vision_full-98.zip&lt;br /&gt;
After reboot, it ignored instructions we gave it about backups, so when we get a screen full of orange text (Clockwork Flash Recovery), and did the following:&amp;lt;br&amp;gt;&lt;br /&gt;
- Backup and restore (to backup entire OS) (takes awhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe data/factory reset&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe cache partition&amp;lt;br&amp;gt;&lt;br /&gt;
- Advanced: Wipe dalvik cache  (not in instructions, but seemed worthwhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for cm_vision_full-98&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for Google apps (g_apps)&amp;lt;br&amp;gt;&lt;br /&gt;
- Reboot system&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If things do not go well at this point, I will have a bricked phone.  If things go well, I should get CyanogenMod logo animation boot screen.  What will happen? . . . &amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  --   Though it took a couple of minutes watching the static HTC screen, the CyanogenMod logo animation came up, and my phone works great!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Then I installed the Google ADK software on my G2.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Lilia compiled the ADK software for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pro tip: when compiling the demo app under Eclipse, your build target (Project Properties -&amp;gt; Android -&amp;gt; Project Build Target) should be &amp;quot;Google APIs&amp;quot; API 10, which can be installed from the ADK/AVD manager -&amp;gt; Available packages -&amp;gt; Third party Add-ons -&amp;gt; Google Inc. -&amp;gt; Google APIs by Google Inc., Android API 10. This is NOT the same as the Android SDK 2.3.3 API 10.  --lilia&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When I connected the ADK hardware to my phone (via the USB cable), a screen appeared on my phone asking me if I want to connect.&amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  I can now control the ADK hardware with my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
- Light up the three RGB LEDs any color I like.&amp;lt;br&amp;gt;&lt;br /&gt;
- Move the three servo motors.&amp;lt;br&amp;gt;&lt;br /&gt;
- Turn the two relays on and off.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the temperature sensor.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the joystick position.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I can&#039;t wait to play with this more.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
There is a visually oriented programming language for very easily creating your own Android apps -- called App Inventor.  Here is a fun intro to it:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://appinventor.googlelabs.com/about/ http://appinventor.googlelabs.com/about/]&amp;lt;br&amp;gt;&lt;br /&gt;
I haven&#039;t used it, but I will...&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[User:Malman23|Mitch]].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
---------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Here is the original announcement:&amp;lt;br&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A couple of weeks ago Google announced the ability for Android to connect with Arduino to be used as a cheap, easy-to-use hardware development platform.  Google then created ADK (Android Development Kit, based on Arduino), which is not cheap -- but they gave a bunch away for free at the Maker Faire last weekend.&amp;lt;br&amp;gt; &lt;br /&gt;
[http://developer.android.com/guide/topics/usb/adk.html info on Android website]&amp;lt;br&amp;gt;&lt;br /&gt;
and&amp;lt;br&amp;gt;&lt;br /&gt;
[http://arduino.cc/blog/2011/05/10/google-launches-android-open-accessory-development-kit-based-on-arduino/ info on Aruino&#039;s website]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Since many of us are relatively clueless on how to hack Android phones, or how to connect them to Arduino to do cool things, a bunch of us are getting together next Sunday to put our collective heads together to see how to make it all work on our Android phones.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
It is likely that a Google employee and Android developer will be joining us to help out.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;When&#039;&#039;&#039;: Sunday, 5-June-2011, 3pm&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Where&#039;&#039;&#039;: Noisebridge 2169 Mission St., 3rd floor&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;What&#039;&#039;&#039;: get our Android phones to play with Arduino (including the Google ADK)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Who&#039;&#039;&#039;: anyone (regardless of skill level) who cares to join in the fun&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Owen</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21329</id>
		<title>AndroidArduinoMeetup</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21329"/>
		<updated>2011-11-02T23:30:05Z</updated>

		<summary type="html">&lt;p&gt;Owen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Intro ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On June 5th, 2011, an enthusiastic group of more than 40 people gathered here at NoiseBridge for a first-time Android-Arduino Meetup. Pooling our collective technical know-how , we successfully managed to make our Android phones communicate with Arduino hardware.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Our meetup was written up on the MAKE Magazine blog:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://blog.makezine.com/archive/2011/06/using-the-android-open-accessory-api-without-a-nexus.html Using the Android Open Accessory API without a Nexus]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Google officially added Arduino support to new versions of the Android OS so that hardware development on Android phones is easy.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Arduino hardware that will work with Android phones includes:&amp;lt;br&amp;gt;&lt;br /&gt;
- the Google ADK (Android Development Kit)&amp;lt;br&amp;gt;&lt;br /&gt;
- a standard Arduino&amp;lt;br&amp;gt;&lt;br /&gt;
- any Arduino clone with a USB Host shield&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:ADKphoto.jpg|thumb|right|G2 phone controlling Google&#039;s ADK hardware, including two motors]]&lt;br /&gt;
First, since Arduino support is &#039;&#039;only available on new versions&#039;&#039; of the Android OS, a lot of people, myself included, needed to &#039;&#039;root&#039;&#039; their phones to get a new version of Android OS on them.  We met at one side of the room, where [[User:Rubin110|Rubin]] gave an overview of the process of rooting an Android phone, followed by a hands-on workshop.  &#039;&#039;I had my phone rooted, installed the latest Android OS (CyanogenMod), and then got my phone to control the Google ADK hardware!  I document my procedure, below, so others may benefit from my experience.&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Note: By constrast, a number of other people at the meetup already had phones with versions of the Android OS compatible with Arduino hardware.  These people gathered at the electronics lab area and had their phones connected with Google ADK, standard Arduinos, and other Arduino clones (with USB Host shield).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I have a new (8 day old) T-Mobile G2 phone (also known as &#039;&#039;HTC Vision&#039;&#039;).&amp;lt;br&amp;gt;&lt;br /&gt;
It came with a version of Android OS (v2.2) that does not support Arduino hardware (need 2.3.4 or later).&amp;lt;br&amp;gt;&lt;br /&gt;
So, with the help of [[User:Rubin110|Rubin]] and others, I rooted my phone, and installed the latest version of Cyanogenmod (a fork of the official Android OS).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I attempted to document the steps I went through, so that others can have an easier time of it.&amp;lt;br&amp;gt;&lt;br /&gt;
The steps will probably be similar if you have another type of Android phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This entire process took me 3 hours.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The procedure is mostly given at:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting T-Mobile G2 Rooting]&amp;lt;br&amp;gt;&lt;br /&gt;
I will not reproduce everything here, but there are a few notes that I&#039;ll give that  are very helpful to know.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Here are some other resources (which I did not use, but may be helpful):&amp;lt;br&amp;gt;&lt;br /&gt;
wiki.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
forms.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
xda-developers.com&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #cyanogenmod&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #noisebridge&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Steps I took to get Cyanogen on my G2:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Basically, follow the instructions here:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting&amp;lt;br&amp;gt;&lt;br /&gt;
I am mostly just giving helpful notes, below, and not reproducing the entire procedure.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The first step is to backup you phone.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The next step is to get temporary root access.&amp;lt;br&amp;gt;&lt;br /&gt;
The first thing here is to get ADB running.  One way to do this is by installing the Android SDK on your computer.  Since the wireless at Noisebridge was overloaded with so many people using it at once, and since Miloh had the foresight to download the Android SDK for Windows, MacOS, and Linux, I downloaded the Windows version (yes, I use Windows) from Miloh’s account on Pony:&amp;lt;br&amp;gt;&lt;br /&gt;
http://developer.android.com/sdk/index.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;installer_r11-windows.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
But to be able to install the Android SDK, it is necessary to have Java Development Kit running on your computer (JRE is not good enough).&amp;lt;br&amp;gt;&lt;br /&gt;
Downlowd and install JDK on my computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u25-download-346242.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;jdk-6u25-windows-i586.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then double-click to install the Android SDK, BUT THERE IS A BUG in the installer:&amp;lt;br&amp;gt;&lt;br /&gt;
 When it says that JDK is needed and it can’t be found, hit BACK, and then hit NEXT again, and it will go OK from there.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then I followed the instructions in this Android SDK guide on how to install the Android SDK on my computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=Howto:_Install_the_Android_SDK&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
As part of installing the Android SDK -- when I connected my phone to my computer, after installing everything, ADB driver was not installed correctly.  So, as in the guide&#039;s instructions, I had to continue with further instructions to update the ADB driver. This worked fine for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Back to the instructions for G2 Rooting.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue to follow instructions to gain temporary root access on the phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Next we move on to gain permanent root access on the phone (which has the bonus of unlocking the phone).&amp;lt;br&amp;gt;&lt;br /&gt;
I had to use gfree v0.02, since the first gfree suggested (v0.04) gave me the error about failing to power cycle the eMMC (gfree_02 worked fine).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I did not flash the Engineering Hboot (which is stated as optional in the G2 Rooting instructions).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with intructions for Install a Custom Recovery Image.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with instructions for Flashing a Radio.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with instructions for Flashing CyanogenMod:&amp;lt;br&amp;gt;&lt;br /&gt;
After downloading the ROM Manager free version, it turns out that I couldn’t download the Cyanogenmod nightlies, which are the latest versions (need paid version or ROM Manager to get latest versions -- ugh), so I used the &amp;quot;second method&amp;quot; in the instructions, and downloaded the latest nightly on my computer, then transferred to G2:&amp;lt;br&amp;gt;&lt;br /&gt;
http://download.cyanogenmod.com/?device=vision&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;cm_cision_full-98.zip&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Because of legal reasons, there are a bunch of free Google Android apps that are not allowed to come with CyanogenMod.  You can download these (including Android Market) and transer them to the phone.  The package I downloaded and transferred to my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;CyanogenMod 7&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
NOTE:  When transferring files to phone, it is fine to transfer the zipped files.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Unhook phone, and then go back to instructions using Second Version.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Using ROM Manager, install cm_vision_full-98.zip&lt;br /&gt;
After reboot, it ignored instructions we gave it about backups, so when we get a screen full of orange text (Clockwork Flash Recovery), and did the following:&amp;lt;br&amp;gt;&lt;br /&gt;
- Backup and restore (to backup entire OS) (takes awhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe data/factory reset&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe cache partition&amp;lt;br&amp;gt;&lt;br /&gt;
- Advanced: Wipe dalvik cache  (not in instructions, but seemed worthwhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for cm_vision_full-98&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for Google apps (g_apps)&amp;lt;br&amp;gt;&lt;br /&gt;
- Reboot system&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If things do not go well at this point, I will have a bricked phone.  If things go well, I should get CyanogenMod logo animation boot screen.  What will happen? . . . &amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  --   Though it took a couple of minutes watching the static HTC screen, the CyanogenMod logo animation came up, and my phone works great!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Then I installed the Google ADK software on my G2.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Lilia compiled the ADK software for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pro tip: when compiling the demo app under Eclipse, your build target (Project Properties -&amp;gt; Android -&amp;gt; Project Build Target) should be &amp;quot;Google APIs&amp;quot; API 10, which can be installed from the ADK/AVD manager -&amp;gt; Available packages -&amp;gt; Third party Add-ons -&amp;gt; Google Inc. -&amp;gt; Google APIs by Google Inc., Android API 10. This is NOT the same as the Android SDK 2.3.3 API 10.  --lilia&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When I connected the ADK hardware to my phone (via the USB cable), a screen appeared on my phone asking me if I want to connect.&amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  I can now control the ADK hardware with my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
- Light up the three RGB LEDs any color I like.&amp;lt;br&amp;gt;&lt;br /&gt;
- Move the three servo motors.&amp;lt;br&amp;gt;&lt;br /&gt;
- Turn the two relays on and off.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the temperature sensor.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the joystick position.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I can&#039;t wait to play with this more.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
There is a visually oriented programming language for very easily creating your own Android apps -- called App Inventor.  Here is a fun intro to it:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://appinventor.googlelabs.com/about/ http://appinventor.googlelabs.com/about/]&amp;lt;br&amp;gt;&lt;br /&gt;
I haven&#039;t used it, but I will...&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[User:Malman23|Mitch]].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
---------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Here is the original announcement:&amp;lt;br&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A couple of weeks ago Google announced the ability for Android to connect with Arduino to be used as a cheap, easy-to-use hardware development platform.  Google then created ADK (Android Development Kit, based on Arduino), which is not cheap -- but they gave a bunch away for free at the Maker Faire last weekend.&amp;lt;br&amp;gt; &lt;br /&gt;
[http://developer.android.com/guide/topics/usb/adk.html info on Android website]&amp;lt;br&amp;gt;&lt;br /&gt;
and&amp;lt;br&amp;gt;&lt;br /&gt;
[http://arduino.cc/blog/2011/05/10/google-launches-android-open-accessory-development-kit-based-on-arduino/ info on Aruino&#039;s website]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Since many of us are relatively clueless on how to hack Android phones, or how to connect them to Arduino to do cool things, a bunch of us are getting together next Sunday to put our collective heads together to see how to make it all work on our Android phones.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
It is likely that a Google employee and Android developer will be joining us to help out.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;When&#039;&#039;&#039;: Sunday, 5-June-2011, 3pm&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Where&#039;&#039;&#039;: Noisebridge 2169 Mission St., 3rd floor&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;What&#039;&#039;&#039;: get our Android phones to play with Arduino (including the Google ADK)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Who&#039;&#039;&#039;: anyone (regardless of skill level) who cares to join in the fun&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Owen</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21328</id>
		<title>AndroidArduinoMeetup</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21328"/>
		<updated>2011-11-02T23:27:50Z</updated>

		<summary type="html">&lt;p&gt;Owen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Intro ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On June 5th, 2011, an ethusiastic group of more than 40 people gathered here at NoiseBridge for a first-time Android-Arduino Meetup. Pooling our collective technical know-how , we successfully managed to make our Android phones communicate with Arduino hardware.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Our meetup was written up on the MAKE Magazine blog:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://blog.makezine.com/archive/2011/06/using-the-android-open-accessory-api-without-a-nexus.html Using the Android Open Accessory API without a Nexus]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Google officially added Arduino support to new versions of the Android OS so that hardware development on Android phones is easy.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Arduino hardware that will work with Android phones includes:&amp;lt;br&amp;gt;&lt;br /&gt;
- the Google ADK (Android Development Kit)&amp;lt;br&amp;gt;&lt;br /&gt;
- a standard Arduino&amp;lt;br&amp;gt;&lt;br /&gt;
- any Arduino clone with a USB Host shield&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:ADKphoto.jpg|thumb|right|G2 phone controlling Google&#039;s ADK hardware, including two motors]]&lt;br /&gt;
First, since Arduino support is &#039;&#039;only available on new versions&#039;&#039; of the Android OS, a lot of people, myself included, needed to &#039;&#039;root&#039;&#039; their phones to get a new version of Android OS on them.  We met at one side of the room, where [[User:Rubin110|Rubin]] gave an overview of the process of rooting an Android phone, followed by a hands-on workshop.  &#039;&#039;I had my phone rooted, installed the latest Android OS (CyanogenMod), and then got my phone to control the Google ADK hardware!  I document my procedure, below, so others may benefit from my experience.&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
By constrast, a number of other people at the meetup already had phones with versions of the Android OS compatible with Arduino hardware.  These people gathered at the electronics lab area and had their phones connected with Google ADK, standard Arduinos, and other Arduino clones (with USB Host shield).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I have a new (8 day old) T-Mobile G2 phone (also known as &#039;&#039;HTC Vision&#039;&#039;).&amp;lt;br&amp;gt;&lt;br /&gt;
It came with a version of Android OS (v2.2) that does not support Arduino hardware (need 2.3.4 or later).&amp;lt;br&amp;gt;&lt;br /&gt;
So, with the help of [[User:Rubin110|Rubin]] and others, I rooted my phone, and installed the latest version of Cyanogenmod (a fork of the official Android OS).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I attempted to document the steps I went through, so that others can have an easier time of it.&amp;lt;br&amp;gt;&lt;br /&gt;
The steps will probably be similar if you have another type of Android phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This entire process took me 3 hours.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The procedure is mostly given at:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting T-Mobile G2 Rooting]&amp;lt;br&amp;gt;&lt;br /&gt;
I will not reproduce everything here, but there are a few notes that I&#039;ll give that  are very helpful to know.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Here are some other resources (which I did not use, but may be helpful):&amp;lt;br&amp;gt;&lt;br /&gt;
wiki.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
forms.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
xda-developers.com&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #cyanogenmod&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #noisebridge&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Steps I took to get Cyanogen on my G2:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Basically, follow the instructions here:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting&amp;lt;br&amp;gt;&lt;br /&gt;
I am mostly just giving helpful notes, below, and not reproducing the entire procedure.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The first step is to backup you phone.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The next step is to get temporary root access.&amp;lt;br&amp;gt;&lt;br /&gt;
The first thing here is to get ADB running.  One way to do this is by installing the Android SDK on your computer.  Since the wireless at Noisebridge was overloaded with so many people using it at once, and since Miloh had the foresight to download the Android SDK for Windows, MacOS, and Linux, I downloaded the Windows version (yes, I use Windows) from Miloh’s account on Pony:&amp;lt;br&amp;gt;&lt;br /&gt;
http://developer.android.com/sdk/index.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;installer_r11-windows.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
But to be able to install the Android SDK, it is necessary to have Java Development Kit running on your computer (JRE is not good enough).&amp;lt;br&amp;gt;&lt;br /&gt;
Downlowd and install JDK on my computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u25-download-346242.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;jdk-6u25-windows-i586.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then double-click to install the Android SDK, BUT THERE IS A BUG in the installer:&amp;lt;br&amp;gt;&lt;br /&gt;
 When it says that JDK is needed and it can’t be found, hit BACK, and then hit NEXT again, and it will go OK from there.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then I followed the instructions in this Android SDK guide on how to install the Android SDK on my computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=Howto:_Install_the_Android_SDK&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
As part of installing the Android SDK -- when I connected my phone to my computer, after installing everything, ADB driver was not installed correctly.  So, as in the guide&#039;s instructions, I had to continue with further instructions to update the ADB driver. This worked fine for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Back to the instructions for G2 Rooting.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue to follow instructions to gain temporary root access on the phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Next we move on to gain permanent root access on the phone (which has the bonus of unlocking the phone).&amp;lt;br&amp;gt;&lt;br /&gt;
I had to use gfree v0.02, since the first gfree suggested (v0.04) gave me the error about failing to power cycle the eMMC (gfree_02 worked fine).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I did not flash the Engineering Hboot (which is stated as optional in the G2 Rooting instructions).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with intructions for Install a Custom Recovery Image.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with instructions for Flashing a Radio.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with instructions for Flashing CyanogenMod:&amp;lt;br&amp;gt;&lt;br /&gt;
After downloading the ROM Manager free version, it turns out that I couldn’t download the Cyanogenmod nightlies, which are the latest versions (need paid version or ROM Manager to get latest versions -- ugh), so I used the &amp;quot;second method&amp;quot; in the instructions, and downloaded the latest nightly on my computer, then transferred to G2:&amp;lt;br&amp;gt;&lt;br /&gt;
http://download.cyanogenmod.com/?device=vision&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;cm_cision_full-98.zip&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Because of legal reasons, there are a bunch of free Google Android apps that are not allowed to come with CyanogenMod.  You can download these (including Android Market) and transer them to the phone.  The package I downloaded and transferred to my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;CyanogenMod 7&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
NOTE:  When transferring files to phone, it is fine to transfer the zipped files.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Unhook phone, and then go back to instructions using Second Version.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Using ROM Manager, install cm_vision_full-98.zip&lt;br /&gt;
After reboot, it ignored instructions we gave it about backups, so when we get a screen full of orange text (Clockwork Flash Recovery), and did the following:&amp;lt;br&amp;gt;&lt;br /&gt;
- Backup and restore (to backup entire OS) (takes awhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe data/factory reset&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe cache partition&amp;lt;br&amp;gt;&lt;br /&gt;
- Advanced: Wipe dalvik cache  (not in instructions, but seemed worthwhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for cm_vision_full-98&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for Google apps (g_apps)&amp;lt;br&amp;gt;&lt;br /&gt;
- Reboot system&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If things do not go well at this point, I will have a bricked phone.  If things go well, I should get CyanogenMod logo animation boot screen.  What will happen? . . . &amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  --   Though it took a couple of minutes watching the static HTC screen, the CyanogenMod logo animation came up, and my phone works great!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Then I installed the Google ADK software on my G2.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Lilia compiled the ADK software for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pro tip: when compiling the demo app under Eclipse, your build target (Project Properties -&amp;gt; Android -&amp;gt; Project Build Target) should be &amp;quot;Google APIs&amp;quot; API 10, which can be installed from the ADK/AVD manager -&amp;gt; Available packages -&amp;gt; Third party Add-ons -&amp;gt; Google Inc. -&amp;gt; Google APIs by Google Inc., Android API 10. This is NOT the same as the Android SDK 2.3.3 API 10.  --lilia&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When I connected the ADK hardware to my phone (via the USB cable), a screen appeared on my phone asking me if I want to connect.&amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  I can now control the ADK hardware with my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
- Light up the three RGB LEDs any color I like.&amp;lt;br&amp;gt;&lt;br /&gt;
- Move the three servo motors.&amp;lt;br&amp;gt;&lt;br /&gt;
- Turn the two relays on and off.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the temperature sensor.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the joystick position.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I can&#039;t wait to play with this more.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
There is a visually oriented programming language for very easily creating your own Android apps -- called App Inventor.  Here is a fun intro to it:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://appinventor.googlelabs.com/about/ http://appinventor.googlelabs.com/about/]&amp;lt;br&amp;gt;&lt;br /&gt;
I haven&#039;t used it, but I will...&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[User:Malman23|Mitch]].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
---------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Here is the original announcement:&amp;lt;br&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A couple of weeks ago Google announced the ability for Android to connect with Arduino to be used as a cheap, easy-to-use hardware development platform.  Google then created ADK (Android Development Kit, based on Arduino), which is not cheap -- but they gave a bunch away for free at the Maker Faire last weekend.&amp;lt;br&amp;gt; &lt;br /&gt;
[http://developer.android.com/guide/topics/usb/adk.html info on Android website]&amp;lt;br&amp;gt;&lt;br /&gt;
and&amp;lt;br&amp;gt;&lt;br /&gt;
[http://arduino.cc/blog/2011/05/10/google-launches-android-open-accessory-development-kit-based-on-arduino/ info on Aruino&#039;s website]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Since many of us are relatively clueless on how to hack Android phones, or how to connect them to Arduino to do cool things, a bunch of us are getting together next Sunday to put our collective heads together to see how to make it all work on our Android phones.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
It is likely that a Google employee and Android developer will be joining us to help out.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;When&#039;&#039;&#039;: Sunday, 5-June-2011, 3pm&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Where&#039;&#039;&#039;: Noisebridge 2169 Mission St., 3rd floor&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;What&#039;&#039;&#039;: get our Android phones to play with Arduino (including the Google ADK)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Who&#039;&#039;&#039;: anyone (regardless of skill level) who cares to join in the fun&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Owen</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21327</id>
		<title>AndroidArduinoMeetup</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21327"/>
		<updated>2011-11-02T23:26:14Z</updated>

		<summary type="html">&lt;p&gt;Owen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Intro ==&lt;br /&gt;
&lt;br /&gt;
On June 5th, 2011, an ethusiastic group of more than 40 people gathered here at NoiseBridge for a first-time Android-Arduino Meetup. Pooling our collective technical know-how , we successfully managed to make our Android phones communicate with Arduino hardware.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Our meetup was written up on the MAKE Magazine blog:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://blog.makezine.com/archive/2011/06/using-the-android-open-accessory-api-without-a-nexus.html Using the Android Open Accessory API without a Nexus]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Google officially added Arduino support to new versions of the Android OS so that hardware development on Android phones is easy.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Arduino hardware that will work with Android phones includes:&amp;lt;br&amp;gt;&lt;br /&gt;
- the Google ADK (Android Development Kit)&amp;lt;br&amp;gt;&lt;br /&gt;
- a standard Arduino&amp;lt;br&amp;gt;&lt;br /&gt;
- any Arduino clone with a USB Host shield&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:ADKphoto.jpg|thumb|right|G2 phone controlling Google&#039;s ADK hardware, including two motors]]&lt;br /&gt;
First, since Arduino support is &#039;&#039;only available on new versions&#039;&#039; of the Android OS, a lot of people, myself included, needed to &#039;&#039;root&#039;&#039; their phones to get a new version of Android OS on them.  We met at one side of the room, where [[User:Rubin110|Rubin]] gave an overview of the process of rooting an Android phone, followed by a hands-on workshop.  &#039;&#039;I had my phone rooted, installed the latest Android OS (CyanogenMod), and then got my phone to control the Google ADK hardware!  I document my procedure, below, so others may benefit from my experience.&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
By constrast, a number of other people at the meetup already had phones with versions of the Android OS compatible with Arduino hardware.  These people gathered at the electronics lab area and had their phones connected with Google ADK, standard Arduinos, and other Arduino clones (with USB Host shield).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I have a new (8 day old) T-Mobile G2 phone (also known as &#039;&#039;HTC Vision&#039;&#039;).&amp;lt;br&amp;gt;&lt;br /&gt;
It came with a version of Android OS (v2.2) that does not support Arduino hardware (need 2.3.4 or later).&amp;lt;br&amp;gt;&lt;br /&gt;
So, with the help of [[User:Rubin110|Rubin]] and others, I rooted my phone, and installed the latest version of Cyanogenmod (a fork of the official Android OS).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I attempted to document the steps I went through, so that others can have an easier time of it.&amp;lt;br&amp;gt;&lt;br /&gt;
The steps will probably be similar if you have another type of Android phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Here is the documentation:&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&lt;br /&gt;
This entire process took me 3 hours.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The procedure is mostly given at:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting T-Mobile G2 Rooting]&amp;lt;br&amp;gt;&lt;br /&gt;
I will not reproduce everything here, but there are a few notes that I&#039;ll give that  are very helpful to know.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Here are some other resources (which I did not use, but may be helpful):&amp;lt;br&amp;gt;&lt;br /&gt;
wiki.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
forms.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
xda-developers.com&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #cyanogenmod&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #noisebridge&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Steps I took to get Cyanogen on my G2:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Basically, follow the instructions here:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting&amp;lt;br&amp;gt;&lt;br /&gt;
I am mostly just giving helpful notes, below, and not reproducing the entire procedure.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The first step is to backup you phone.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The next step is to get temporary root access.&amp;lt;br&amp;gt;&lt;br /&gt;
The first thing here is to get ADB running.  One way to do this is by installing the Android SDK on your computer.  Since the wireless at Noisebridge was overloaded with so many people using it at once, and since Miloh had the foresight to download the Android SDK for Windows, MacOS, and Linux, I downloaded the Windows version (yes, I use Windows) from Miloh’s account on Pony:&amp;lt;br&amp;gt;&lt;br /&gt;
http://developer.android.com/sdk/index.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;installer_r11-windows.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
But to be able to install the Android SDK, it is necessary to have Java Development Kit running on your computer (JRE is not good enough).&amp;lt;br&amp;gt;&lt;br /&gt;
Downlowd and install JDK on my computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u25-download-346242.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;jdk-6u25-windows-i586.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then double-click to install the Android SDK, BUT THERE IS A BUG in the installer:&amp;lt;br&amp;gt;&lt;br /&gt;
 When it says that JDK is needed and it can’t be found, hit BACK, and then hit NEXT again, and it will go OK from there.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then I followed the instructions in this Android SDK guide on how to install the Android SDK on my computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=Howto:_Install_the_Android_SDK&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
As part of installing the Android SDK -- when I connected my phone to my computer, after installing everything, ADB driver was not installed correctly.  So, as in the guide&#039;s instructions, I had to continue with further instructions to update the ADB driver. This worked fine for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Back to the instructions for G2 Rooting.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue to follow instructions to gain temporary root access on the phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Next we move on to gain permanent root access on the phone (which has the bonus of unlocking the phone).&amp;lt;br&amp;gt;&lt;br /&gt;
I had to use gfree v0.02, since the first gfree suggested (v0.04) gave me the error about failing to power cycle the eMMC (gfree_02 worked fine).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I did not flash the Engineering Hboot (which is stated as optional in the G2 Rooting instructions).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with intructions for Install a Custom Recovery Image.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with instructions for Flashing a Radio.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with instructions for Flashing CyanogenMod:&amp;lt;br&amp;gt;&lt;br /&gt;
After downloading the ROM Manager free version, it turns out that I couldn’t download the Cyanogenmod nightlies, which are the latest versions (need paid version or ROM Manager to get latest versions -- ugh), so I used the &amp;quot;second method&amp;quot; in the instructions, and downloaded the latest nightly on my computer, then transferred to G2:&amp;lt;br&amp;gt;&lt;br /&gt;
http://download.cyanogenmod.com/?device=vision&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;cm_cision_full-98.zip&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Because of legal reasons, there are a bunch of free Google Android apps that are not allowed to come with CyanogenMod.  You can download these (including Android Market) and transer them to the phone.  The package I downloaded and transferred to my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;CyanogenMod 7&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
NOTE:  When transferring files to phone, it is fine to transfer the zipped files.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Unhook phone, and then go back to instructions using Second Version.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Using ROM Manager, install cm_vision_full-98.zip&lt;br /&gt;
After reboot, it ignored instructions we gave it about backups, so when we get a screen full of orange text (Clockwork Flash Recovery), and did the following:&amp;lt;br&amp;gt;&lt;br /&gt;
- Backup and restore (to backup entire OS) (takes awhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe data/factory reset&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe cache partition&amp;lt;br&amp;gt;&lt;br /&gt;
- Advanced: Wipe dalvik cache  (not in instructions, but seemed worthwhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for cm_vision_full-98&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for Google apps (g_apps)&amp;lt;br&amp;gt;&lt;br /&gt;
- Reboot system&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If things do not go well at this point, I will have a bricked phone.  If things go well, I should get CyanogenMod logo animation boot screen.  What will happen? . . . &amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  --   Though it took a couple of minutes watching the static HTC screen, the CyanogenMod logo animation came up, and my phone works great!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Then I installed the Google ADK software on my G2.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Lilia compiled the ADK software for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pro tip: when compiling the demo app under Eclipse, your build target (Project Properties -&amp;gt; Android -&amp;gt; Project Build Target) should be &amp;quot;Google APIs&amp;quot; API 10, which can be installed from the ADK/AVD manager -&amp;gt; Available packages -&amp;gt; Third party Add-ons -&amp;gt; Google Inc. -&amp;gt; Google APIs by Google Inc., Android API 10. This is NOT the same as the Android SDK 2.3.3 API 10.  --lilia&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When I connected the ADK hardware to my phone (via the USB cable), a screen appeared on my phone asking me if I want to connect.&amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  I can now control the ADK hardware with my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
- Light up the three RGB LEDs any color I like.&amp;lt;br&amp;gt;&lt;br /&gt;
- Move the three servo motors.&amp;lt;br&amp;gt;&lt;br /&gt;
- Turn the two relays on and off.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the temperature sensor.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the joystick position.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I can&#039;t wait to play with this more.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
There is a visually oriented programming language for very easily creating your own Android apps -- called App Inventor.  Here is a fun intro to it:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://appinventor.googlelabs.com/about/ http://appinventor.googlelabs.com/about/]&amp;lt;br&amp;gt;&lt;br /&gt;
I haven&#039;t used it, but I will...&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[User:Malman23|Mitch]].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
---------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Here is the original announcement:&amp;lt;br&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A couple of weeks ago Google announced the ability for Android to connect with Arduino to be used as a cheap, easy-to-use hardware development platform.  Google then created ADK (Android Development Kit, based on Arduino), which is not cheap -- but they gave a bunch away for free at the Maker Faire last weekend.&amp;lt;br&amp;gt; &lt;br /&gt;
[http://developer.android.com/guide/topics/usb/adk.html info on Android website]&amp;lt;br&amp;gt;&lt;br /&gt;
and&amp;lt;br&amp;gt;&lt;br /&gt;
[http://arduino.cc/blog/2011/05/10/google-launches-android-open-accessory-development-kit-based-on-arduino/ info on Aruino&#039;s website]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Since many of us are relatively clueless on how to hack Android phones, or how to connect them to Arduino to do cool things, a bunch of us are getting together next Sunday to put our collective heads together to see how to make it all work on our Android phones.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
It is likely that a Google employee and Android developer will be joining us to help out.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;When&#039;&#039;&#039;: Sunday, 5-June-2011, 3pm&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Where&#039;&#039;&#039;: Noisebridge 2169 Mission St., 3rd floor&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;What&#039;&#039;&#039;: get our Android phones to play with Arduino (including the Google ADK)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Who&#039;&#039;&#039;: anyone (regardless of skill level) who cares to join in the fun&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Owen</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21326</id>
		<title>AndroidArduinoMeetup</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21326"/>
		<updated>2011-11-02T23:24:37Z</updated>

		<summary type="html">&lt;p&gt;Owen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;On June 5th, 2011, an ethusiastic group of more than 40 people gathered here at NoiseBridge for a first-time Android-Arduino Meetup. Pooling our collective technical know-how , we successfully managed to make our Android phones communicate with Arduino hardware.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Our meetup was written up on the MAKE Magazine blog:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://blog.makezine.com/archive/2011/06/using-the-android-open-accessory-api-without-a-nexus.html Using the Android Open Accessory API without a Nexus]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Google officially added Arduino support to new versions of the Android OS so that hardware development on Android phones is easy.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Arduino hardware that will work with Android phones includes:&amp;lt;br&amp;gt;&lt;br /&gt;
- the Google ADK (Android Development Kit)&amp;lt;br&amp;gt;&lt;br /&gt;
- a standard Arduino&amp;lt;br&amp;gt;&lt;br /&gt;
- any Arduino clone with a USB Host shield&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:ADKphoto.jpg|thumb|right|G2 phone controlling Google&#039;s ADK hardware, including two motors]]&lt;br /&gt;
First, since Arduino support is &#039;&#039;only available on new versions&#039;&#039; of the Android OS, a lot of people, myself included, needed to &#039;&#039;root&#039;&#039; their phones to get a new version of Android OS on them.  We met at one side of the room, where [[User:Rubin110|Rubin]] gave an overview of the process of rooting an Android phone, followed by a hands-on workshop.  &#039;&#039;I had my phone rooted, installed the latest Android OS (CyanogenMod), and then got my phone to control the Google ADK hardware!  I document my procedure, below, so others may benefit from my experience.&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
By constrast, a number of other people at the meetup already had phones with versions of the Android OS compatible with Arduino hardware.  These people gathered at the electronics lab area and had their phones connected with Google ADK, standard Arduinos, and other Arduino clones (with USB Host shield).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I have a new (8 day old) T-Mobile G2 phone (also known as &#039;&#039;HTC Vision&#039;&#039;).&amp;lt;br&amp;gt;&lt;br /&gt;
It came with a version of Android OS (v2.2) that does not support Arduino hardware (need 2.3.4 or later).&amp;lt;br&amp;gt;&lt;br /&gt;
So, with the help of [[User:Rubin110|Rubin]] and others, I rooted my phone, and installed the latest version of Cyanogenmod (a fork of the official Android OS).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I attempted to document the steps I went through, so that others can have an easier time of it.&amp;lt;br&amp;gt;&lt;br /&gt;
The steps will probably be similar if you have another type of Android phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Here is the documentation:&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This entire process took me 3 hours.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The procedure is mostly given at:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting T-Mobile G2 Rooting]&amp;lt;br&amp;gt;&lt;br /&gt;
I will not reproduce everything here, but there are a few notes that I&#039;ll give that  are very helpful to know.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Here are some other resources (which I did not use, but may be helpful):&amp;lt;br&amp;gt;&lt;br /&gt;
wiki.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
forms.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
xda-developers.com&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #cyanogenmod&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #noisebridge&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Steps I took to get Cyanogen on my G2:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Basically, follow the instructions here:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting&amp;lt;br&amp;gt;&lt;br /&gt;
I am mostly just giving helpful notes, below, and not reproducing the entire procedure.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The first step is to backup you phone.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The next step is to get temporary root access.&amp;lt;br&amp;gt;&lt;br /&gt;
The first thing here is to get ADB running.  One way to do this is by installing the Android SDK on your computer.  Since the wireless at Noisebridge was overloaded with so many people using it at once, and since Miloh had the foresight to download the Android SDK for Windows, MacOS, and Linux, I downloaded the Windows version (yes, I use Windows) from Miloh’s account on Pony:&amp;lt;br&amp;gt;&lt;br /&gt;
http://developer.android.com/sdk/index.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;installer_r11-windows.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
But to be able to install the Android SDK, it is necessary to have Java Development Kit running on your computer (JRE is not good enough).&amp;lt;br&amp;gt;&lt;br /&gt;
Downlowd and install JDK on my computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u25-download-346242.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;jdk-6u25-windows-i586.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then double-click to install the Android SDK, BUT THERE IS A BUG in the installer:&amp;lt;br&amp;gt;&lt;br /&gt;
 When it says that JDK is needed and it can’t be found, hit BACK, and then hit NEXT again, and it will go OK from there.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then I followed the instructions in this Android SDK guide on how to install the Android SDK on my computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=Howto:_Install_the_Android_SDK&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
As part of installing the Android SDK -- when I connected my phone to my computer, after installing everything, ADB driver was not installed correctly.  So, as in the guide&#039;s instructions, I had to continue with further instructions to update the ADB driver. This worked fine for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Back to the instructions for G2 Rooting.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue to follow instructions to gain temporary root access on the phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Next we move on to gain permanent root access on the phone (which has the bonus of unlocking the phone).&amp;lt;br&amp;gt;&lt;br /&gt;
I had to use gfree v0.02, since the first gfree suggested (v0.04) gave me the error about failing to power cycle the eMMC (gfree_02 worked fine).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I did not flash the Engineering Hboot (which is stated as optional in the G2 Rooting instructions).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with intructions for Install a Custom Recovery Image.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with instructions for Flashing a Radio.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with instructions for Flashing CyanogenMod:&amp;lt;br&amp;gt;&lt;br /&gt;
After downloading the ROM Manager free version, it turns out that I couldn’t download the Cyanogenmod nightlies, which are the latest versions (need paid version or ROM Manager to get latest versions -- ugh), so I used the &amp;quot;second method&amp;quot; in the instructions, and downloaded the latest nightly on my computer, then transferred to G2:&amp;lt;br&amp;gt;&lt;br /&gt;
http://download.cyanogenmod.com/?device=vision&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;cm_cision_full-98.zip&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Because of legal reasons, there are a bunch of free Google Android apps that are not allowed to come with CyanogenMod.  You can download these (including Android Market) and transer them to the phone.  The package I downloaded and transferred to my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;CyanogenMod 7&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
NOTE:  When transferring files to phone, it is fine to transfer the zipped files.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Unhook phone, and then go back to instructions using Second Version.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Using ROM Manager, install cm_vision_full-98.zip&lt;br /&gt;
After reboot, it ignored instructions we gave it about backups, so when we get a screen full of orange text (Clockwork Flash Recovery), and did the following:&amp;lt;br&amp;gt;&lt;br /&gt;
- Backup and restore (to backup entire OS) (takes awhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe data/factory reset&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe cache partition&amp;lt;br&amp;gt;&lt;br /&gt;
- Advanced: Wipe dalvik cache  (not in instructions, but seemed worthwhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for cm_vision_full-98&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for Google apps (g_apps)&amp;lt;br&amp;gt;&lt;br /&gt;
- Reboot system&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If things do not go well at this point, I will have a bricked phone.  If things go well, I should get CyanogenMod logo animation boot screen.  What will happen? . . . &amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  --   Though it took a couple of minutes watching the static HTC screen, the CyanogenMod logo animation came up, and my phone works great!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Then I installed the Google ADK software on my G2.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Lilia compiled the ADK software for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pro tip: when compiling the demo app under Eclipse, your build target (Project Properties -&amp;gt; Android -&amp;gt; Project Build Target) should be &amp;quot;Google APIs&amp;quot; API 10, which can be installed from the ADK/AVD manager -&amp;gt; Available packages -&amp;gt; Third party Add-ons -&amp;gt; Google Inc. -&amp;gt; Google APIs by Google Inc., Android API 10. This is NOT the same as the Android SDK 2.3.3 API 10.  --lilia&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When I connected the ADK hardware to my phone (via the USB cable), a screen appeared on my phone asking me if I want to connect.&amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  I can now control the ADK hardware with my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
- Light up the three RGB LEDs any color I like.&amp;lt;br&amp;gt;&lt;br /&gt;
- Move the three servo motors.&amp;lt;br&amp;gt;&lt;br /&gt;
- Turn the two relays on and off.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the temperature sensor.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the joystick position.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I can&#039;t wait to play with this more.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
There is a visually oriented programming language for very easily creating your own Android apps -- called App Inventor.  Here is a fun intro to it:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://appinventor.googlelabs.com/about/ http://appinventor.googlelabs.com/about/]&amp;lt;br&amp;gt;&lt;br /&gt;
I haven&#039;t used it, but I will...&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[User:Malman23|Mitch]].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
---------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Here is the original announcement:&amp;lt;br&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A couple of weeks ago Google announced the ability for Android to connect with Arduino to be used as a cheap, easy-to-use hardware development platform.  Google then created ADK (Android Development Kit, based on Arduino), which is not cheap -- but they gave a bunch away for free at the Maker Faire last weekend.&amp;lt;br&amp;gt; &lt;br /&gt;
[http://developer.android.com/guide/topics/usb/adk.html info on Android website]&amp;lt;br&amp;gt;&lt;br /&gt;
and&amp;lt;br&amp;gt;&lt;br /&gt;
[http://arduino.cc/blog/2011/05/10/google-launches-android-open-accessory-development-kit-based-on-arduino/ info on Aruino&#039;s website]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Since many of us are relatively clueless on how to hack Android phones, or how to connect them to Arduino to do cool things, a bunch of us are getting together next Sunday to put our collective heads together to see how to make it all work on our Android phones.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
It is likely that a Google employee and Android developer will be joining us to help out.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;When&#039;&#039;&#039;: Sunday, 5-June-2011, 3pm&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Where&#039;&#039;&#039;: Noisebridge 2169 Mission St., 3rd floor&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;What&#039;&#039;&#039;: get our Android phones to play with Arduino (including the Google ADK)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Who&#039;&#039;&#039;: anyone (regardless of skill level) who cares to join in the fun&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Owen</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21325</id>
		<title>AndroidArduinoMeetup</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21325"/>
		<updated>2011-11-02T23:18:04Z</updated>

		<summary type="html">&lt;p&gt;Owen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;On June 5th, 2011, an ethusiastic group of more than 40 people gathered here at NoiseBridge for a first-time Android-Arduino Meetup. Pooling our collective technical know-how , we successfully managed to make our Android phones communicate with Arduino hardware.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Our meetup was written up on the MAKE Magazine blog:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://blog.makezine.com/archive/2011/06/using-the-android-open-accessory-api-without-a-nexus.html Using the Android Open Accessory API without a Nexus]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Google officially added Arduino support to new versions of the Android OS so that hardware development on Android phones is easy.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Arduino hardware that will work with Android phones includes:&amp;lt;br&amp;gt;&lt;br /&gt;
- the Google ADK (Android Development Kit)&amp;lt;br&amp;gt;&lt;br /&gt;
- a standard Arduino&amp;lt;br&amp;gt;&lt;br /&gt;
- any Arduino clone with a USB Host shield&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:ADKphoto.jpg|thumb|right|G2 phone controlling Google&#039;s ADK hardware, including two motors]]&lt;br /&gt;
First, since Arduino support is &#039;&#039;only available on new versions&#039;&#039; of the Android OS, a lot of people, myself included, needed to &#039;&#039;root&#039;&#039; their phones to get a new version of Android OS on them.  We met at one side of the room, where [[User:Rubin110|Rubin]] gave an overview of the process of rooting an Android phone, followed by a hands-on workshop.  &#039;&#039;I got my phone rooted, installed the latest Android OS (CyanogenMod), and got my phone to control the Google ADK hardware!  I document my procedure, below, so others may benefit from my experience.&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
By constrast, a number of other people at the meetup already had phones with versions of the Android OS already compatible with Arduino hardware.  These people gathered at the electronics lab area and had their phones connected with Google ADK, standard Arduinos, and other Arduino clones (with USB Host shield).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I have a new (8 day old) T-Mobile G2 phone (also known as &#039;&#039;HTC Vision&#039;&#039;).&amp;lt;br&amp;gt;&lt;br /&gt;
It came with a version of Android OS (v2.2) that does not support Arduino hardware (need 2.3.4 or later).&amp;lt;br&amp;gt;&lt;br /&gt;
So, with the help of [[User:Rubin110|Rubin]] and others, I rooted my phone, and installed the latest version of Cyanogenmod (a fork of the official Android OS).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I attempted to document the steps I went through, so that others can have an easier time of it.&amp;lt;br&amp;gt;&lt;br /&gt;
The steps will probably be similar if you have another type of Android phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Here is the documentation:&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This entire process took me 3 hours.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The procedure is mostly given at:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting T-Mobile G2 Rooting]&amp;lt;br&amp;gt;&lt;br /&gt;
I will not reproduce everything here, but there are a few notes that I&#039;ll give that  are very helpful to know.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Here are some other resources (which I did not use, but may be helpful):&amp;lt;br&amp;gt;&lt;br /&gt;
wiki.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
forms.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
xda-developers.com&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #cyanogenmod&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #noisebridge&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Steps I took to get Cyanogen on my G2:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Basically, follow the instructions here:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting&amp;lt;br&amp;gt;&lt;br /&gt;
I am mostly just giving helpful notes, below, and not reproducing the entire procedure.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The first step is to backup you phone.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The next step is to get temporary root access.&amp;lt;br&amp;gt;&lt;br /&gt;
The first thing here is to get ADB running.  One way to do this is by installing the Android SDK on your computer.  Since the wireless at Noisebridge was overloaded with so many people using it at once, and since Miloh had the foresight to download the Android SDK for Windows, MacOS, and Linux, I downloaded the Windows version (yes, I use Windows) from Miloh’s account on Pony:&amp;lt;br&amp;gt;&lt;br /&gt;
http://developer.android.com/sdk/index.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;installer_r11-windows.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
But to be able to install the Android SDK, it is necessary to have Java Development Kit running on your computer (JRE is not good enough).&amp;lt;br&amp;gt;&lt;br /&gt;
Downlowd and install JDK on my computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u25-download-346242.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;jdk-6u25-windows-i586.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then double-click to install the Android SDK, BUT THERE IS A BUG in the installer:&amp;lt;br&amp;gt;&lt;br /&gt;
 When it says that JDK is needed and it can’t be found, hit BACK, and then hit NEXT again, and it will go OK from there.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then I followed the instructions in this Android SDK guide on how to install the Android SDK on my computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=Howto:_Install_the_Android_SDK&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
As part of installing the Android SDK -- when I connected my phone to my computer, after installing everything, ADB driver was not installed correctly.  So, as in the guide&#039;s instructions, I had to continue with further instructions to update the ADB driver. This worked fine for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Back to the instructions for G2 Rooting.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue to follow instructions to gain temporary root access on the phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Next we move on to gain permanent root access on the phone (which has the bonus of unlocking the phone).&amp;lt;br&amp;gt;&lt;br /&gt;
I had to use gfree v0.02, since the first gfree suggested (v0.04) gave me the error about failing to power cycle the eMMC (gfree_02 worked fine).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I did not flash the Engineering Hboot (which is stated as optional in the G2 Rooting instructions).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with intructions for Install a Custom Recovery Image.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with instructions for Flashing a Radio.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with instructions for Flashing CyanogenMod:&amp;lt;br&amp;gt;&lt;br /&gt;
After downloading the ROM Manager free version, it turns out that I couldn’t download the Cyanogenmod nightlies, which are the latest versions (need paid version or ROM Manager to get latest versions -- ugh), so I used the &amp;quot;second method&amp;quot; in the instructions, and downloaded the latest nightly on my computer, then transferred to G2:&amp;lt;br&amp;gt;&lt;br /&gt;
http://download.cyanogenmod.com/?device=vision&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;cm_cision_full-98.zip&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Because of legal reasons, there are a bunch of free Google Android apps that are not allowed to come with CyanogenMod.  You can download these (including Android Market) and transer them to the phone.  The package I downloaded and transferred to my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;CyanogenMod 7&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
NOTE:  When transferring files to phone, it is fine to transfer the zipped files.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Unhook phone, and then go back to instructions using Second Version.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Using ROM Manager, install cm_vision_full-98.zip&lt;br /&gt;
After reboot, it ignored instructions we gave it about backups, so when we get a screen full of orange text (Clockwork Flash Recovery), and did the following:&amp;lt;br&amp;gt;&lt;br /&gt;
- Backup and restore (to backup entire OS) (takes awhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe data/factory reset&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe cache partition&amp;lt;br&amp;gt;&lt;br /&gt;
- Advanced: Wipe dalvik cache  (not in instructions, but seemed worthwhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for cm_vision_full-98&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for Google apps (g_apps)&amp;lt;br&amp;gt;&lt;br /&gt;
- Reboot system&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If things do not go well at this point, I will have a bricked phone.  If things go well, I should get CyanogenMod logo animation boot screen.  What will happen? . . . &amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  --   Though it took a couple of minutes watching the static HTC screen, the CyanogenMod logo animation came up, and my phone works great!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Then I installed the Google ADK software on my G2.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Lilia compiled the ADK software for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pro tip: when compiling the demo app under Eclipse, your build target (Project Properties -&amp;gt; Android -&amp;gt; Project Build Target) should be &amp;quot;Google APIs&amp;quot; API 10, which can be installed from the ADK/AVD manager -&amp;gt; Available packages -&amp;gt; Third party Add-ons -&amp;gt; Google Inc. -&amp;gt; Google APIs by Google Inc., Android API 10. This is NOT the same as the Android SDK 2.3.3 API 10.  --lilia&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When I connected the ADK hardware to my phone (via the USB cable), a screen appeared on my phone asking me if I want to connect.&amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  I can now control the ADK hardware with my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
- Light up the three RGB LEDs any color I like.&amp;lt;br&amp;gt;&lt;br /&gt;
- Move the three servo motors.&amp;lt;br&amp;gt;&lt;br /&gt;
- Turn the two relays on and off.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the temperature sensor.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the joystick position.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I can&#039;t wait to play with this more.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
There is a visually oriented programming language for very easily creating your own Android apps -- called App Inventor.  Here is a fun intro to it:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://appinventor.googlelabs.com/about/ http://appinventor.googlelabs.com/about/]&amp;lt;br&amp;gt;&lt;br /&gt;
I haven&#039;t used it, but I will...&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[User:Malman23|Mitch]].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
---------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Here is the original announcement:&amp;lt;br&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A couple of weeks ago Google announced the ability for Android to connect with Arduino to be used as a cheap, easy-to-use hardware development platform.  Google then created ADK (Android Development Kit, based on Arduino), which is not cheap -- but they gave a bunch away for free at the Maker Faire last weekend.&amp;lt;br&amp;gt; &lt;br /&gt;
[http://developer.android.com/guide/topics/usb/adk.html info on Android website]&amp;lt;br&amp;gt;&lt;br /&gt;
and&amp;lt;br&amp;gt;&lt;br /&gt;
[http://arduino.cc/blog/2011/05/10/google-launches-android-open-accessory-development-kit-based-on-arduino/ info on Aruino&#039;s website]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Since many of us are relatively clueless on how to hack Android phones, or how to connect them to Arduino to do cool things, a bunch of us are getting together next Sunday to put our collective heads together to see how to make it all work on our Android phones.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
It is likely that a Google employee and Android developer will be joining us to help out.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;When&#039;&#039;&#039;: Sunday, 5-June-2011, 3pm&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Where&#039;&#039;&#039;: Noisebridge 2169 Mission St., 3rd floor&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;What&#039;&#039;&#039;: get our Android phones to play with Arduino (including the Google ADK)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Who&#039;&#039;&#039;: anyone (regardless of skill level) who cares to join in the fun&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Owen</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21324</id>
		<title>AndroidArduinoMeetup</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21324"/>
		<updated>2011-11-02T23:16:04Z</updated>

		<summary type="html">&lt;p&gt;Owen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;On June 5th, 2011, an ethusiastic group of more than 40 people gathered here at NoiseBridge for a first-time Android-Arduino Meetup. Pooling our collective technical know-how , we successfully managed to make our Android phones communicate with Arduino hardware.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Our meetup was written up on the MAKE Magazine blog:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://blog.makezine.com/archive/2011/06/using-the-android-open-accessory-api-without-a-nexus.html Using the Android Open Accessory API without a Nexus]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Google officially added Arduino support to new versions of the Android OS so that hardware development on Android phones is easy.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Arduino hardware that will work with Android phones includes:&amp;lt;br&amp;gt;&lt;br /&gt;
- the Google ADK (Android Development Kit)&amp;lt;br&amp;gt;&lt;br /&gt;
- a standard Arduino&amp;lt;br&amp;gt;&lt;br /&gt;
- any Arduino clone with a USB Host shield).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:ADKphoto.jpg|thumb|right|G2 phone controlling Google&#039;s ADK hardware, including two motors]]&lt;br /&gt;
First, since Arduino support is &#039;&#039;only available on new versions&#039;&#039; of the Android OS, a lot of people, myself included, needed to &#039;&#039;root&#039;&#039; their phones to get a new version of Android OS on them.  We met at one side of the room, where [[User:Rubin110|Rubin]] gave an overview of the process of rooting an Android phone, followed by a hands-on workshop.  &#039;&#039;I got my phone rooted, installed the latest Android OS (CyanogenMod), and got my phone to control the Google ADK hardware!  I document my procedure, below, so others may benefit from my experience.&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
By constrast, a number of other people at the meetup already had phones with versions of the Android OS already compatible with Arduino hardware.  These people gathered at the electronics lab area and had their phones connected with Google ADK, standard Arduinos, and other Arduino clones (with USB Host shield).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I have a new (8 day old) T-Mobile G2 phone (also known as &#039;&#039;HTC Vision&#039;&#039;).&amp;lt;br&amp;gt;&lt;br /&gt;
It came with a version of Android OS (v2.2) that does not support Arduino hardware (need 2.3.4 or later).&amp;lt;br&amp;gt;&lt;br /&gt;
So, with the help of [[User:Rubin110|Rubin]] and others, I rooted my phone, and installed the latest version of Cyanogenmod (a fork of the official Android OS).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I attempted to document the steps I went through, so that others can have an easier time of it.&amp;lt;br&amp;gt;&lt;br /&gt;
The steps will probably be similar if you have another type of Android phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Here is the documentation:&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This entire process took me 3 hours.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The procedure is mostly given at:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting T-Mobile G2 Rooting]&amp;lt;br&amp;gt;&lt;br /&gt;
I will not reproduce everything here, but there are a few notes that I&#039;ll give that  are very helpful to know.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Here are some other resources (which I did not use, but may be helpful):&amp;lt;br&amp;gt;&lt;br /&gt;
wiki.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
forms.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
xda-developers.com&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #cyanogenmod&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #noisebridge&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Steps I took to get Cyanogen on my G2:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Basically, follow the instructions here:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting&amp;lt;br&amp;gt;&lt;br /&gt;
I am mostly just giving helpful notes, below, and not reproducing the entire procedure.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The first step is to backup you phone.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The next step is to get temporary root access.&amp;lt;br&amp;gt;&lt;br /&gt;
The first thing here is to get ADB running.  One way to do this is by installing the Android SDK on your computer.  Since the wireless at Noisebridge was overloaded with so many people using it at once, and since Miloh had the foresight to download the Android SDK for Windows, MacOS, and Linux, I downloaded the Windows version (yes, I use Windows) from Miloh’s account on Pony:&amp;lt;br&amp;gt;&lt;br /&gt;
http://developer.android.com/sdk/index.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;installer_r11-windows.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
But to be able to install the Android SDK, it is necessary to have Java Development Kit running on your computer (JRE is not good enough).&amp;lt;br&amp;gt;&lt;br /&gt;
Downlowd and install JDK on my computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u25-download-346242.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;jdk-6u25-windows-i586.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then double-click to install the Android SDK, BUT THERE IS A BUG in the installer:&amp;lt;br&amp;gt;&lt;br /&gt;
 When it says that JDK is needed and it can’t be found, hit BACK, and then hit NEXT again, and it will go OK from there.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then I followed the instructions in this Android SDK guide on how to install the Android SDK on my computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=Howto:_Install_the_Android_SDK&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
As part of installing the Android SDK -- when I connected my phone to my computer, after installing everything, ADB driver was not installed correctly.  So, as in the guide&#039;s instructions, I had to continue with further instructions to update the ADB driver. This worked fine for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Back to the instructions for G2 Rooting.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue to follow instructions to gain temporary root access on the phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Next we move on to gain permanent root access on the phone (which has the bonus of unlocking the phone).&amp;lt;br&amp;gt;&lt;br /&gt;
I had to use gfree v0.02, since the first gfree suggested (v0.04) gave me the error about failing to power cycle the eMMC (gfree_02 worked fine).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I did not flash the Engineering Hboot (which is stated as optional in the G2 Rooting instructions).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with intructions for Install a Custom Recovery Image.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with instructions for Flashing a Radio.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with instructions for Flashing CyanogenMod:&amp;lt;br&amp;gt;&lt;br /&gt;
After downloading the ROM Manager free version, it turns out that I couldn’t download the Cyanogenmod nightlies, which are the latest versions (need paid version or ROM Manager to get latest versions -- ugh), so I used the &amp;quot;second method&amp;quot; in the instructions, and downloaded the latest nightly on my computer, then transferred to G2:&amp;lt;br&amp;gt;&lt;br /&gt;
http://download.cyanogenmod.com/?device=vision&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;cm_cision_full-98.zip&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Because of legal reasons, there are a bunch of free Google Android apps that are not allowed to come with CyanogenMod.  You can download these (including Android Market) and transer them to the phone.  The package I downloaded and transferred to my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;CyanogenMod 7&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
NOTE:  When transferring files to phone, it is fine to transfer the zipped files.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Unhook phone, and then go back to instructions using Second Version.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Using ROM Manager, install cm_vision_full-98.zip&lt;br /&gt;
After reboot, it ignored instructions we gave it about backups, so when we get a screen full of orange text (Clockwork Flash Recovery), and did the following:&amp;lt;br&amp;gt;&lt;br /&gt;
- Backup and restore (to backup entire OS) (takes awhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe data/factory reset&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe cache partition&amp;lt;br&amp;gt;&lt;br /&gt;
- Advanced: Wipe dalvik cache  (not in instructions, but seemed worthwhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for cm_vision_full-98&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for Google apps (g_apps)&amp;lt;br&amp;gt;&lt;br /&gt;
- Reboot system&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If things do not go well at this point, I will have a bricked phone.  If things go well, I should get CyanogenMod logo animation boot screen.  What will happen? . . . &amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  --   Though it took a couple of minutes watching the static HTC screen, the CyanogenMod logo animation came up, and my phone works great!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Then I installed the Google ADK software on my G2.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Lilia compiled the ADK software for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pro tip: when compiling the demo app under Eclipse, your build target (Project Properties -&amp;gt; Android -&amp;gt; Project Build Target) should be &amp;quot;Google APIs&amp;quot; API 10, which can be installed from the ADK/AVD manager -&amp;gt; Available packages -&amp;gt; Third party Add-ons -&amp;gt; Google Inc. -&amp;gt; Google APIs by Google Inc., Android API 10. This is NOT the same as the Android SDK 2.3.3 API 10.  --lilia&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When I connected the ADK hardware to my phone (via the USB cable), a screen appeared on my phone asking me if I want to connect.&amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  I can now control the ADK hardware with my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
- Light up the three RGB LEDs any color I like.&amp;lt;br&amp;gt;&lt;br /&gt;
- Move the three servo motors.&amp;lt;br&amp;gt;&lt;br /&gt;
- Turn the two relays on and off.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the temperature sensor.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the joystick position.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I can&#039;t wait to play with this more.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
There is a visually oriented programming language for very easily creating your own Android apps -- called App Inventor.  Here is a fun intro to it:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://appinventor.googlelabs.com/about/ http://appinventor.googlelabs.com/about/]&amp;lt;br&amp;gt;&lt;br /&gt;
I haven&#039;t used it, but I will...&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[User:Malman23|Mitch]].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
---------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Here is the original announcement:&amp;lt;br&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A couple of weeks ago Google announced the ability for Android to connect with Arduino to be used as a cheap, easy-to-use hardware development platform.  Google then created ADK (Android Development Kit, based on Arduino), which is not cheap -- but they gave a bunch away for free at the Maker Faire last weekend.&amp;lt;br&amp;gt; &lt;br /&gt;
[http://developer.android.com/guide/topics/usb/adk.html info on Android website]&amp;lt;br&amp;gt;&lt;br /&gt;
and&amp;lt;br&amp;gt;&lt;br /&gt;
[http://arduino.cc/blog/2011/05/10/google-launches-android-open-accessory-development-kit-based-on-arduino/ info on Aruino&#039;s website]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Since many of us are relatively clueless on how to hack Android phones, or how to connect them to Arduino to do cool things, a bunch of us are getting together next Sunday to put our collective heads together to see how to make it all work on our Android phones.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
It is likely that a Google employee and Android developer will be joining us to help out.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;When&#039;&#039;&#039;: Sunday, 5-June-2011, 3pm&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Where&#039;&#039;&#039;: Noisebridge 2169 Mission St., 3rd floor&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;What&#039;&#039;&#039;: get our Android phones to play with Arduino (including the Google ADK)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Who&#039;&#039;&#039;: anyone (regardless of skill level) who cares to join in the fun&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Owen</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21317</id>
		<title>AndroidArduinoMeetup</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21317"/>
		<updated>2011-11-02T21:11:37Z</updated>

		<summary type="html">&lt;p&gt;Owen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;On June 5th, 2011, about 40 people (or more) gathered at Noisebridge to put our collective heads together to get our Android phones going with Arduino.&amp;lt;br&amp;gt;&lt;br /&gt;
Our meetup was written up on the MAKE Magazine blog:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://blog.makezine.com/archive/2011/06/using-the-android-open-accessory-api-without-a-nexus.html Using the Android Open Accessory API without a Nexus]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Google officially added Arduino support to new versions of the Android OS so that hardware development is easy on Android phones.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Arduino hardware that will work with Android phones includes:&amp;lt;br&amp;gt;&lt;br /&gt;
- the Google ADK (Android Development Kit)&amp;lt;br&amp;gt;&lt;br /&gt;
- a standard Arduino&amp;lt;br&amp;gt;&lt;br /&gt;
- any Arduino clone with a USB Host shield).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:ADKphoto.jpg|thumb|right|G2 phone controlling Google&#039;s ADK hardware]]&lt;br /&gt;
Since Arduino support is only available on new versions of the Android OS, a lot of people at the meetup (including me) needed to root their phones to get a new version of Android OS on them.  We met at one side of the room, where [[User:Rubin110|Rubin]] gave an overview of the process of rooting one&#039;s Android phone, followed by a a workshop of actually doing it.  &#039;&#039;I got my phone rooted, installed the latest Android OS (CyanogenMod), and got my phone to control the Google ADK hardware!  I document my procedure, below, so others may benefit from my experience.&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
A bunch of other people at the meetup already had phones with Android OS that was ready for hardware.  They gathered at the electronics lab area, and they got their phones connected with Google ADK, standard Arduinos, and other Arduino clones (with USB Host shield).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I have a new (8 day old) T-Mobile G2 phone (also known as &#039;&#039;HTC Vision&#039;&#039;).&amp;lt;br&amp;gt;&lt;br /&gt;
It came with a version of Android OS (v2.2) that does not support Arduino hardware (need 2.3.4 or later).&amp;lt;br&amp;gt;&lt;br /&gt;
So, with the help of [[User:Rubin110|Rubin]] and others, I rooted my phone, and installed the latest version of Cyanogenmod (a fork of the official Android OS).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I attempted to document the steps I went through, so that others can have an easier time of it.&amp;lt;br&amp;gt;&lt;br /&gt;
The steps will probably be similar if you have another type of Android phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Here is the documentation:&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This entire process took me 3 hours.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The procedure is mostly given at:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting T-Mobile G2 Rooting]&amp;lt;br&amp;gt;&lt;br /&gt;
I will not reproduce everything here, but there are a few notes that I&#039;ll give that  are very helpful to know.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Here are some other resources (which I did not use, but may be helpful):&amp;lt;br&amp;gt;&lt;br /&gt;
wiki.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
forms.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
xda-developers.com&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #cyanogenmod&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #noisebridge&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Steps I took to get Cyanogen on my G2:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Basically, follow the instructions here:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting&amp;lt;br&amp;gt;&lt;br /&gt;
I am mostly just giving helpful notes, below, and not reproducing the entire procedure.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The first step is to backup you phone.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The next step is to get temporary root access.&amp;lt;br&amp;gt;&lt;br /&gt;
The first thing here is to get ADB running.  One way to do this is by installing the Android SDK on your computer.  Since the wireless at Noisebridge was overloaded with so many people using it at once, and since Miloh had the foresight to download the Android SDK for Windows, MacOS, and Linux, I downloaded the Windows version (yes, I use Windows) from Miloh’s account on Pony:&amp;lt;br&amp;gt;&lt;br /&gt;
http://developer.android.com/sdk/index.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;installer_r11-windows.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
But to be able to install the Android SDK, it is necessary to have Java Development Kit running on your computer (JRE is not good enough).&amp;lt;br&amp;gt;&lt;br /&gt;
Downlowd and install JDK on my computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u25-download-346242.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;jdk-6u25-windows-i586.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then double-click to install the Android SDK, BUT THERE IS A BUG in the installer:&amp;lt;br&amp;gt;&lt;br /&gt;
 When it says that JDK is needed and it can’t be found, hit BACK, and then hit NEXT again, and it will go OK from there.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then I followed the instructions in this Android SDK guide on how to install the Android SDK on my computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=Howto:_Install_the_Android_SDK&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
As part of installing the Android SDK -- when I connected my phone to my computer, after installing everything, ADB driver was not installed correctly.  So, as in the guide&#039;s instructions, I had to continue with further instructions to update the ADB driver. This worked fine for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Back to the instructions for G2 Rooting.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue to follow instructions to gain temporary root access on the phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Next we move on to gain permanent root access on the phone (which has the bonus of unlocking the phone).&amp;lt;br&amp;gt;&lt;br /&gt;
I had to use gfree v0.02, since the first gfree suggested (v0.04) gave me the error about failing to power cycle the eMMC (gfree_02 worked fine).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I did not flash the Engineering Hboot (which is stated as optional in the G2 Rooting instructions).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with intructions for Install a Custom Recovery Image.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with instructions for Flashing a Radio.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with instructions for Flashing CyanogenMod:&amp;lt;br&amp;gt;&lt;br /&gt;
After downloading the ROM Manager free version, it turns out that I couldn’t download the Cyanogenmod nightlies, which are the latest versions (need paid version or ROM Manager to get latest versions -- ugh), so I used the &amp;quot;second method&amp;quot; in the instructions, and downloaded the latest nightly on my computer, then transferred to G2:&amp;lt;br&amp;gt;&lt;br /&gt;
http://download.cyanogenmod.com/?device=vision&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;cm_cision_full-98.zip&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Because of legal reasons, there are a bunch of free Google Android apps that are not allowed to come with CyanogenMod.  You can download these (including Android Market) and transer them to the phone.  The package I downloaded and transferred to my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;CyanogenMod 7&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
NOTE:  When transferring files to phone, it is fine to transfer the zipped files.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Unhook phone, and then go back to instructions using Second Version.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Using ROM Manager, install cm_vision_full-98.zip&lt;br /&gt;
After reboot, it ignored instructions we gave it about backups, so when we get a screen full of orange text (Clockwork Flash Recovery), and did the following:&amp;lt;br&amp;gt;&lt;br /&gt;
- Backup and restore (to backup entire OS) (takes awhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe data/factory reset&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe cache partition&amp;lt;br&amp;gt;&lt;br /&gt;
- Advanced: Wipe dalvik cache  (not in instructions, but seemed worthwhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for cm_vision_full-98&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for Google apps (g_apps)&amp;lt;br&amp;gt;&lt;br /&gt;
- Reboot system&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If things do not go well at this point, I will have a bricked phone.  If things go well, I should get CyanogenMod logo animation boot screen.  What will happen? . . . &amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  --   Though it took a couple of minutes watching the static HTC screen, the CyanogenMod logo animation came up, and my phone works great!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Then I installed the Google ADK software on my G2.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Lilia compiled the ADK software for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pro tip: when compiling the demo app under Eclipse, your build target (Project Properties -&amp;gt; Android -&amp;gt; Project Build Target) should be &amp;quot;Google APIs&amp;quot; API 10, which can be installed from the ADK/AVD manager -&amp;gt; Available packages -&amp;gt; Third party Add-ons -&amp;gt; Google Inc. -&amp;gt; Google APIs by Google Inc., Android API 10. This is NOT the same as the Android SDK 2.3.3 API 10.  --lilia&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When I connected the ADK hardware to my phone (via the USB cable), a screen appeared on my phone asking me if I want to connect.&amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  I can now control the ADK hardware with my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
- Light up the three RGB LEDs any color I like.&amp;lt;br&amp;gt;&lt;br /&gt;
- Move the three servo motors.&amp;lt;br&amp;gt;&lt;br /&gt;
- Turn the two relays on and off.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the temperature sensor.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the joystick position.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I can&#039;t wait to play with this more.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
There is a visually oriented programming language for very easily creating your own Android apps -- called App Inventor.  Here is a fun intro to it:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://appinventor.googlelabs.com/about/ http://appinventor.googlelabs.com/about/]&amp;lt;br&amp;gt;&lt;br /&gt;
I haven&#039;t used it, but I will...&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[User:Malman23|Mitch]].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
---------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Here is the original announcement:&amp;lt;br&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A couple of weeks ago Google announced the ability for Android to connect with Arduino to be used as a cheap, easy-to-use hardware development platform.  Google then created ADK (Android Development Kit, based on Arduino), which is not cheap -- but they gave a bunch away for free at the Maker Faire last weekend.&amp;lt;br&amp;gt; &lt;br /&gt;
[http://developer.android.com/guide/topics/usb/adk.html info on Android website]&amp;lt;br&amp;gt;&lt;br /&gt;
and&amp;lt;br&amp;gt;&lt;br /&gt;
[http://arduino.cc/blog/2011/05/10/google-launches-android-open-accessory-development-kit-based-on-arduino/ info on Aruino&#039;s website]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Since many of us are relatively clueless on how to hack Android phones, or how to connect them to Arduino to do cool things, a bunch of us are getting together next Sunday to put our collective heads together to see how to make it all work on our Android phones.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
It is likely that a Google employee and Android developer will be joining us to help out.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;When&#039;&#039;&#039;: Sunday, 5-June-2011, 3pm&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Where&#039;&#039;&#039;: Noisebridge 2169 Mission St., 3rd floor&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;What&#039;&#039;&#039;: get our Android phones to play with Arduino (including the Google ADK)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Who&#039;&#039;&#039;: anyone (regardless of skill level) who cares to join in the fun&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Owen</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21316</id>
		<title>AndroidArduinoMeetup</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21316"/>
		<updated>2011-11-02T21:08:40Z</updated>

		<summary type="html">&lt;p&gt;Owen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;On June 5th, 2011, about 40 people (or more) gathered at Noisebridge to put our collective heads together to get our Android phones going with Arduino.&amp;lt;br&amp;gt;&lt;br /&gt;
It was written up on the MAKE Magazine blog:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://blog.makezine.com/archive/2011/06/using-the-android-open-accessory-api-without-a-nexus.html Using the Android Open Accessory API without a Nexus]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Google officially added Arduino support to new versions of the Android OS so that hardware development is easy on Android phones.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Arduino hardware that will work with Android phones includes:&amp;lt;br&amp;gt;&lt;br /&gt;
- the Google ADK (Android Development Kit)&amp;lt;br&amp;gt;&lt;br /&gt;
- a standard Arduino&amp;lt;br&amp;gt;&lt;br /&gt;
- any Arduino clone with a USB Host shield).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:ADKphoto.jpg|thumb|right|G2 phone controlling Google&#039;s ADK hardware]]&lt;br /&gt;
Since Arduino support is only available on new versions of the Android OS, a lot of people at the meetup (including me) needed to root their phones to get a new version of Android OS on them.  We met at one side of the room, where [[User:Rubin110|Rubin]] gave an overview of the process of rooting one&#039;s Android phone, followed by a a workshop of actually doing it.  &#039;&#039;I got my phone rooted, installed the latest Android OS (CyanogenMod), and got my phone to control the Google ADK hardware!  I document my procedure, below, so others may benefit from my experience.&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
A bunch of other people at the meetup already had phones with Android OS that was ready for hardware.  They gathered at the electronics lab area, and they got their phones connected with Google ADK, standard Arduinos, and other Arduino clones (with USB Host shield).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I have a new (8 day old) T-Mobile G2 phone (also known as &#039;&#039;HTC Vision&#039;&#039;).&amp;lt;br&amp;gt;&lt;br /&gt;
It came with a version of Android OS (v2.2) that does not support Arduino hardware (need 2.3.4 or later).&amp;lt;br&amp;gt;&lt;br /&gt;
So, with the help of [[User:Rubin110|Rubin]] and others, I rooted my phone, and installed the latest version of Cyanogenmod (a fork of the official Android OS).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I attempted to document the steps I went through, so that others can have an easier time of it.&amp;lt;br&amp;gt;&lt;br /&gt;
The steps will probably be similar if you have another type of Android phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Here is the documentation:&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This entire process took me 3 hours.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The procedure is mostly given at:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting T-Mobile G2 Rooting]&amp;lt;br&amp;gt;&lt;br /&gt;
I will not reproduce everything here, but there are a few notes that I&#039;ll give that  are very helpful to know.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Here are some other resources (which I did not use, but may be helpful):&amp;lt;br&amp;gt;&lt;br /&gt;
wiki.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
forms.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
xda-developers.com&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #cyanogenmod&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #noisebridge&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Steps I took to get Cyanogen on my G2:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Basically, follow the instructions here:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting&amp;lt;br&amp;gt;&lt;br /&gt;
I am mostly just giving helpful notes, below, and not reproducing the entire procedure.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The first step is to backup you phone.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The next step is to get temporary root access.&amp;lt;br&amp;gt;&lt;br /&gt;
The first thing here is to get ADB running.  One way to do this is by installing the Android SDK on your computer.  Since the wireless at Noisebridge was overloaded with so many people using it at once, and since Miloh had the foresight to download the Android SDK for Windows, MacOS, and Linux, I downloaded the Windows version (yes, I use Windows) from Miloh’s account on Pony:&amp;lt;br&amp;gt;&lt;br /&gt;
http://developer.android.com/sdk/index.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;installer_r11-windows.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
But to be able to install the Android SDK, it is necessary to have Java Development Kit running on your computer (JRE is not good enough).&amp;lt;br&amp;gt;&lt;br /&gt;
Downlowd and install JDK on my computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u25-download-346242.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;jdk-6u25-windows-i586.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then double-click to install the Android SDK, BUT THERE IS A BUG in the installer:&amp;lt;br&amp;gt;&lt;br /&gt;
 When it says that JDK is needed and it can’t be found, hit BACK, and then hit NEXT again, and it will go OK from there.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then I followed the instructions in this Android SDK guide on how to install the Android SDK on my computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=Howto:_Install_the_Android_SDK&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
As part of installing the Android SDK -- when I connected my phone to my computer, after installing everything, ADB driver was not installed correctly.  So, as in the guide&#039;s instructions, I had to continue with further instructions to update the ADB driver. This worked fine for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Back to the instructions for G2 Rooting.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue to follow instructions to gain temporary root access on the phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Next we move on to gain permanent root access on the phone (which has the bonus of unlocking the phone).&amp;lt;br&amp;gt;&lt;br /&gt;
I had to use gfree v0.02, since the first gfree suggested (v0.04) gave me the error about failing to power cycle the eMMC (gfree_02 worked fine).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I did not flash the Engineering Hboot (which is stated as optional in the G2 Rooting instructions).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with intructions for Install a Custom Recovery Image.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with instructions for Flashing a Radio.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with instructions for Flashing CyanogenMod:&amp;lt;br&amp;gt;&lt;br /&gt;
After downloading the ROM Manager free version, it turns out that I couldn’t download the Cyanogenmod nightlies, which are the latest versions (need paid version or ROM Manager to get latest versions -- ugh), so I used the &amp;quot;second method&amp;quot; in the instructions, and downloaded the latest nightly on my computer, then transferred to G2:&amp;lt;br&amp;gt;&lt;br /&gt;
http://download.cyanogenmod.com/?device=vision&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;cm_cision_full-98.zip&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Because of legal reasons, there are a bunch of free Google Android apps that are not allowed to come with CyanogenMod.  You can download these (including Android Market) and transer them to the phone.  The package I downloaded and transferred to my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;CyanogenMod 7&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
NOTE:  When transferring files to phone, it is fine to transfer the zipped files.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Unhook phone, and then go back to instructions using Second Version.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Using ROM Manager, install cm_vision_full-98.zip&lt;br /&gt;
After reboot, it ignored instructions we gave it about backups, so when we get a screen full of orange text (Clockwork Flash Recovery), and did the following:&amp;lt;br&amp;gt;&lt;br /&gt;
- Backup and restore (to backup entire OS) (takes awhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe data/factory reset&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe cache partition&amp;lt;br&amp;gt;&lt;br /&gt;
- Advanced: Wipe dalvik cache  (not in instructions, but seemed worthwhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for cm_vision_full-98&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for Google apps (g_apps)&amp;lt;br&amp;gt;&lt;br /&gt;
- Reboot system&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If things do not go well at this point, I will have a bricked phone.  If things go well, I should get CyanogenMod logo animation boot screen.  What will happen? . . . &amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  --   Though it took a couple of minutes watching the static HTC screen, the CyanogenMod logo animation came up, and my phone works great!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Then I installed the Google ADK software on my G2.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Lilia compiled the ADK software for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pro tip: when compiling the demo app under Eclipse, your build target (Project Properties -&amp;gt; Android -&amp;gt; Project Build Target) should be &amp;quot;Google APIs&amp;quot; API 10, which can be installed from the ADK/AVD manager -&amp;gt; Available packages -&amp;gt; Third party Add-ons -&amp;gt; Google Inc. -&amp;gt; Google APIs by Google Inc., Android API 10. This is NOT the same as the Android SDK 2.3.3 API 10.  --lilia&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When I connected the ADK hardware to my phone (via the USB cable), a screen appeared on my phone asking me if I want to connect.&amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  I can now control the ADK hardware with my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
- Light up the three RGB LEDs any color I like.&amp;lt;br&amp;gt;&lt;br /&gt;
- Move the three servo motors.&amp;lt;br&amp;gt;&lt;br /&gt;
- Turn the two relays on and off.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the temperature sensor.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the joystick position.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I can&#039;t wait to play with this more.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
There is a visually oriented programming language for very easily creating your own Android apps -- called App Inventor.  Here is a fun intro to it:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://appinventor.googlelabs.com/about/ http://appinventor.googlelabs.com/about/]&amp;lt;br&amp;gt;&lt;br /&gt;
I haven&#039;t used it, but I will...&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[User:Malman23|Mitch]].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
---------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Here is the original announcement:&amp;lt;br&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A couple of weeks ago Google announced the ability for Android to connect with Arduino to be used as a cheap, easy-to-use hardware development platform.  Google then created ADK (Android Development Kit, based on Arduino), which is not cheap -- but they gave a bunch away for free at the Maker Faire last weekend.&amp;lt;br&amp;gt; &lt;br /&gt;
[http://developer.android.com/guide/topics/usb/adk.html info on Android website]&amp;lt;br&amp;gt;&lt;br /&gt;
and&amp;lt;br&amp;gt;&lt;br /&gt;
[http://arduino.cc/blog/2011/05/10/google-launches-android-open-accessory-development-kit-based-on-arduino/ info on Aruino&#039;s website]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Since many of us are relatively clueless on how to hack Android phones, or how to connect them to Arduino to do cool things, a bunch of us are getting together next Sunday to put our collective heads together to see how to make it all work on our Android phones.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
It is likely that a Google employee and Android developer will be joining us to help out.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;When&#039;&#039;&#039;: Sunday, 5-June-2011, 3pm&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Where&#039;&#039;&#039;: Noisebridge 2169 Mission St., 3rd floor&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;What&#039;&#039;&#039;: get our Android phones to play with Arduino (including the Google ADK)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Who&#039;&#039;&#039;: anyone (regardless of skill level) who cares to join in the fun&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Owen</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21315</id>
		<title>AndroidArduinoMeetup</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21315"/>
		<updated>2011-11-02T21:03:38Z</updated>

		<summary type="html">&lt;p&gt;Owen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;On June 5th, 2011, about 40 people (or more) gathered at Noisebridge to put our collective heads together to get our Android phones going with Arduino.&amp;lt;br&amp;gt;&lt;br /&gt;
It was written up on the MAKE Magazine blog:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://blog.makezine.com/archive/2011/06/using-the-android-open-accessory-api-without-a-nexus.html Using the Android Open Accessory API without a Nexus]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Google officially added Arduino support to new versions of the Android OS so that hardware development is easy on Android phones.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Arduino hardware that will work with Android phones includes:&amp;lt;br&amp;gt;&lt;br /&gt;
- the Google ADK (Android Development Kit)&amp;lt;br&amp;gt;&lt;br /&gt;
- a standard Arduino&amp;lt;br&amp;gt;&lt;br /&gt;
- any Arduino clone with a USB Host shield).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:ADKphoto.jpg|thumb|right|G2 phone controlling Googles ADK hardware]]&lt;br /&gt;
Since Arduino support is only available on new versions of the Android OS, a lot of people at the meetup (including me) needed to root their phones to get a new version of Android OS on them.  We met at one side of the room, where [[User:Rubin110|Rubin]] gave an overview of the process of rooting one&#039;s Android phone, followed by a a workshop of actually doing it.  &#039;&#039;I got my phone rooted, installed the latest Android OS (CyanogenMod), and got my phone to control the Google ADK hardware!  I document my procedure, below, so others may benefit from my experience.&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
A bunch of other people at the meetup already had phones with Android OS that was ready for hardware.  They gathered at the electronics lab area, and they got their phones connected with Google ADK, standard Arduinos, and other Arduino clones (with USB Host shield).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I have a new (8 day old) T-Mobile G2 phone (also known as &#039;&#039;HTC Vision&#039;&#039;).&amp;lt;br&amp;gt;&lt;br /&gt;
It came with a version of Android OS (v2.2) that does not support Arduino hardware (need 2.3.4 or later).&amp;lt;br&amp;gt;&lt;br /&gt;
So, with the help of [[User:Rubin110|Rubin]] and others, I rooted my phone, and installed the latest version of Cyanogenmod (a fork of the official Android OS).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I attempted to document the steps I went through, so that others can have an easier time of it.&amp;lt;br&amp;gt;&lt;br /&gt;
The steps will probably be similar if you have another type of Android phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Here is the documentation:&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This entire process took me 3 hours.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The procedure is mostly given at:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting T-Mobile G2 Rooting]&amp;lt;br&amp;gt;&lt;br /&gt;
I will not reproduce everything here, but there are a few notes that I&#039;ll give that  are very helpful to know.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Here are some other resources (which I did not use, but may be helpful):&amp;lt;br&amp;gt;&lt;br /&gt;
wiki.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
forms.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
xda-developers.com&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #cyanogenmod&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #noisebridge&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Steps I took to get Cyanogen on my G2:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Basically, follow the instructions here:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting&amp;lt;br&amp;gt;&lt;br /&gt;
I am mostly just giving helpful notes, below, and not reproducing the entire procedure.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The first step is to backup you phone.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The next step is to get temporary root access.&amp;lt;br&amp;gt;&lt;br /&gt;
The first thing here is to get ADB running.  One way to do this is by installing the Android SDK on your computer.  Since the wireless at Noisebridge was overloaded with so many people using it at once, and since Miloh had the foresight to download the Android SDK for Windows, MacOS, and Linux, I downloaded the Windows version (yes, I use Windows) from Miloh’s account on Pony:&amp;lt;br&amp;gt;&lt;br /&gt;
http://developer.android.com/sdk/index.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;installer_r11-windows.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
But to be able to install the Android SDK, it is necessary to have Java Development Kit running on your computer (JRE is not good enough).&amp;lt;br&amp;gt;&lt;br /&gt;
Downlowd and install JDK on my computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u25-download-346242.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;jdk-6u25-windows-i586.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then double-click to install the Android SDK, BUT THERE IS A BUG in the installer:&amp;lt;br&amp;gt;&lt;br /&gt;
 When it says that JDK is needed and it can’t be found, hit BACK, and then hit NEXT again, and it will go OK from there.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then I followed the instructions in this Android SDK guide on how to install the Android SDK on my computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=Howto:_Install_the_Android_SDK&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
As part of installing the Android SDK -- when I connected my phone to my computer, after installing everything, ADB driver was not installed correctly.  So, as in the guide&#039;s instructions, I had to continue with further instructions to update the ADB driver. This worked fine for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Back to the instructions for G2 Rooting.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue to follow instructions to gain temporary root access on the phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Next we move on to gain permanent root access on the phone (which has the bonus of unlocking the phone).&amp;lt;br&amp;gt;&lt;br /&gt;
I had to use gfree v0.02, since the first gfree suggested (v0.04) gave me the error about failing to power cycle the eMMC (gfree_02 worked fine).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I did not flash the Engineering Hboot (which is stated as optional in the G2 Rooting instructions).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with intructions for Install a Custom Recovery Image.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with instructions for Flashing a Radio.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with instructions for Flashing CyanogenMod:&amp;lt;br&amp;gt;&lt;br /&gt;
After downloading the ROM Manager free version, it turns out that I couldn’t download the Cyanogenmod nightlies, which are the latest versions (need paid version or ROM Manager to get latest versions -- ugh), so I used the &amp;quot;second method&amp;quot; in the instructions, and downloaded the latest nightly on my computer, then transferred to G2:&amp;lt;br&amp;gt;&lt;br /&gt;
http://download.cyanogenmod.com/?device=vision&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;cm_cision_full-98.zip&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Because of legal reasons, there are a bunch of free Google Android apps that are not allowed to come with CyanogenMod.  You can download these (including Android Market) and transer them to the phone.  The package I downloaded and transferred to my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;CyanogenMod 7&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
NOTE:  When transferring files to phone, it is fine to transfer the zipped files.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Unhook phone, and then go back to instructions using Second Version.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Using ROM Manager, install cm_vision_full-98.zip&lt;br /&gt;
After reboot, it ignored instructions we gave it about backups, so when we get a screen full of orange text (Clockwork Flash Recovery), and did the following:&amp;lt;br&amp;gt;&lt;br /&gt;
- Backup and restore (to backup entire OS) (takes awhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe data/factory reset&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe cache partition&amp;lt;br&amp;gt;&lt;br /&gt;
- Advanced: Wipe dalvik cache  (not in instructions, but seemed worthwhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for cm_vision_full-98&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for Google apps (g_apps)&amp;lt;br&amp;gt;&lt;br /&gt;
- Reboot system&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If things do not go well at this point, I will have a bricked phone.  If things go well, I should get CyanogenMod logo animation boot screen.  What will happen? . . . &amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  --   Though it took a couple of minutes watching the static HTC screen, the CyanogenMod logo animation came up, and my phone works great!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Then I installed the Google ADK software on my G2.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Lilia compiled the ADK software for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pro tip: when compiling the demo app under Eclipse, your build target (Project Properties -&amp;gt; Android -&amp;gt; Project Build Target) should be &amp;quot;Google APIs&amp;quot; API 10, which can be installed from the ADK/AVD manager -&amp;gt; Available packages -&amp;gt; Third party Add-ons -&amp;gt; Google Inc. -&amp;gt; Google APIs by Google Inc., Android API 10. This is NOT the same as the Android SDK 2.3.3 API 10.  --lilia&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When I connected the ADK hardware to my phone (via the USB cable), a screen appeared on my phone asking me if I want to connect.&amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  I can now control the ADK hardware with my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
- Light up the three RGB LEDs any color I like.&amp;lt;br&amp;gt;&lt;br /&gt;
- Move the three servo motors.&amp;lt;br&amp;gt;&lt;br /&gt;
- Turn the two relays on and off.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the temperature sensor.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the joystick position.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I can&#039;t wait to play with this more.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
There is a visually oriented programming language for very easily creating your own Android apps -- called App Inventor.  Here is a fun intro to it:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://appinventor.googlelabs.com/about/ http://appinventor.googlelabs.com/about/]&amp;lt;br&amp;gt;&lt;br /&gt;
I haven&#039;t used it, but I will...&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[User:Malman23|Mitch]].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
---------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Here is the original announcement:&amp;lt;br&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A couple of weeks ago Google announced the ability for Android to connect with Arduino to be used as a cheap, easy-to-use hardware development platform.  Google then created ADK (Android Development Kit, based on Arduino), which is not cheap -- but they gave a bunch away for free at the Maker Faire last weekend.&amp;lt;br&amp;gt; &lt;br /&gt;
[http://developer.android.com/guide/topics/usb/adk.html info on Android website]&amp;lt;br&amp;gt;&lt;br /&gt;
and&amp;lt;br&amp;gt;&lt;br /&gt;
[http://arduino.cc/blog/2011/05/10/google-launches-android-open-accessory-development-kit-based-on-arduino/ info on Aruino&#039;s website]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Since many of us are relatively clueless on how to hack Android phones, or how to connect them to Arduino to do cool things, a bunch of us are getting together next Sunday to put our collective heads together to see how to make it all work on our Android phones.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
It is likely that a Google employee and Android developer will be joining us to help out.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;When&#039;&#039;&#039;: Sunday, 5-June-2011, 3pm&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Where&#039;&#039;&#039;: Noisebridge 2169 Mission St., 3rd floor&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;What&#039;&#039;&#039;: get our Android phones to play with Arduino (including the Google ADK)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Who&#039;&#039;&#039;: anyone (regardless of skill level) who cares to join in the fun&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Owen</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21314</id>
		<title>AndroidArduinoMeetup</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21314"/>
		<updated>2011-11-02T21:03:07Z</updated>

		<summary type="html">&lt;p&gt;Owen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;On June 5th, 2011, about 40 people (or more) gathered at Noisebridge to put our collective heads together to get our Android phones going with Arduino.&amp;lt;br&amp;gt;&lt;br /&gt;
It was written up on the MAKE Magazine blog:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://blog.makezine.com/archive/2011/06/using-the-android-open-accessory-api-without-a-nexus.html Using the Android Open Accessory API without a Nexus]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Google officially added Arduino support to new versions of the Android OS so that hardware development is easy on Android phones.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Arduino hardware that will work with Android phones includes:&amp;lt;br&amp;gt;&lt;br /&gt;
- the Google ADK(Android Development Kit)&amp;lt;br&amp;gt;&lt;br /&gt;
- a standard Arduino&amp;lt;br&amp;gt;&lt;br /&gt;
- any Arduino clone with a USB Host shield).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:ADKphoto.jpg|thumb|right|G2 phone controlling Googles ADK hardware]]&lt;br /&gt;
Since Arduino support is only available on new versions of the Android OS, a lot of people at the meetup (including me) needed to root their phones to get a new version of Android OS on them.  We met at one side of the room, where [[User:Rubin110|Rubin]] gave an overview of the process of rooting one&#039;s Android phone, followed by a a workshop of actually doing it.  &#039;&#039;I got my phone rooted, installed the latest Android OS (CyanogenMod), and got my phone to control the Google ADK hardware!  I document my procedure, below, so others may benefit from my experience.&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
A bunch of other people at the meetup already had phones with Android OS that was ready for hardware.  They gathered at the electronics lab area, and they got their phones connected with Google ADK, standard Arduinos, and other Arduino clones (with USB Host shield).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I have a new (8 day old) T-Mobile G2 phone (also known as &#039;&#039;HTC Vision&#039;&#039;).&amp;lt;br&amp;gt;&lt;br /&gt;
It came with a version of Android OS (v2.2) that does not support Arduino hardware (need 2.3.4 or later).&amp;lt;br&amp;gt;&lt;br /&gt;
So, with the help of [[User:Rubin110|Rubin]] and others, I rooted my phone, and installed the latest version of Cyanogenmod (a fork of the official Android OS).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I attempted to document the steps I went through, so that others can have an easier time of it.&amp;lt;br&amp;gt;&lt;br /&gt;
The steps will probably be similar if you have another type of Android phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Here is the documentation:&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This entire process took me 3 hours.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The procedure is mostly given at:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting T-Mobile G2 Rooting]&amp;lt;br&amp;gt;&lt;br /&gt;
I will not reproduce everything here, but there are a few notes that I&#039;ll give that  are very helpful to know.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Here are some other resources (which I did not use, but may be helpful):&amp;lt;br&amp;gt;&lt;br /&gt;
wiki.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
forms.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
xda-developers.com&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #cyanogenmod&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #noisebridge&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Steps I took to get Cyanogen on my G2:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Basically, follow the instructions here:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting&amp;lt;br&amp;gt;&lt;br /&gt;
I am mostly just giving helpful notes, below, and not reproducing the entire procedure.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The first step is to backup you phone.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The next step is to get temporary root access.&amp;lt;br&amp;gt;&lt;br /&gt;
The first thing here is to get ADB running.  One way to do this is by installing the Android SDK on your computer.  Since the wireless at Noisebridge was overloaded with so many people using it at once, and since Miloh had the foresight to download the Android SDK for Windows, MacOS, and Linux, I downloaded the Windows version (yes, I use Windows) from Miloh’s account on Pony:&amp;lt;br&amp;gt;&lt;br /&gt;
http://developer.android.com/sdk/index.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;installer_r11-windows.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
But to be able to install the Android SDK, it is necessary to have Java Development Kit running on your computer (JRE is not good enough).&amp;lt;br&amp;gt;&lt;br /&gt;
Downlowd and install JDK on my computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u25-download-346242.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;jdk-6u25-windows-i586.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then double-click to install the Android SDK, BUT THERE IS A BUG in the installer:&amp;lt;br&amp;gt;&lt;br /&gt;
 When it says that JDK is needed and it can’t be found, hit BACK, and then hit NEXT again, and it will go OK from there.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then I followed the instructions in this Android SDK guide on how to install the Android SDK on my computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=Howto:_Install_the_Android_SDK&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
As part of installing the Android SDK -- when I connected my phone to my computer, after installing everything, ADB driver was not installed correctly.  So, as in the guide&#039;s instructions, I had to continue with further instructions to update the ADB driver. This worked fine for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Back to the instructions for G2 Rooting.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue to follow instructions to gain temporary root access on the phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Next we move on to gain permanent root access on the phone (which has the bonus of unlocking the phone).&amp;lt;br&amp;gt;&lt;br /&gt;
I had to use gfree v0.02, since the first gfree suggested (v0.04) gave me the error about failing to power cycle the eMMC (gfree_02 worked fine).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I did not flash the Engineering Hboot (which is stated as optional in the G2 Rooting instructions).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with intructions for Install a Custom Recovery Image.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with instructions for Flashing a Radio.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with instructions for Flashing CyanogenMod:&amp;lt;br&amp;gt;&lt;br /&gt;
After downloading the ROM Manager free version, it turns out that I couldn’t download the Cyanogenmod nightlies, which are the latest versions (need paid version or ROM Manager to get latest versions -- ugh), so I used the &amp;quot;second method&amp;quot; in the instructions, and downloaded the latest nightly on my computer, then transferred to G2:&amp;lt;br&amp;gt;&lt;br /&gt;
http://download.cyanogenmod.com/?device=vision&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;cm_cision_full-98.zip&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Because of legal reasons, there are a bunch of free Google Android apps that are not allowed to come with CyanogenMod.  You can download these (including Android Market) and transer them to the phone.  The package I downloaded and transferred to my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;CyanogenMod 7&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
NOTE:  When transferring files to phone, it is fine to transfer the zipped files.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Unhook phone, and then go back to instructions using Second Version.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Using ROM Manager, install cm_vision_full-98.zip&lt;br /&gt;
After reboot, it ignored instructions we gave it about backups, so when we get a screen full of orange text (Clockwork Flash Recovery), and did the following:&amp;lt;br&amp;gt;&lt;br /&gt;
- Backup and restore (to backup entire OS) (takes awhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe data/factory reset&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe cache partition&amp;lt;br&amp;gt;&lt;br /&gt;
- Advanced: Wipe dalvik cache  (not in instructions, but seemed worthwhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for cm_vision_full-98&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for Google apps (g_apps)&amp;lt;br&amp;gt;&lt;br /&gt;
- Reboot system&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If things do not go well at this point, I will have a bricked phone.  If things go well, I should get CyanogenMod logo animation boot screen.  What will happen? . . . &amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  --   Though it took a couple of minutes watching the static HTC screen, the CyanogenMod logo animation came up, and my phone works great!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Then I installed the Google ADK software on my G2.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Lilia compiled the ADK software for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pro tip: when compiling the demo app under Eclipse, your build target (Project Properties -&amp;gt; Android -&amp;gt; Project Build Target) should be &amp;quot;Google APIs&amp;quot; API 10, which can be installed from the ADK/AVD manager -&amp;gt; Available packages -&amp;gt; Third party Add-ons -&amp;gt; Google Inc. -&amp;gt; Google APIs by Google Inc., Android API 10. This is NOT the same as the Android SDK 2.3.3 API 10.  --lilia&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When I connected the ADK hardware to my phone (via the USB cable), a screen appeared on my phone asking me if I want to connect.&amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  I can now control the ADK hardware with my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
- Light up the three RGB LEDs any color I like.&amp;lt;br&amp;gt;&lt;br /&gt;
- Move the three servo motors.&amp;lt;br&amp;gt;&lt;br /&gt;
- Turn the two relays on and off.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the temperature sensor.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the joystick position.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I can&#039;t wait to play with this more.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
There is a visually oriented programming language for very easily creating your own Android apps -- called App Inventor.  Here is a fun intro to it:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://appinventor.googlelabs.com/about/ http://appinventor.googlelabs.com/about/]&amp;lt;br&amp;gt;&lt;br /&gt;
I haven&#039;t used it, but I will...&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[User:Malman23|Mitch]].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
---------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Here is the original announcement:&amp;lt;br&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A couple of weeks ago Google announced the ability for Android to connect with Arduino to be used as a cheap, easy-to-use hardware development platform.  Google then created ADK (Android Development Kit, based on Arduino), which is not cheap -- but they gave a bunch away for free at the Maker Faire last weekend.&amp;lt;br&amp;gt; &lt;br /&gt;
[http://developer.android.com/guide/topics/usb/adk.html info on Android website]&amp;lt;br&amp;gt;&lt;br /&gt;
and&amp;lt;br&amp;gt;&lt;br /&gt;
[http://arduino.cc/blog/2011/05/10/google-launches-android-open-accessory-development-kit-based-on-arduino/ info on Aruino&#039;s website]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Since many of us are relatively clueless on how to hack Android phones, or how to connect them to Arduino to do cool things, a bunch of us are getting together next Sunday to put our collective heads together to see how to make it all work on our Android phones.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
It is likely that a Google employee and Android developer will be joining us to help out.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;When&#039;&#039;&#039;: Sunday, 5-June-2011, 3pm&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Where&#039;&#039;&#039;: Noisebridge 2169 Mission St., 3rd floor&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;What&#039;&#039;&#039;: get our Android phones to play with Arduino (including the Google ADK)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Who&#039;&#039;&#039;: anyone (regardless of skill level) who cares to join in the fun&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Owen</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21313</id>
		<title>AndroidArduinoMeetup</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=AndroidArduinoMeetup&amp;diff=21313"/>
		<updated>2011-11-02T20:57:25Z</updated>

		<summary type="html">&lt;p&gt;Owen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;On June 5th, 2011, about 40 people (or more) gathered at Noisebridge to put our collective heads together to get our Android phones going with Arduino.&amp;lt;br&amp;gt;&lt;br /&gt;
It was written up on the MAKE Magazine blog:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://blog.makezine.com/archive/2011/06/using-the-android-open-accessory-api-without-a-nexus.html Using the Android Open Accessory API without a Nexus]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Google officially added Arduino support to new versions of the Android OS so that hardware development is easy on Android phones.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Arduino hardware that will work with Android phones includes:&amp;lt;br&amp;gt;&lt;br /&gt;
- the Google ADK&amp;lt;br&amp;gt;&lt;br /&gt;
- a standard Arduino&amp;lt;br&amp;gt;&lt;br /&gt;
- any Arduino clone with a USB Host shield).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Image:ADKphoto.jpg|thumb|right|G2 phone controlling Googles ADK hardware]]&lt;br /&gt;
Since Arduino support is only available on new versions of the Android OS, a lot of people at the meetup (including me) needed to root their phones to get a new version of Android OS on them.  We met at one side of the room, where [[User:Rubin110|Rubin]] gave an overview of the process of rooting one&#039;s Android phone, followed by a a workshop of actually doing it.  &#039;&#039;I got my phone rooted, installed the latest Android OS (CyanogenMod), and got my phone to control the Google ADK hardware!  I document my procedure, below, so others may benefit from my experience.&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
A bunch of other people at the meetup already had phones with Android OS that was ready for hardware.  They gathered at the electronics lab area, and they got their phones connected with Google ADK, standard Arduinos, and other Arduino clones (with USB Host shield).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I have a new (8 day old) T-Mobile G2 phone (also known as &#039;&#039;HTC Vision&#039;&#039;).&amp;lt;br&amp;gt;&lt;br /&gt;
It came with a version of Android OS (v2.2) that does not support Arduino hardware (need 2.3.4 or later).&amp;lt;br&amp;gt;&lt;br /&gt;
So, with the help of [[User:Rubin110|Rubin]] and others, I rooted my phone, and installed the latest version of Cyanogenmod (a fork of the official Android OS).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I attempted to document the steps I went through, so that others can have an easier time of it.&amp;lt;br&amp;gt;&lt;br /&gt;
The steps will probably be similar if you have another type of Android phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Here is the documentation:&amp;lt;br&amp;gt;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
This entire process took me 3 hours.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The procedure is mostly given at:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting T-Mobile G2 Rooting]&amp;lt;br&amp;gt;&lt;br /&gt;
I will not reproduce everything here, but there are a few notes that I&#039;ll give that  are very helpful to know.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Here are some other resources (which I did not use, but may be helpful):&amp;lt;br&amp;gt;&lt;br /&gt;
wiki.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
forms.cyanogen.com&amp;lt;br&amp;gt;&lt;br /&gt;
xda-developers.com&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #cyanogenmod&amp;lt;br&amp;gt;&lt;br /&gt;
IRC -- freenode:  #noisebridge&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Steps I took to get Cyanogen on my G2:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Basically, follow the instructions here:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=TMobile_G2:_Rooting&amp;lt;br&amp;gt;&lt;br /&gt;
I am mostly just giving helpful notes, below, and not reproducing the entire procedure.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The first step is to backup you phone.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
The next step is to get temporary root access.&amp;lt;br&amp;gt;&lt;br /&gt;
The first thing here is to get ADB running.  One way to do this is by installing the Android SDK on your computer.  Since the wireless at Noisebridge was overloaded with so many people using it at once, and since Miloh had the foresight to download the Android SDK for Windows, MacOS, and Linux, I downloaded the Windows version (yes, I use Windows) from Miloh’s account on Pony:&amp;lt;br&amp;gt;&lt;br /&gt;
http://developer.android.com/sdk/index.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;installer_r11-windows.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
But to be able to install the Android SDK, it is necessary to have Java Development Kit running on your computer (JRE is not good enough).&amp;lt;br&amp;gt;&lt;br /&gt;
Downlowd and install JDK on my computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u25-download-346242.html&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;jdk-6u25-windows-i586.exe&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then double-click to install the Android SDK, BUT THERE IS A BUG in the installer:&amp;lt;br&amp;gt;&lt;br /&gt;
 When it says that JDK is needed and it can’t be found, hit BACK, and then hit NEXT again, and it will go OK from there.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Then I followed the instructions in this Android SDK guide on how to install the Android SDK on my computer:&amp;lt;br&amp;gt;&lt;br /&gt;
http://wiki.cyanogenmod.com/index.php?title=Howto:_Install_the_Android_SDK&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
As part of installing the Android SDK -- when I connected my phone to my computer, after installing everything, ADB driver was not installed correctly.  So, as in the guide&#039;s instructions, I had to continue with further instructions to update the ADB driver. This worked fine for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Back to the instructions for G2 Rooting.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue to follow instructions to gain temporary root access on the phone.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Next we move on to gain permanent root access on the phone (which has the bonus of unlocking the phone).&amp;lt;br&amp;gt;&lt;br /&gt;
I had to use gfree v0.02, since the first gfree suggested (v0.04) gave me the error about failing to power cycle the eMMC (gfree_02 worked fine).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I did not flash the Engineering Hboot (which is stated as optional in the G2 Rooting instructions).&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with intructions for Install a Custom Recovery Image.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with instructions for Flashing a Radio.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Continue with instructions for Flashing CyanogenMod:&amp;lt;br&amp;gt;&lt;br /&gt;
After downloading the ROM Manager free version, it turns out that I couldn’t download the Cyanogenmod nightlies, which are the latest versions (need paid version or ROM Manager to get latest versions -- ugh), so I used the &amp;quot;second method&amp;quot; in the instructions, and downloaded the latest nightly on my computer, then transferred to G2:&amp;lt;br&amp;gt;&lt;br /&gt;
http://download.cyanogenmod.com/?device=vision&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;cm_cision_full-98.zip&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Because of legal reasons, there are a bunch of free Google Android apps that are not allowed to come with CyanogenMod.  You can download these (including Android Market) and transer them to the phone.  The package I downloaded and transferred to my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;CyanogenMod 7&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
NOTE:  When transferring files to phone, it is fine to transfer the zipped files.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Unhook phone, and then go back to instructions using Second Version.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Using ROM Manager, install cm_vision_full-98.zip&lt;br /&gt;
After reboot, it ignored instructions we gave it about backups, so when we get a screen full of orange text (Clockwork Flash Recovery), and did the following:&amp;lt;br&amp;gt;&lt;br /&gt;
- Backup and restore (to backup entire OS) (takes awhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe data/factory reset&amp;lt;br&amp;gt;&lt;br /&gt;
- Wipe cache partition&amp;lt;br&amp;gt;&lt;br /&gt;
- Advanced: Wipe dalvik cache  (not in instructions, but seemed worthwhile)&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for cm_vision_full-98&amp;lt;br&amp;gt;&lt;br /&gt;
- Install from sdcard for Google apps (g_apps)&amp;lt;br&amp;gt;&lt;br /&gt;
- Reboot system&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If things do not go well at this point, I will have a bricked phone.  If things go well, I should get CyanogenMod logo animation boot screen.  What will happen? . . . &amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  --   Though it took a couple of minutes watching the static HTC screen, the CyanogenMod logo animation came up, and my phone works great!&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Then I installed the Google ADK software on my G2.&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Lilia compiled the ADK software for me.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pro tip: when compiling the demo app under Eclipse, your build target (Project Properties -&amp;gt; Android -&amp;gt; Project Build Target) should be &amp;quot;Google APIs&amp;quot; API 10, which can be installed from the ADK/AVD manager -&amp;gt; Available packages -&amp;gt; Third party Add-ons -&amp;gt; Google Inc. -&amp;gt; Google APIs by Google Inc., Android API 10. This is NOT the same as the Android SDK 2.3.3 API 10.  --lilia&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When I connected the ADK hardware to my phone (via the USB cable), a screen appeared on my phone asking me if I want to connect.&amp;lt;br&amp;gt;&lt;br /&gt;
SUCCESS!!  I can now control the ADK hardware with my phone:&amp;lt;br&amp;gt;&lt;br /&gt;
- Light up the three RGB LEDs any color I like.&amp;lt;br&amp;gt;&lt;br /&gt;
- Move the three servo motors.&amp;lt;br&amp;gt;&lt;br /&gt;
- Turn the two relays on and off.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the temperature sensor.&amp;lt;br&amp;gt;&lt;br /&gt;
- Read the joystick position.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
I can&#039;t wait to play with this more.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
There is a visually oriented programming language for very easily creating your own Android apps -- called App Inventor.  Here is a fun intro to it:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://appinventor.googlelabs.com/about/ http://appinventor.googlelabs.com/about/]&amp;lt;br&amp;gt;&lt;br /&gt;
I haven&#039;t used it, but I will...&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[User:Malman23|Mitch]].&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
---------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Here is the original announcement:&amp;lt;br&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A couple of weeks ago Google announced the ability for Android to connect with Arduino to be used as a cheap, easy-to-use hardware development platform.  Google then created ADK (Android Development Kit, based on Arduino), which is not cheap -- but they gave a bunch away for free at the Maker Faire last weekend.&amp;lt;br&amp;gt; &lt;br /&gt;
[http://developer.android.com/guide/topics/usb/adk.html info on Android website]&amp;lt;br&amp;gt;&lt;br /&gt;
and&amp;lt;br&amp;gt;&lt;br /&gt;
[http://arduino.cc/blog/2011/05/10/google-launches-android-open-accessory-development-kit-based-on-arduino/ info on Aruino&#039;s website]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Since many of us are relatively clueless on how to hack Android phones, or how to connect them to Arduino to do cool things, a bunch of us are getting together next Sunday to put our collective heads together to see how to make it all work on our Android phones.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
It is likely that a Google employee and Android developer will be joining us to help out.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;When&#039;&#039;&#039;: Sunday, 5-June-2011, 3pm&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Where&#039;&#039;&#039;: Noisebridge 2169 Mission St., 3rd floor&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;What&#039;&#039;&#039;: get our Android phones to play with Arduino (including the Google ADK)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Who&#039;&#039;&#039;: anyone (regardless of skill level) who cares to join in the fun&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Owen</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=Direct_Disaster_Response_to_Japan&amp;diff=17172</id>
		<title>Direct Disaster Response to Japan</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=Direct_Disaster_Response_to_Japan&amp;diff=17172"/>
		<updated>2011-03-16T21:23:41Z</updated>

		<summary type="html">&lt;p&gt;Owen: /* Direct Disaster Response Japan (EN/CZ) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
[[File:New_beginning.jpg|200px|top|middle]]&lt;br /&gt;
&lt;br /&gt;
= Direct Disaster Response for Japan (EN/CZ) =&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;English version&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
This is a web page dedicated to alternative disaster response in Japan. To sign up for the mailing list, please click here:&lt;br /&gt;
&lt;br /&gt;
https://www.noisebridge.net/mailman/listinfo/japan-help&lt;br /&gt;
&lt;br /&gt;
My plan is to leave for Japan on 3/24/2011, at the latest, and help with disaster relief efforts. I plan to do the hard work like cleaning the debris, helping run shelters and starting with new buildup. I want to report on the events on an everyday basis (when possible). I also want to learn how the Japanese organize their disaster response work because they are probably the best in the world at it. At the same time, I want to create/improve an alternative disaster response concept. My focus would be the introduction and use of fermented foods and beverages and the buildup of fermentation and multimedia centers as described in the following project: [http://frantisekapfelbeck.org/tiki_wiki/tiki-index.php?page=Proyecto+Chihiro Proyecto Chihiro] and [http://frantisekapfelbeck.org/tiki_wiki/tiki-index.php?page=Proyecto+Placetas Proyecto Placetas] however applied under critical conditions.&lt;br /&gt;
&lt;br /&gt;
My longer-term goal is to create a publication based on this relief effort and to propose open source options for responding to disasters like this one.&lt;br /&gt;
&lt;br /&gt;
== [[Equipment and devices needed for the project]] ==&lt;br /&gt;
== [[Budget]] ==&lt;br /&gt;
==[[Disaster Projects or Informations in Japan]]==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Czech Version&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
Tato stránka je dedikována alternativnímu přístupu napravování přírodních katastrof a především té současné v Japonsku. Pro aktivní zapojení, prosím klilněte sem a zapište se na mailing list&lt;br /&gt;
&lt;br /&gt;
https://www.noisebridge.net/mailman/listinfo/japan-help&lt;br /&gt;
&lt;br /&gt;
Plánem je odletět do Japonska nejpozději do 24/3/2011 a začít s pomáháním pči odstraňování následků neštěstí. Plánuji pomoci klasickou manuální prací jakou je odstraňování trosek, pomoc s chodem azylových center a začít znovu budovat co je třeba. O daných aktivitách chci každý den podávat zprávy, pokud to bude jen trochu možné. Chci se v praxi naučit, jak Japonci organizují záchranné činnosti, protože jsou v tom zřejmě nejlepší na světě. Současně ale chci začít vytvářet systém alternativní ke konvenčnímu přístupu záchraných prací, hlavně při budování nových struktur. Budu se zaměřovat tak jako dosud na aplikaci fermentaci pro přípravu jídel a nápojů a výstavbu multimediálních center. Tyto koncepty jsou popsány v projektech [http://frantisekapfelbeck.org/tiki_wiki/tiki-index.php?page=Proyecto+Chihiro Proyecto Chihiro] a [http://frantisekapfelbeck.org/tiki_wiki/tiki-index.php?page=Proyecto+Placetas Proyecto Placetas] v těchto případech ale aplikováno v extrémních podmínkách.&lt;br /&gt;
&lt;br /&gt;
Cílem je později vytvořit publickaci o této události a navrhnout na základě open source alternativní přístupy &amp;quot;odpovědí&amp;quot; následkům přírodních katastrof.&lt;br /&gt;
&lt;br /&gt;
== [[Vybavení a přístroje nutné pro realizaci projektu]] ==&lt;br /&gt;
== [[Finance]] ==&lt;br /&gt;
== [[Projekty v rámci katastrofy v Japonsku]] ==&lt;/div&gt;</summary>
		<author><name>Owen</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=Direct_Disaster_Response_to_Japan&amp;diff=17171</id>
		<title>Direct Disaster Response to Japan</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=Direct_Disaster_Response_to_Japan&amp;diff=17171"/>
		<updated>2011-03-16T21:18:41Z</updated>

		<summary type="html">&lt;p&gt;Owen: /* English version */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
[[File:New_beginning.jpg|200px|top|middle]]&lt;br /&gt;
&lt;br /&gt;
= Direct Disaster Response Japan (EN/CZ) =&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;English version&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
This is a web page dedicated to alternative disaster response in Japan. To sign up for the mailing list, please click here:&lt;br /&gt;
&lt;br /&gt;
https://www.noisebridge.net/mailman/listinfo/japan-help&lt;br /&gt;
&lt;br /&gt;
My plan is to leave for Japan on 3/24/2011, at the latest, and help with disaster relief efforts. I plan to do the hard work like cleaning the debris, helping run shelters and starting with new buildup. I want to report on the events on an everyday basis (when possible). I also want to learn how the Japanese organize their disaster response work because they are probably the best in the world at it. At the same time, I want to create/improve an alternative disaster response concept. My focus would be the introduction and use of fermented foods and beverages and the buildup of fermentation and multimedia centers as described in the following project: [http://frantisekapfelbeck.org/tiki_wiki/tiki-index.php?page=Proyecto+Chihiro Proyecto Chihiro] and [http://frantisekapfelbeck.org/tiki_wiki/tiki-index.php?page=Proyecto+Placetas Proyecto Placetas] however applied under critical conditions.&lt;br /&gt;
&lt;br /&gt;
My longer-term goal is to create a publication based on this relief effort and to propose open source options for responding to disasters like this one.&lt;br /&gt;
&lt;br /&gt;
== [[Equipment and devices needed for the project]] ==&lt;br /&gt;
== [[Budget]] ==&lt;br /&gt;
==[[Disaster Projects or Informations in Japan]]==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Czech Version&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
Tato stránka je dedikována alternativnímu přístupu napravování přírodních katastrof a především té současné v Japonsku. Pro aktivní zapojení, prosím klilněte sem a zapište se na mailing list&lt;br /&gt;
&lt;br /&gt;
https://www.noisebridge.net/mailman/listinfo/japan-help&lt;br /&gt;
&lt;br /&gt;
Plánem je odletět do Japonska nejpozději do 24/3/2011 a začít s pomáháním pči odstraňování následků neštěstí. Plánuji pomoci klasickou manuální prací jakou je odstraňování trosek, pomoc s chodem azylových center a začít znovu budovat co je třeba. O daných aktivitách chci každý den podávat zprávy, pokud to bude jen trochu možné. Chci se v praxi naučit, jak Japonci organizují záchranné činnosti, protože jsou v tom zřejmě nejlepší na světě. Současně ale chci začít vytvářet systém alternativní ke konvenčnímu přístupu záchraných prací, hlavně při budování nových struktur. Budu se zaměřovat tak jako dosud na aplikaci fermentaci pro přípravu jídel a nápojů a výstavbu multimediálních center. Tyto koncepty jsou popsány v projektech [http://frantisekapfelbeck.org/tiki_wiki/tiki-index.php?page=Proyecto+Chihiro Proyecto Chihiro] a [http://frantisekapfelbeck.org/tiki_wiki/tiki-index.php?page=Proyecto+Placetas Proyecto Placetas] v těchto případech ale aplikováno v extrémních podmínkách.&lt;br /&gt;
&lt;br /&gt;
Cílem je později vytvořit publickaci o této události a navrhnout na základě open source alternativní přístupy &amp;quot;odpovědí&amp;quot; následkům přírodních katastrof.&lt;br /&gt;
&lt;br /&gt;
== [[Vybavení a přístroje nutné pro realizaci projektu]] ==&lt;br /&gt;
== [[Finance]] ==&lt;br /&gt;
== [[Projekty v rámci katastrofy v Japonsku]] ==&lt;/div&gt;</summary>
		<author><name>Owen</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=Direct_Disaster_Response_to_Japan&amp;diff=17170</id>
		<title>Direct Disaster Response to Japan</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=Direct_Disaster_Response_to_Japan&amp;diff=17170"/>
		<updated>2011-03-16T21:16:13Z</updated>

		<summary type="html">&lt;p&gt;Owen: /* English version */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
[[File:New_beginning.jpg|200px|top|middle]]&lt;br /&gt;
&lt;br /&gt;
= Direct Disaster Response Japan (EN/CZ) =&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;English version&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
This is a web page dedicated to the alternative disaster response in Japan, to sign for mailing list click here please&lt;br /&gt;
&lt;br /&gt;
https://www.noisebridge.net/mailman/listinfo/japan-help&lt;br /&gt;
&lt;br /&gt;
My plan is to leave for Japan on 3/24/2011, at the latest, and help with disaster relief efforts. I plan to do the hard work like cleaning the debris, helping run shelters and starting with new buildup. I want to report on the events on an everyday basis (when possible). I also want to learn how the Japanese organize their disaster response work because they are probably the best in the world at it. At the same time, I want to create/improve an alternative disaster response concept. My focus would be the introduction and use of fermented foods and beverages and the buildup of fermentation and multimedia centers as described in the following project: [http://frantisekapfelbeck.org/tiki_wiki/tiki-index.php?page=Proyecto+Chihiro Proyecto Chihiro] and [http://frantisekapfelbeck.org/tiki_wiki/tiki-index.php?page=Proyecto+Placetas Proyecto Placetas] however appliyed under critical conditions .&lt;br /&gt;
&lt;br /&gt;
My longer-term goal is to create a publication based on this relief effort and to propose open source options for responding to disasters like this one.&lt;br /&gt;
&lt;br /&gt;
== [[Equipment and devices needed for the project]] ==&lt;br /&gt;
== [[Budget]] ==&lt;br /&gt;
==[[Disaster Projects or Informations in Japan]]==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Czech Version&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
Tato stránka je dedikována alternativnímu přístupu napravování přírodních katastrof a především té současné v Japonsku. Pro aktivní zapojení, prosím klilněte sem a zapište se na mailing list&lt;br /&gt;
&lt;br /&gt;
https://www.noisebridge.net/mailman/listinfo/japan-help&lt;br /&gt;
&lt;br /&gt;
Plánem je odletět do Japonska nejpozději do 24/3/2011 a začít s pomáháním pči odstraňování následků neštěstí. Plánuji pomoci klasickou manuální prací jakou je odstraňování trosek, pomoc s chodem azylových center a začít znovu budovat co je třeba. O daných aktivitách chci každý den podávat zprávy, pokud to bude jen trochu možné. Chci se v praxi naučit, jak Japonci organizují záchranné činnosti, protože jsou v tom zřejmě nejlepší na světě. Současně ale chci začít vytvářet systém alternativní ke konvenčnímu přístupu záchraných prací, hlavně při budování nových struktur. Budu se zaměřovat tak jako dosud na aplikaci fermentaci pro přípravu jídel a nápojů a výstavbu multimediálních center. Tyto koncepty jsou popsány v projektech [http://frantisekapfelbeck.org/tiki_wiki/tiki-index.php?page=Proyecto+Chihiro Proyecto Chihiro] a [http://frantisekapfelbeck.org/tiki_wiki/tiki-index.php?page=Proyecto+Placetas Proyecto Placetas] v těchto případech ale aplikováno v extrémních podmínkách.&lt;br /&gt;
&lt;br /&gt;
Cílem je později vytvořit publickaci o této události a navrhnout na základě open source alternativní přístupy &amp;quot;odpovědí&amp;quot; následkům přírodních katastrof.&lt;br /&gt;
&lt;br /&gt;
== [[Vybavení a přístroje nutné pro realizaci projektu]] ==&lt;br /&gt;
== [[Finance]] ==&lt;br /&gt;
== [[Projekty v rámci katastrofy v Japonsku]] ==&lt;/div&gt;</summary>
		<author><name>Owen</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=Direct_Disaster_Response_to_Japan&amp;diff=17169</id>
		<title>Direct Disaster Response to Japan</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=Direct_Disaster_Response_to_Japan&amp;diff=17169"/>
		<updated>2011-03-16T21:09:15Z</updated>

		<summary type="html">&lt;p&gt;Owen: /* English version */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
[[File:New_beginning.jpg|200px|top|middle]]&lt;br /&gt;
&lt;br /&gt;
= Direct Disaster Response Japan (EN/CZ) =&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;English version&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
This is a web page dedicated to the alternative disaster response in Japan, to sign for mailing list click here please&lt;br /&gt;
&lt;br /&gt;
https://www.noisebridge.net/mailman/listinfo/japan-help&lt;br /&gt;
&lt;br /&gt;
My plan is to leave for Japan on 3/24/2011, at the latest, and help with disaster relief efforts. I plan to do the hard work like cleaning the debris, helping run shelters and starting with new build up. I want to report on the events on an everyday basis (when possible). I also want to learn how the Japanese organize their disaster response work because they are probably the best in the world at it. At the same time, I want to create/improve an alternative disaster response concept. My focus would be the introduction and use of fermented foods and beverages and the buildup of fermentation and multimedia centers as described in project [http://frantisekapfelbeck.org/tiki_wiki/tiki-index.php?page=Proyecto+Chihiro Proyecto Chihiro] and [http://frantisekapfelbeck.org/tiki_wiki/tiki-index.php?page=Proyecto+Placetas Proyecto Placetas] however appliyed under critical conditions .&lt;br /&gt;
&lt;br /&gt;
The goal is to create later on a publication of this event and propose open source options how to respond to disasters like this.&lt;br /&gt;
&lt;br /&gt;
== [[Equipment and devices needed for the project]] ==&lt;br /&gt;
== [[Budget]] ==&lt;br /&gt;
==[[Disaster Projects or Informations in Japan]]==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== &#039;&#039;&#039;Czech Version&#039;&#039;&#039; ===&lt;br /&gt;
&lt;br /&gt;
Tato stránka je dedikována alternativnímu přístupu napravování přírodních katastrof a především té současné v Japonsku. Pro aktivní zapojení, prosím klilněte sem a zapište se na mailing list&lt;br /&gt;
&lt;br /&gt;
https://www.noisebridge.net/mailman/listinfo/japan-help&lt;br /&gt;
&lt;br /&gt;
Plánem je odletět do Japonska nejpozději do 24/3/2011 a začít s pomáháním pči odstraňování následků neštěstí. Plánuji pomoci klasickou manuální prací jakou je odstraňování trosek, pomoc s chodem azylových center a začít znovu budovat co je třeba. O daných aktivitách chci každý den podávat zprávy, pokud to bude jen trochu možné. Chci se v praxi naučit, jak Japonci organizují záchranné činnosti, protože jsou v tom zřejmě nejlepší na světě. Současně ale chci začít vytvářet systém alternativní ke konvenčnímu přístupu záchraných prací, hlavně při budování nových struktur. Budu se zaměřovat tak jako dosud na aplikaci fermentaci pro přípravu jídel a nápojů a výstavbu multimediálních center. Tyto koncepty jsou popsány v projektech [http://frantisekapfelbeck.org/tiki_wiki/tiki-index.php?page=Proyecto+Chihiro Proyecto Chihiro] a [http://frantisekapfelbeck.org/tiki_wiki/tiki-index.php?page=Proyecto+Placetas Proyecto Placetas] v těchto případech ale aplikováno v extrémních podmínkách.&lt;br /&gt;
&lt;br /&gt;
Cílem je později vytvořit publickaci o této události a navrhnout na základě open source alternativní přístupy &amp;quot;odpovědí&amp;quot; následkům přírodních katastrof.&lt;br /&gt;
&lt;br /&gt;
== [[Vybavení a přístroje nutné pro realizaci projektu]] ==&lt;br /&gt;
== [[Finance]] ==&lt;br /&gt;
== [[Projekty v rámci katastrofy v Japonsku]] ==&lt;/div&gt;</summary>
		<author><name>Owen</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=Category:Events&amp;diff=16974</id>
		<title>Category:Events</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=Category:Events&amp;diff=16974"/>
		<updated>2011-03-10T00:31:29Z</updated>

		<summary type="html">&lt;p&gt;Owen: /* Upcoming Events edit */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Note that this page uses transclusion. Content between the &amp;quot;onlyinclude&amp;quot; tags below will be pushed to the main page --&amp;gt;&lt;br /&gt;
Official, Semi-Official, one-off and other events at the Noisebridge space.&lt;br /&gt;
&lt;br /&gt;
=Event Calendar=&lt;br /&gt;
Not all events make it onto this calendar. Many events only make it to the Discussion or Announcements [[Mailinglist | mailing lists]], [[IRC]] or in person at [[:Category:Meeting_Notes | Tuesday meetings]]. Best of all, Noisebridge is about people getting together at the space in San Francisco to do stuff... like in person. Some events just happen.  Pay attention!&lt;br /&gt;
&lt;br /&gt;
If you&#039;d like to host an event yourself, we have advice on  [[Hosting_an_Event | hosting an event]] at Noisebridge.&lt;br /&gt;
&lt;br /&gt;
Event posters are encouraged to crosspost to the Google Calendar. View the  [http://www.google.com/calendar/embed?src=vo3i3c0qtjnkjr2ojasd0ftt8s%40group.calendar.google.com&amp;amp;ctz=America/Los_Angeles Google Calendar], view the [http://www.google.com/calendar/feeds/vo3i3c0qtjnkjr2ojasd0ftt8s%40group.calendar.google.com/public/basic Google Calendar in XML], or the [http://www.google.com/calendar/ical/vo3i3c0qtjnkjr2ojasd0ftt8s%40group.calendar.google.com/public/basic.ics Google Calendar in ical] format.&lt;br /&gt;
&lt;br /&gt;
To post Google Calendar entries for your event, contact a Noisebridge member for access.&lt;br /&gt;
&lt;br /&gt;
(Wouldn&#039;t it be great if there were a gCal mediawiki plugin so crossposting wasn&#039;t needed? Do you know of a good one? Help us!) &amp;lt;- working on this, need to upgrade Mediawiki in order to use some plugins.&lt;br /&gt;
&amp;lt;!-- Items inside this &amp;quot;onlyinclude&amp;quot; tag will be pushed to the main page --&amp;gt;&amp;lt;onlyinclude&amp;gt;&lt;br /&gt;
=== Upcoming Events &amp;lt;small&amp;gt;[https://www.noisebridge.net/index.php?title=Category:Events&amp;amp;action=edit&amp;amp;section=2 edit]&amp;lt;/small&amp;gt; ===&lt;br /&gt;
* &#039;&#039;&#039;March 3rd, Thursday, 19:00 - [[Adobe Lightroom|Adobe Lightroom Class]]&#039;&#039;&#039; - Main area/projector - Learn how to use Adobe Lightroom, from importing your photos, developing, to publishing&lt;br /&gt;
* &#039;&#039;&#039;March 3rd, Thursday, 19:30 - Development discussion: Android Development Versus Apple Development&#039;&#039;&#039; - similarities, differences, working with the hardware &amp;amp; software on each - Hosted by @dam&lt;br /&gt;
* &#039;&#039;&#039;March 4th, Friday, 19:00 - 07:00 - Mushroom microscopy workshop&lt;br /&gt;
* &#039;&#039;&#039;March 5th &amp;amp; 6th, 10:00 - [http://www.systemateka.com/PyPyMiniSprint.html PyPy Mini-Sprint]&#039;&#039;&#039; - Church classroom&lt;br /&gt;
* &#039;&#039;&#039;March 9th, 20:00&#039;&#039;&#039; - Ferment and filter a mash! [[fermentation logs]]&lt;br /&gt;
* &#039;&#039;&#039;March 10, Thursday, 19:00 - Group Grammar Clinic&#039;&#039;&#039; - Church Classroom - Donations gladly accepted - A clinic for grammar and writing evaluation. Please bring your web/social or technical writing for us to evaluate. Bring your laptop as well.  Collaboration groupware possibly provided. (Please suggest groupware software to use if you wish). Constructive feedback from other group members is encouraged so that this clinic is a group process. - Facilitator: [[User:Owen|Owen]] (opietro@yahoo.com)&lt;br /&gt;
&lt;br /&gt;
=== Recurring Events &amp;lt;small&amp;gt;[https://www.noisebridge.net/index.php?title=Category:Events&amp;amp;action=edit&amp;amp;section=3 edit]&amp;lt;/small&amp;gt; ===&lt;br /&gt;
&amp;lt;!-- Large turnout events should be written in &#039;&#039;&#039;bold&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Monday&#039;&#039;&#039;&lt;br /&gt;
** [[House_Keeping#Trash_and_Recycling|Trash Night]]  -  Take out the trash and compost for Tuesday morning!&lt;br /&gt;
** 17:00-19:00 [[Taste Bridge and Free School Cooking Class]] -  First Trial Run this Monday the 21st- theme is Mediterranean Cooking.  Featuring an integrated Basic Lesson in Arabic with Jack. http://www.sffreeschool.com/ &lt;br /&gt;
** 18:00 [[iPhone OS developer weekly meetup]] - We make teh applukashuns, joyn us 2 make dem 2! http://meetup.com/iphonedevsf&lt;br /&gt;
** 18:30 [[PyClass]] - Learn how to program using the Python programming language.&lt;br /&gt;
** &#039;&#039;&#039;19:00 [[Circuit Hacking Mondays]]&#039;&#039;&#039; - Learn to solder! Mitch will bring kits to make cool, hackable things that you can bring home after you make them.  Bring your own projects to hack! There&#039;s now an Audio Hacking Adjunct group that meets along with the Circuit Hackers. &lt;br /&gt;
** 19:00 1st and 3rd Mondays the BACE Timebank group meets to help organize community mutual aid by trading in equal time credits, wherever there is space. For more info. mira (at) sfbace.org or to join go to timebank.sfbace.org&lt;br /&gt;
** 21:00-22:00 [[Free School Chi Gong with Russel in the Church]] - Chi Gong is an ancient form of mind mind-body energy work similar to Tai Chi- think Standing Asian Yoga &lt;br /&gt;
** 22:00-24:00 [[Free School Utopian Films Club]] - Each Monday at 10 we&#039;ll be hosting the screening of a different Utopian film, followed by a discussion. Our first trial meeting the 21st we&#039;ll be showing the new Zeitgeist film http://www.zeitgeistmovingforward.com/&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Tuesday&#039;&#039;&#039;&lt;br /&gt;
** 12:30 [[Django Study Group]] - install and use the Django Python-based web framework, Turing classroom &lt;br /&gt;
** 15:00 [[Linux System Administration Study Group]] - Study Linux admining in the Turing classroom.&lt;br /&gt;
** 18:00 [[Tastebridge]] Cooking Class. Come and lets share together what we know about preparing delicious dishes. &lt;br /&gt;
** 18:30 Bay Area Community Exchange Project Roundtable Meeting (third Tues. of every month)-discussion of alternative currencies in the back classroom.&lt;br /&gt;
** 19:00 [[ruby_class|Ruby Class]] 7pm-9pm&lt;br /&gt;
&amp;lt;!--On haitus? Pls update ** 19:00 [[Origami|Learn You A Origami!]] - Learn how make folded-paper models. Beginners welcome!--&amp;gt;&lt;br /&gt;
** 19:30 [[Probability]] study group&lt;br /&gt;
** 19.30 [[Show and Tell]] -- Show your latest and greatest projects and hacks (working or in-progress), just before the weekly meeting. We meet in the Electronics Lab/Main Space.&lt;br /&gt;
** &#039;&#039;&#039;20:00 [[#Meetings|Noisebridge Weekly Meeting]]&#039;&#039;&#039; - Introducing new people and events to the space, general discussion, and decision making.&lt;br /&gt;
* &#039;&#039;&#039;Wednesday&#039;&#039;&#039;&lt;br /&gt;
** 18:00 [[LinuxDiscussion|Linux Discussion]] - Play with Linux in the Turing classroom.&lt;br /&gt;
&amp;lt;!--Weekly? Pls update ** 17:00 [[BarCamp Staff Meeting]]  - Meeting for BarCamp Staff to discuss plans for San Francisco BarCamp.--&amp;gt;&lt;br /&gt;
** 18:00 [[Tastebridge]] Our brewing classes are happening for more than 8 months already and knowledge and master craft is accumulating ...&lt;br /&gt;
** 19:00 [[SCoW]] - Sewing, Crafting, Or Whatever! Come make cool stuff with geeks.&lt;br /&gt;
** 19:30 [[Machine Learning]] - Teach computers to learn stuff using artificial intelligence and other techniques.&lt;br /&gt;
* &#039;&#039;&#039;Thursday&#039;&#039;&#039;&lt;br /&gt;
** [[House_Keeping#Trash_and_Recycling|Trash Night]]  - Take out the trash for Friday morning!&lt;br /&gt;
** 19:30 [[Games]] - Play games with geeks.&lt;br /&gt;
** &#039;&#039;&#039;20:00 [[Five_Minutes_of_Fame | Five Minutes of Fame]]&#039;&#039;&#039; (3rd Thursdays)&lt;br /&gt;
* &#039;&#039;&#039;Friday&#039;&#039;&#039; &lt;br /&gt;
** 12:30 [[Django Study Group]] - install and use the Django Python-based web framework, Turing classroom &lt;br /&gt;
** 15:00 [[Linux System Administration Study Group]] - Study Linux admining in the Turing classroom. &lt;br /&gt;
** 19:00 [[Science, Engineering &amp;amp; Design Huddle]] - Weekly group to discuss design approach, share techniques, and solve any problem you may be having with your project(s).&lt;br /&gt;
* &#039;&#039;&#039;Saturday&#039;&#039;&#039;&lt;br /&gt;
** 16:00 [[Pwn Your Own]] - Pwn Your Own is your chance to learn about every day security threats to every day internet activities. Designed for hackers at all levels, (1st Saturday).&lt;br /&gt;
* &#039;&#039;&#039;Sunday&#039;&#039;&#039;&lt;br /&gt;
** 14:00 [http://baha.bitrot.info/ Bay Area Hacker&#039;s Association - security meeting] (2nd Sundays)&lt;br /&gt;
** 15:00 [[Go]] - Playing of the Go boardgame. On nice days we often take the boards to Dolores Park and play there.&lt;br /&gt;
** 15:00 [[Locks!]] - Lock sport, sundays when there is demand. ( See [[locks!]] for more information. )&lt;br /&gt;
&amp;lt;!--Happening? pls update ** 17:00 [[Rsync Users Group]] - A twelve step program for those who have poor *nix habits.--&amp;gt;&lt;br /&gt;
** 18:00 [[Spacebridge]] - Noisebridge&#039;s space program&lt;br /&gt;
** 18:00 [[Code Bridge]] - Codebridge projects get help writing code or help others with their code&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/onlyinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Proposed Future Events and Classes ===&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Probability]] - Weekly probability study group based on [http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-041-probabilistic-systems-analysis-and-applied-probability-spring-2006/related-resources/ Fundamentals of Applied Probability Theory] by Al Drake&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[German]] - Learn German, all levels. 7pm beginners, 8pm advanced. RSVP 24 hours in advance for the benefit of the instructor. Events ran May-November 2009 on Mondays. Currently on hiatus. Get on the mailing list.&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Mandarin Corner|Mandarin]] - Learn or practice Mandarin, all levels. Also currently on hiatus. Get on the mailing list.&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Movie Night!]] - [[User:ThOMG|Thom]] wants to build community through nerdy sci-fi! (+Bill+Ted+Excellence++)&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Introduction to the AVR Microcontroller]] - [[User:Mightyohm|Jeff]] and [[User:Maltman23|Mitch]] are planning an introductory class for people wanting to make cool projects with AVRs.&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Basic Chemistry Lab Techniques]]&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Cuddle Puddle for the Economy]] - Stress-hacking with informal massage exchange.&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Milk and Cookies]] - Come read your favorite selections out loud. With Milk and Cookies (and yeah, probably beer too).&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Processing Workshop 2]] - [[User:Scmurray|Scott]] is interested in teaching this, and is busy thinking about what, where, when, why, and how.&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;:  [[Hack your Hardware]] -- We call BS on &amp;quot;no user-serviceable parts inside&amp;quot;&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Homebrew Instruction Class]] - The Wort (pt 1/3)&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Trip to Shooting Range]] - Field trip to a shooting range, to shoot guns.  Express interest at [[Trip to Shooting Range]]&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Surface Mount Soldering Workshop]] - Learn how to solder cicuits with small surface mount parts.  [[User:maltman23|Mitch Altman]] and Martin Bogomolni and others will show their tricks.  [[User:maltman23|Mitch]] will bring hackable kits that uses surface mounts for you to solder.&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039; - [[Locksport and Lockpicking]]&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039; - [[Version control tutorial]]&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039; - [[Foreign language learning for rocket scientists]] - I&#039;m near-native (fool people when I try) in (French and) Japanese, and a pro trans/terpreter and will share my shortcuts (skill-order, vocab, speed/articulation, translation≅grammar). No expertise on tonal languages yet... so if you know how to remember tones or how tone-sandhi interacts with speed and/or how nuances of speaker attitude are expressed in them (what we do with rythm/inflection/sentence-intonation and stress in Eng., and with particles and ??? in e.g. Cantonese) please chime in or call me (415-608-0564) so I can convey your wisdom. [also looking for a from-scratch Arabic partner]&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Getting started with Arduino]]&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Distributed Databases]]&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Scrum Club]] - I though I&#039;d test the waters and see if anyone was interested in a noisebridge scrum club details are here http://scrumclub.org/scrum-clubs/ if inturested hit me up twitter: @theabcasian, facebook: http://www.facebook.com/theabcasian&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[CNC Mill Workshop]] - Who wants to make stuff on the [[MaxNCMill]]?&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Math &amp;amp; Science Help]] - If you would like some math, science or engineering help, I&#039;m down to lend a hand.&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Cyborg Group|Cyborg Group / Sensebridge]] - Work on projects like artificial senses.  Someone needs to lead this!&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[OpenEEG]] - Brain tech. Has historically met on Sundays, at the behest of interested parties.&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Programming_for_Poets | Programming for Poets]] -  Gentle intro to programming using Processing&lt;br /&gt;
&lt;br /&gt;
= Past Events =&lt;br /&gt;
===2010===&lt;br /&gt;
* &#039;&#039;&#039;Sunday, August 22, 19:00 CLUB-MATE DROPOFF AND TASTING PARTY&#039;&#039;&#039; Nick Farr will be in town to drop off Club-Mate ordered by San Franciscans!&lt;br /&gt;
* &#039;&#039;&#039;June 5th, 12:00-19:00 - [[NoiseBridgeRehab]]&#039;&#039;&#039; - Help make the space more usable and accessible! Noisebridge needs your help!&lt;br /&gt;
* &#039;&#039;&#039;June 5th, 16:00-20:00 - [[Science For Juggalos]]&#039;&#039;&#039; - Science Fair in front of the Warfield Theater teaching magnetism to Juggalos&lt;br /&gt;
* &#039;&#039;&#039;June 6th, 15:00 - [[AVC Meetup]]&#039;&#039;&#039; - Entrepreneurial bonding &amp;amp; matchmaking&lt;br /&gt;
* &#039;&#039;&#039;June 9th, 21:00 - Your liver supports Noisebridge&#039;&#039;&#039; - Come to Elixir @ 16th &amp;amp; Guerrero anytime after 21:00 and drink, drink, drink! 50% of tips go to Noisebridge&lt;br /&gt;
* &#039;&#039;&#039;February 27th, 20:00 - [[Hacker EPROM]]&#039;&#039;&#039; - Noisebridge&#039;s first prom! Nice tie and a (robot) date required. We will have a DJ and punch.&lt;br /&gt;
* &#039;&#039;&#039;February 24th, 19:00, Wednesday - Joris Peels, of [http://www.shapeways.com Shapeways]&#039;&#039;&#039;, and expert on 3D printing, will give a [[ShaperwaysPresentation | talk and demonstration]] at Noisebridge!.&lt;br /&gt;
* &#039;&#039;&#039;February 23rd, 18:00 - Cleaning day&#039;&#039;&#039; - Come and help clean Noisebridge, because everyone loves a clean hack space.&lt;br /&gt;
* &#039;&#039;&#039;February 12th, 21:00 - visit from Steve Jackson&#039;&#039;&#039;. Game designer [http://en.wikipedia.org/wiki/Steve_Jackson_%28US_game_designer%29 Steve Jackson], founder of Steve Jackson Games, will visit Noisebridge.&lt;br /&gt;
* &#039;&#039;&#039;January 27th, 18:00-20:00 - [[beatrixjar event|Circuit Bending Workshop]]&#039;&#039;&#039; - [http://www.beatrixjar.com/ Beatrix*JAR] (contact [[User:Gpvillamil|Gian Pablo]] for more info)&lt;br /&gt;
* &#039;&#039;&#039;January 27th, 20:00-22:00 - [[beatrixjar event|Circuit Bending Performance]]&#039;&#039;&#039; - [http://www.beatrixjar.com/ Beatrix*JAR] - &amp;quot;Celebrate a night of new sound that will change your idea of music forever!&amp;quot;&lt;br /&gt;
* &#039;&#039;&#039;January 25th, 19:30 - [[Bag Porn]]&#039;&#039;&#039; - What&#039;s in your bag?&lt;br /&gt;
* &#039;&#039;&#039;January 20th, 19:00-21:00 - [http://groups.google.com/group/bacat/about Bay Categories &amp;amp; Types]&#039;&#039;&#039; - Categories, monoids, monads, functors and more! Held in the Alonzo Church classroom.&lt;br /&gt;
* &#039;&#039;&#039;January 20th, 19:00 - [[User Experience Book Club SF]]&#039;&#039;&#039; - Our book this month is &amp;quot;A Theory of Fun for Game Design&amp;quot; by Raph Koster - http://is.gd/6sEqw (meets in Turing)&lt;br /&gt;
* &#039;&#039;&#039;January 21st, 20:00 - [[Five Minutes of Fame]]&#039;&#039;&#039; - Monthly set of lightning talks on diverse topics&lt;br /&gt;
* &#039;&#039;&#039;January 22nd, 17:00 - [[CleaningParty| Cleaning Party]]&#039;&#039;&#039; - Come help clean up Noisebridge! Awsum fun!&lt;br /&gt;
* ...January 14th,16th, and 17th 1:00- ??? Build Out day for kitchen/bathroom/laundry bring yourself and a good attitude, learn a few things as well&lt;br /&gt;
* &#039;&#039;&#039;January 15th, 18:00 - [[CNC_Mill_Workshop]]&#039;&#039;&#039; - Learn to use the CNC mill for 2D engraving and circuit board routing&lt;br /&gt;
* Thursdays 17:00 [[ASL Group|American Sign Language]] - Learn how to talk without using your voice (or just come chat in ASL). &amp;lt;small&amp;gt;[http://whenisgood.net/noisebridge/asl/generic click to reschedule]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===2009===&lt;br /&gt;
* &#039;&#039;&#039;November 18th, 19:30&#039;&#039;&#039; - [[Dorkbot_2009_11_18|Dorkbot]]&lt;br /&gt;
* &#039;&#039;&#039;November 19th, 18:00&#039;&#039;&#039; - [[Mesh meetup]]&lt;br /&gt;
* &#039;&#039;&#039;November 19th, 20:00&#039;&#039;&#039; - [[Five Minutes of Fame]]&lt;br /&gt;
* &#039;&#039;&#039;November 20th, 18:00&#039;&#039;&#039; - Loud Objects [http://www.flickr.com/photos/createdigitalmedia/3428249036/ Noise Toy workshop].&lt;br /&gt;
* &#039;&#039;&#039;November 20th, 20:00&#039;&#039;&#039; - Performance by [http://www.loudobjects.com/ Loud Objects], (featuring Tristan Perich and Lesley Flanigan) and [http://www.myspace.com/jibkidder Jib Kidder].&lt;br /&gt;
:&#039;&#039;&#039;2009-11-05&#039;&#039;&#039; - [http://www.server-sky.com/ Server Sky presentation: Internet and Computation in Orbit] by Keith Lofstrom&lt;br /&gt;
:&#039;&#039;&#039;2009-11-05&#039;&#039;&#039; - [[Mesh meetup]]&lt;br /&gt;
:&#039;&#039;&#039;2009-11-02&#039;&#039;&#039; - [[French]] book club meeting to discuss  [http://www.amazon.com/exec/obidos/tg/detail/-/2842612892/ref=ord_cart_shr?_encoding=UTF8&amp;amp;m=ATVPDKIKX0DER&amp;amp;v=glance Une Si Longue Lettre]&lt;br /&gt;
: &#039;&#039;&#039; October 1st, 18:00&#039;&#039;&#039; - [[Wireless_Mesh_Network_Meetup | Mesh wireless meetup]]&lt;br /&gt;
: &#039;&#039;&#039; October 1st, 19:00&#039;&#039;&#039; - [http://groups.google.com/group/bacat Bay Area Categories and Types]&lt;br /&gt;
: &#039;&#039;&#039;2009-10-03&#039;&#039;&#039; [[Year 1 Open Hacker House]]&lt;br /&gt;
:&#039;&#039;&#039;Friday&#039;&#039;&#039;: [[CrazyCryptoNight]] - Discussion of cryptography for beginners through experts. 6-???&lt;br /&gt;
:&#039;&#039;&#039;Sunday&#039;&#039;&#039; : [[OpenEEG | OpenEEG Hacking]] Sundays, at 3-5pm.&lt;br /&gt;
:&#039;&#039;&#039;Tuesday&#039;&#039;&#039;: [[Haskell/Haschool]] - Learn Haskell with Jason Dusek.  6PM - 7:30PM, from May until we&#039;re all experts.&lt;br /&gt;
:&#039;&#039;&#039;Wednesday&#039;&#039;&#039;: [[Adobe_Lightroom|Adobe Lightroom]] - Become a more organized photographer. Weekly class (mostly held off site).&lt;br /&gt;
:&#039;&#039;&#039;Thursday&#039;&#039;&#039;: [[Professional VFX Compositing With Adobe After Effects]] - Taught by [[User:SFSlim|Aaron Muszalski]]. 7:30PM - 10PM, most Thursdays in May &amp;amp; June &amp;amp; ? (click through dammit)&lt;br /&gt;
:&#039;&#039;&#039;2009-09-17&#039;&#039;&#039;: [[Five Minutes of Fame]] 3D Edition&lt;br /&gt;
:&#039;&#039;&#039;2009-09-17&#039;&#039;&#039;: [[Wireless Mesh Network Meetup | Mesh wireless meetup]]&lt;br /&gt;
:&#039;&#039;&#039;2009-08-20&#039;&#039;&#039;: [[Five Minutes of Fame]] One Dee Edition&lt;br /&gt;
:&#039;&#039;&#039;2009-07-16&#039;&#039;&#039;: [[Five Minutes of Fame]] Zero Dee&lt;br /&gt;
:&#039;&#039;&#039;2009-07-02 - 2009-07-05&#039;&#039;&#039;: [http://toorcamp.org Toorcamp]&lt;br /&gt;
:&#039;&#039;&#039;2009-07-01&#039;&#039;&#039;: Noisedroid meeting to discuss location logging on Android platform (and other stuff too, I&#039;m sure)&lt;br /&gt;
:&#039;&#039;&#039;2009-06-30&#039;&#039;&#039;: [[Powerbocking Class|Powerbocking class]]&lt;br /&gt;
:&#039;&#039;&#039;2009-06-30&#039;&#039;&#039;: &amp;quot;Suing Telemarketers for Fun and Profit&amp;quot; (Toorcamp talk preview)&lt;br /&gt;
:&#039;&#039;&#039;2009-06-28&#039;&#039;&#039;: &amp;quot;Meditation for Hackers&amp;quot; (Toorcamp workshop preview)&lt;br /&gt;
:&#039;&#039;&#039;2009-06-18&#039;&#039;&#039;: [[Five Minutes of Fame]]&lt;br /&gt;
:&#039;&#039;&#039;2009-06-15&#039;&#039;&#039;: [[Eagle Workshop]]  Session two of the Eagle CAD workshop.&lt;br /&gt;
:&#039;&#039;&#039;2009-06-13&#039;&#039;&#039;: [[RoboGames 2009]] Noisebridge had a booth staffed by vounteers, great fun!&lt;br /&gt;
:&#039;&#039;&#039;2009-05-21&#039;&#039;&#039;: [[Five Minutes of Fame]]&lt;br /&gt;
:&#039;&#039;&#039;2009-04-27&#039;&#039;&#039;: [[EagleCAD workshop]] -- learn to use this CAD tool for printed circuit board design&lt;br /&gt;
:&#039;&#039;&#039;2009-04-16&#039;&#039;&#039;: [[Five Minutes of Fame]] April showers &amp;amp; flowers edition&lt;br /&gt;
:&#039;&#039;&#039;2009-04-11&#039;&#039;&#039;: [[RFID Hacking]] weekend workshop  (this event moved from the original March date)&lt;br /&gt;
:&#039;&#039;&#039;2009-04-05&#039;&#039;&#039;: [[First aid and CPR class]] Learning how to not only not die, but also reduce scarring!&lt;br /&gt;
:&#039;&#039;&#039;2009-04-03&#039;&#039;&#039;: [[Sudo pop]] 2PM and on. Making the first batch of a Noisebridge label yerba mate-niated rootbrew, gratis and DIY&lt;br /&gt;
:&#039;&#039;&#039;2009-03-26&#039;&#039;&#039;: [[OpenEEG | OpenEEG Hacking]] first meet up for this new group: 8 pm&lt;br /&gt;
:&#039;&#039;&#039;2009-03-19&#039;&#039;&#039;: [[Five Minutes of Fame]]&lt;br /&gt;
:&#039;&#039;&#039;2009-03-12&#039;&#039;&#039;: [[OpenBTS and GSM]] talk by David Burgess&lt;br /&gt;
:&#039;&#039;&#039;2009-02-14&#039;&#039;&#039;: [[Open Heart Workshop]] Valentine&#039;s Day blinkyheart soldering party! &lt;br /&gt;
:&#039;&#039;&#039;2009-02-13&#039;&#039;&#039;: [[Time-t_Party|&amp;lt;tt&amp;gt;time_t&amp;lt;/tt&amp;gt; Party]] to celebrate 1,234,567,890 since the Unix epoch.&lt;br /&gt;
:&#039;&#039;&#039;2009-02-09&#039;&#039;&#039;: [[Spanish learning at 8:30]]&lt;br /&gt;
:&#039;&#039;&#039;2009-02-05&#039;&#039;&#039;: [[PGP Key Workshop]]&lt;br /&gt;
:&#039;&#039;&#039;2009-01-31&#039;&#039;&#039;: [[Locksport and Lockpicking]]&lt;br /&gt;
&lt;br /&gt;
===2008===&lt;br /&gt;
:&#039;&#039;&#039;2008-12-27&#039;&#039;&#039;: [[25C3]] Chaos Computer Congress in Berlin&lt;br /&gt;
:&#039;&#039;&#039;2008-12-20 &amp;amp; 21&#039;&#039;&#039;: [[Creme Brulee]] Workshop on creating a french dessert, with bonus propane torch.&lt;br /&gt;
:&#039;&#039;&#039;2008-12-17 20:00&#039;&#039;&#039;: [[Machine Learning]] Birds-of-a-feather&lt;br /&gt;
:&#039;&#039;&#039;2008-11-24&#039;&#039;&#039;: [[Circuit Hacking Monday]] circuit design workshop&lt;br /&gt;
:&#039;&#039;&#039;2008-11-21, 7pm&#039;&#039;&#039;:[[Milk and Cookies]] -- [[User:Dmolnar|David Molnar]] hosts Milk and Cookies at 83C. Bring a short 5-7minute thing to read to others. Bring a potluck cookie/snack/drink if you like. David will bring milk and cookies.&lt;br /&gt;
:&#039;&#039;&#039;2008-11-17, 7:30pm&#039;&#039;&#039;: [[Basic Bicycle Maintain]] - [[User:rubin110|Rubin]] and [[User:rigel|rigel]] hate it when we see a bike that isn&#039;t maintained. Screechy chains and clacking derailleur can go to hell. Basic bike tune up, sharing the smarts on simple things you can do at home to make your ride suck a whole lot less.&lt;br /&gt;
:&#039;&#039;&#039;2008-11-16, 5:00pm&#039;&#039;&#039;: [[RepRap Soldering Party]] - help assemble RepRap!  RSVPs required on wiki! [[User:Adi|adi]]&lt;br /&gt;
:&#039;&#039;&#039;2008-11-16, 3:00pm&#039;&#039;&#039;: [[Oscilloscopes]] - Learn how to use this versatile tool to test electronic circuits.  Maximum 6 slots, please sign up ahead of time! [[User:dstaff|dstaff]]&lt;br /&gt;
:&#039;&#039;&#039;2008-10-31&#039;&#039;&#039;: [[Halloween Open House]] - NoiseBridge&#039;s own [[PPPC]] threw an awesome open house/halloween gala. Post pictures if you got &#039;em!&lt;br /&gt;
:&#039;&#039;&#039;2008-10-25&#039;&#039;&#039;: [[Soldering Workshop]] and Pumpkin Hackin&#039; - Learn to solder for total newbies (or learn to solder better!), including surface mount. Additionally, carve your halloween pumpkins and enjoy some experimental pumpkin pie and/or soup.&lt;br /&gt;
:&#039;&#039;&#039;2008-10-07&#039;&#039;&#039;: (tuesday before meeting) - Etch a circuit board. I&#039;ll be trying a photo resist etching and a basic printed mask etching. This is step 1/3 for a project called &amp;quot;annoying USB thingie&amp;quot; which will execute pre-defined keystrokes by sneaking a tiny USB dongle onto a victim^h^h^h^h^h buddy&#039;s computer.&lt;br /&gt;
:&#039;&#039;&#039;2008-09-13&#039;&#039;&#039;: [[Processing Workshop]] — Learn this very easy-to-use programming language! - [[Processing Workshop Report]]&lt;br /&gt;
:&#039;&#039;&#039;2008-02-16&#039;&#039;&#039;: [[Brain Machine Workshop|Brain Machine Making Workshop]]: Our first hardware sprint!&lt;/div&gt;</summary>
		<author><name>Owen</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=Category:Events&amp;diff=16944</id>
		<title>Category:Events</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=Category:Events&amp;diff=16944"/>
		<updated>2011-03-07T22:11:32Z</updated>

		<summary type="html">&lt;p&gt;Owen: /* Upcoming Events edit */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Note that this page uses transclusion. Content between the &amp;quot;onlyinclude&amp;quot; tags below will be pushed to the main page --&amp;gt;&lt;br /&gt;
Official, Semi-Official, one-off and other events at the Noisebridge space.&lt;br /&gt;
&lt;br /&gt;
=Event Calendar=&lt;br /&gt;
Not all events make it onto this calendar. Many events only make it to the Discussion or Announcements [[Mailinglist | mailing lists]], [[IRC]] or in person at [[:Category:Meeting_Notes | Tuesday meetings]]. Best of all, Noisebridge is about people getting together at the space in San Francisco to do stuff... like in person. Some events just happen.  Pay attention!&lt;br /&gt;
&lt;br /&gt;
If you&#039;d like to host an event yourself, we have advice on  [[Hosting_an_Event | hosting an event]] at Noisebridge.&lt;br /&gt;
&lt;br /&gt;
Event posters are encouraged to crosspost to the Google Calendar. View the  [http://www.google.com/calendar/embed?src=vo3i3c0qtjnkjr2ojasd0ftt8s%40group.calendar.google.com&amp;amp;ctz=America/Los_Angeles Google Calendar], view the [http://www.google.com/calendar/feeds/vo3i3c0qtjnkjr2ojasd0ftt8s%40group.calendar.google.com/public/basic Google Calendar in XML], or the [http://www.google.com/calendar/ical/vo3i3c0qtjnkjr2ojasd0ftt8s%40group.calendar.google.com/public/basic.ics Google Calendar in ical] format.&lt;br /&gt;
&lt;br /&gt;
To post Google Calendar entries for your event, contact a Noisebridge member for access.&lt;br /&gt;
&lt;br /&gt;
(Wouldn&#039;t it be great if there were a gCal mediawiki plugin so crossposting wasn&#039;t needed? Do you know of a good one? Help us!) &amp;lt;- working on this, need to upgrade Mediawiki in order to use some plugins.&lt;br /&gt;
&amp;lt;!-- Items inside this &amp;quot;onlyinclude&amp;quot; tag will be pushed to the main page --&amp;gt;&amp;lt;onlyinclude&amp;gt;&lt;br /&gt;
=== Upcoming Events &amp;lt;small&amp;gt;[https://www.noisebridge.net/index.php?title=Category:Events&amp;amp;action=edit&amp;amp;section=2 edit]&amp;lt;/small&amp;gt; ===&lt;br /&gt;
* &#039;&#039;&#039;March 3rd, Thursday, 19:00 - [[Adobe Lightroom|Adobe Lightroom Class]]&#039;&#039;&#039; - Main area/projector - Learn how to use Adobe Lightroom, from importing your photos, developing, to publishing&lt;br /&gt;
* &#039;&#039;&#039;March 3rd, Thursday, 19:30 - Development discussion: Android Development Versus Apple Development&#039;&#039;&#039; - similarities, differences, working with the hardware &amp;amp; software on each - Hosted by @dam&lt;br /&gt;
* &#039;&#039;&#039;March 4th, Friday, 19:00 - 07:00 - Mushroom microscopy workshop&lt;br /&gt;
* &#039;&#039;&#039;March 5th &amp;amp; 6th, 10:00 - [http://www.systemateka.com/PyPyMiniSprint.html PyPy Mini-Sprint]&#039;&#039;&#039; - Church classroom&lt;br /&gt;
* &#039;&#039;&#039;March 10, Thursday, 19:00 - Group Grammar Clinic&#039;&#039;&#039; - Church Classroom - By Donation - A clinic for grammar and writing evaluation. Please bring your web/social or technical writing for us to evaluate. Bring your laptop as well.  Collaboration groupware possibly provided. (Please suggest groupware software to use if you wish). Constructive feedback from other group members is encouraged so that this clinic is a group process. - Facilitator: [[User:Owen|Owen]] (opietro@yahoo.com)&lt;br /&gt;
&lt;br /&gt;
=== Recurring Events &amp;lt;small&amp;gt;[https://www.noisebridge.net/index.php?title=Category:Events&amp;amp;action=edit&amp;amp;section=3 edit]&amp;lt;/small&amp;gt; ===&lt;br /&gt;
&amp;lt;!-- Large turnout events should be written in &#039;&#039;&#039;bold&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Monday&#039;&#039;&#039;&lt;br /&gt;
** [[House_Keeping#Trash_and_Recycling|Trash Night]]  -  Take out the trash and compost for Tuesday morning!&lt;br /&gt;
** 17:00-19:00 [[Taste Bridge and Free School Cooking Class]] -  First Trial Run this Monday the 21st- theme is Mediterranean Cooking.  Featuring an integrated Basic Lesson in Arabic with Jack. http://www.sffreeschool.com/ &lt;br /&gt;
** 18:00 [[iPhone OS developer weekly meetup]] - We make teh applukashuns, joyn us 2 make dem 2! http://meetup.com/iphonedevsf&lt;br /&gt;
** 18:30 [[PyClass]] - Learn how to program using the Python programming language.&lt;br /&gt;
** &#039;&#039;&#039;19:00 [[Circuit Hacking Mondays]]&#039;&#039;&#039; - Learn to solder! Mitch will bring kits to make cool, hackable things that you can bring home after you make them.  Bring your own projects to hack! There&#039;s now an Audio Hacking Adjunct group that meets along with the Circuit Hackers. &lt;br /&gt;
** 19:00 1st and 3rd Mondays the BACE Timebank group meets to help organize community mutual aid by trading in equal time credits, wherever there is space. For more info. mira (at) sfbace.org or to join go to timebank.sfbace.org&lt;br /&gt;
** 21:00-22:00 [[Free School Chi Gong with Russel in the Church]] - Chi Gong is an ancient form of mind mind-body energy work similar to Tai Chi- think Standing Asian Yoga &lt;br /&gt;
** 22:00-24:00 [[Free School Utopian Films Club]] - Each Monday at 10 we&#039;ll be hosting the screening of a different Utopian film, followed by a discussion. Our first trial meeting the 21st we&#039;ll be showing the new Zeitgeist film http://www.zeitgeistmovingforward.com/&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Tuesday&#039;&#039;&#039;&lt;br /&gt;
** 12:30 [[Django Study Group]] - install and use the Django Python-based web framework, Turing classroom &lt;br /&gt;
** 15:00 [[Linux System Administration Study Group]] - Study Linux admining in the Turing classroom.&lt;br /&gt;
** 18:00 [[Tastebridge]] Cooking Class. Come and lets share together what we know about preparing delicious dishes. &lt;br /&gt;
** 18:30 Bay Area Community Exchange Project Roundtable Meeting (third Tues. of every month)-discussion of alternative currencies in the back classroom.&lt;br /&gt;
** 19:00 [[ruby_class|Ruby Class]] 7pm-9pm&lt;br /&gt;
&amp;lt;!--On haitus? Pls update ** 19:00 [[Origami|Learn You A Origami!]] - Learn how make folded-paper models. Beginners welcome!--&amp;gt;&lt;br /&gt;
** 19:30 [[Probability]] study group&lt;br /&gt;
** 19.30 [[Show and Tell]] -- Show your latest and greatest projects and hacks (working or in-progress), just before the weekly meeting. We meet in the Electronics Lab/Main Space.&lt;br /&gt;
** &#039;&#039;&#039;20:00 [[#Meetings|Noisebridge Weekly Meeting]]&#039;&#039;&#039; - Introducing new people and events to the space, general discussion, and decision making.&lt;br /&gt;
* &#039;&#039;&#039;Wednesday&#039;&#039;&#039;&lt;br /&gt;
** 18:00 [[LinuxDiscussion|Linux Discussion]] - Play with Linux in the Turing classroom.&lt;br /&gt;
&amp;lt;!--Weekly? Pls update ** 17:00 [[BarCamp Staff Meeting]]  - Meeting for BarCamp Staff to discuss plans for San Francisco BarCamp.--&amp;gt;&lt;br /&gt;
** 18:00 [[Tastebridge]] Our brewing classes are happening for more than 8 months already and knowledge and master craft is accumulating ...&lt;br /&gt;
** 19:00 [[SCoW]] - Sewing, Crafting, Or Whatever! Come make cool stuff with geeks.&lt;br /&gt;
** 19:30 [[Machine Learning]] - Teach computers to learn stuff using artificial intelligence and other techniques.&lt;br /&gt;
* &#039;&#039;&#039;Thursday&#039;&#039;&#039;&lt;br /&gt;
** [[House_Keeping#Trash_and_Recycling|Trash Night]]  - Take out the trash for Friday morning!&lt;br /&gt;
** 19:30 [[Games]] - Play games with geeks.&lt;br /&gt;
** &#039;&#039;&#039;20:00 [[Five_Minutes_of_Fame | Five Minutes of Fame]]&#039;&#039;&#039; (3rd Thursdays)&lt;br /&gt;
* &#039;&#039;&#039;Friday&#039;&#039;&#039; &lt;br /&gt;
** 12:30 [[Django Study Group]] - install and use the Django Python-based web framework, Turing classroom &lt;br /&gt;
** 15:00 [[Linux System Administration Study Group]] - Study Linux admining in the Turing classroom. &lt;br /&gt;
** 19:00 [[Science, Engineering &amp;amp; Design Huddle]] - Weekly group to discuss design approach, share techniques, and solve any problem you may be having with your project(s).&lt;br /&gt;
* &#039;&#039;&#039;Saturday&#039;&#039;&#039;&lt;br /&gt;
** 16:00 [[Pwn Your Own]] - Pwn Your Own is your chance to learn about every day security threats to every day internet activities. Designed for hackers at all levels, (1st Saturday).&lt;br /&gt;
* &#039;&#039;&#039;Sunday&#039;&#039;&#039;&lt;br /&gt;
** 14:00 [http://baha.bitrot.info/ Bay Area Hacker&#039;s Association - security meeting] (2nd Sundays)&lt;br /&gt;
** 15:00 [[Go]] - Playing of the Go boardgame. On nice days we often take the boards to Dolores Park and play there.&lt;br /&gt;
** 15:00 [[Locks!]] - Lock sport, sundays when there is demand. ( See [[locks!]] for more information. )&lt;br /&gt;
&amp;lt;!--Happening? pls update ** 17:00 [[Rsync Users Group]] - A twelve step program for those who have poor *nix habits.--&amp;gt;&lt;br /&gt;
** 18:00 [[Spacebridge]] - Noisebridge&#039;s space program&lt;br /&gt;
** 18:00 [[Code Bridge]] - Codebridge projects get help writing code or help others with their code&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/onlyinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Proposed Future Events and Classes ===&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Probability]] - Weekly probability study group based on [http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-041-probabilistic-systems-analysis-and-applied-probability-spring-2006/related-resources/ Fundamentals of Applied Probability Theory] by Al Drake&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[German]] - Learn German, all levels. 7pm beginners, 8pm advanced. RSVP 24 hours in advance for the benefit of the instructor. Events ran May-November 2009 on Mondays. Currently on hiatus. Get on the mailing list.&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Mandarin Corner|Mandarin]] - Learn or practice Mandarin, all levels. Also currently on hiatus. Get on the mailing list.&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Movie Night!]] - [[User:ThOMG|Thom]] wants to build community through nerdy sci-fi! (+Bill+Ted+Excellence++)&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Introduction to the AVR Microcontroller]] - [[User:Mightyohm|Jeff]] and [[User:Maltman23|Mitch]] are planning an introductory class for people wanting to make cool projects with AVRs.&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Basic Chemistry Lab Techniques]]&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Cuddle Puddle for the Economy]] - Stress-hacking with informal massage exchange.&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Milk and Cookies]] - Come read your favorite selections out loud. With Milk and Cookies (and yeah, probably beer too).&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Processing Workshop 2]] - [[User:Scmurray|Scott]] is interested in teaching this, and is busy thinking about what, where, when, why, and how.&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;:  [[Hack your Hardware]] -- We call BS on &amp;quot;no user-serviceable parts inside&amp;quot;&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Homebrew Instruction Class]] - The Wort (pt 1/3)&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Trip to Shooting Range]] - Field trip to a shooting range, to shoot guns.  Express interest at [[Trip to Shooting Range]]&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Surface Mount Soldering Workshop]] - Learn how to solder cicuits with small surface mount parts.  [[User:maltman23|Mitch Altman]] and Martin Bogomolni and others will show their tricks.  [[User:maltman23|Mitch]] will bring hackable kits that uses surface mounts for you to solder.&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039; - [[Locksport and Lockpicking]]&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039; - [[Version control tutorial]]&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039; - [[Foreign language learning for rocket scientists]] - I&#039;m near-native (fool people when I try) in (French and) Japanese, and a pro trans/terpreter and will share my shortcuts (skill-order, vocab, speed/articulation, translation≅grammar). No expertise on tonal languages yet... so if you know how to remember tones or how tone-sandhi interacts with speed and/or how nuances of speaker attitude are expressed in them (what we do with rythm/inflection/sentence-intonation and stress in Eng., and with particles and ??? in e.g. Cantonese) please chime in or call me (415-608-0564) so I can convey your wisdom. [also looking for a from-scratch Arabic partner]&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Getting started with Arduino]]&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Distributed Databases]]&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Scrum Club]] - I though I&#039;d test the waters and see if anyone was interested in a noisebridge scrum club details are here http://scrumclub.org/scrum-clubs/ if inturested hit me up twitter: @theabcasian, facebook: http://www.facebook.com/theabcasian&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[CNC Mill Workshop]] - Who wants to make stuff on the [[MaxNCMill]]?&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Math &amp;amp; Science Help]] - If you would like some math, science or engineering help, I&#039;m down to lend a hand.&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Cyborg Group|Cyborg Group / Sensebridge]] - Work on projects like artificial senses.  Someone needs to lead this!&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[OpenEEG]] - Brain tech. Has historically met on Sundays, at the behest of interested parties.&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Programming_for_Poets | Programming for Poets]] -  Gentle intro to programming using Processing&lt;br /&gt;
&lt;br /&gt;
= Past Events =&lt;br /&gt;
===2010===&lt;br /&gt;
* &#039;&#039;&#039;Sunday, August 22, 19:00 CLUB-MATE DROPOFF AND TASTING PARTY&#039;&#039;&#039; Nick Farr will be in town to drop off Club-Mate ordered by San Franciscans!&lt;br /&gt;
* &#039;&#039;&#039;June 5th, 12:00-19:00 - [[NoiseBridgeRehab]]&#039;&#039;&#039; - Help make the space more usable and accessible! Noisebridge needs your help!&lt;br /&gt;
* &#039;&#039;&#039;June 5th, 16:00-20:00 - [[Science For Juggalos]]&#039;&#039;&#039; - Science Fair in front of the Warfield Theater teaching magnetism to Juggalos&lt;br /&gt;
* &#039;&#039;&#039;June 6th, 15:00 - [[AVC Meetup]]&#039;&#039;&#039; - Entrepreneurial bonding &amp;amp; matchmaking&lt;br /&gt;
* &#039;&#039;&#039;June 9th, 21:00 - Your liver supports Noisebridge&#039;&#039;&#039; - Come to Elixir @ 16th &amp;amp; Guerrero anytime after 21:00 and drink, drink, drink! 50% of tips go to Noisebridge&lt;br /&gt;
* &#039;&#039;&#039;February 27th, 20:00 - [[Hacker EPROM]]&#039;&#039;&#039; - Noisebridge&#039;s first prom! Nice tie and a (robot) date required. We will have a DJ and punch.&lt;br /&gt;
* &#039;&#039;&#039;February 24th, 19:00, Wednesday - Joris Peels, of [http://www.shapeways.com Shapeways]&#039;&#039;&#039;, and expert on 3D printing, will give a [[ShaperwaysPresentation | talk and demonstration]] at Noisebridge!.&lt;br /&gt;
* &#039;&#039;&#039;February 23rd, 18:00 - Cleaning day&#039;&#039;&#039; - Come and help clean Noisebridge, because everyone loves a clean hack space.&lt;br /&gt;
* &#039;&#039;&#039;February 12th, 21:00 - visit from Steve Jackson&#039;&#039;&#039;. Game designer [http://en.wikipedia.org/wiki/Steve_Jackson_%28US_game_designer%29 Steve Jackson], founder of Steve Jackson Games, will visit Noisebridge.&lt;br /&gt;
* &#039;&#039;&#039;January 27th, 18:00-20:00 - [[beatrixjar event|Circuit Bending Workshop]]&#039;&#039;&#039; - [http://www.beatrixjar.com/ Beatrix*JAR] (contact [[User:Gpvillamil|Gian Pablo]] for more info)&lt;br /&gt;
* &#039;&#039;&#039;January 27th, 20:00-22:00 - [[beatrixjar event|Circuit Bending Performance]]&#039;&#039;&#039; - [http://www.beatrixjar.com/ Beatrix*JAR] - &amp;quot;Celebrate a night of new sound that will change your idea of music forever!&amp;quot;&lt;br /&gt;
* &#039;&#039;&#039;January 25th, 19:30 - [[Bag Porn]]&#039;&#039;&#039; - What&#039;s in your bag?&lt;br /&gt;
* &#039;&#039;&#039;January 20th, 19:00-21:00 - [http://groups.google.com/group/bacat/about Bay Categories &amp;amp; Types]&#039;&#039;&#039; - Categories, monoids, monads, functors and more! Held in the Alonzo Church classroom.&lt;br /&gt;
* &#039;&#039;&#039;January 20th, 19:00 - [[User Experience Book Club SF]]&#039;&#039;&#039; - Our book this month is &amp;quot;A Theory of Fun for Game Design&amp;quot; by Raph Koster - http://is.gd/6sEqw (meets in Turing)&lt;br /&gt;
* &#039;&#039;&#039;January 21st, 20:00 - [[Five Minutes of Fame]]&#039;&#039;&#039; - Monthly set of lightning talks on diverse topics&lt;br /&gt;
* &#039;&#039;&#039;January 22nd, 17:00 - [[CleaningParty| Cleaning Party]]&#039;&#039;&#039; - Come help clean up Noisebridge! Awsum fun!&lt;br /&gt;
* ...January 14th,16th, and 17th 1:00- ??? Build Out day for kitchen/bathroom/laundry bring yourself and a good attitude, learn a few things as well&lt;br /&gt;
* &#039;&#039;&#039;January 15th, 18:00 - [[CNC_Mill_Workshop]]&#039;&#039;&#039; - Learn to use the CNC mill for 2D engraving and circuit board routing&lt;br /&gt;
* Thursdays 17:00 [[ASL Group|American Sign Language]] - Learn how to talk without using your voice (or just come chat in ASL). &amp;lt;small&amp;gt;[http://whenisgood.net/noisebridge/asl/generic click to reschedule]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===2009===&lt;br /&gt;
* &#039;&#039;&#039;November 18th, 19:30&#039;&#039;&#039; - [[Dorkbot_2009_11_18|Dorkbot]]&lt;br /&gt;
* &#039;&#039;&#039;November 19th, 18:00&#039;&#039;&#039; - [[Mesh meetup]]&lt;br /&gt;
* &#039;&#039;&#039;November 19th, 20:00&#039;&#039;&#039; - [[Five Minutes of Fame]]&lt;br /&gt;
* &#039;&#039;&#039;November 20th, 18:00&#039;&#039;&#039; - Loud Objects [http://www.flickr.com/photos/createdigitalmedia/3428249036/ Noise Toy workshop].&lt;br /&gt;
* &#039;&#039;&#039;November 20th, 20:00&#039;&#039;&#039; - Performance by [http://www.loudobjects.com/ Loud Objects], (featuring Tristan Perich and Lesley Flanigan) and [http://www.myspace.com/jibkidder Jib Kidder].&lt;br /&gt;
:&#039;&#039;&#039;2009-11-05&#039;&#039;&#039; - [http://www.server-sky.com/ Server Sky presentation: Internet and Computation in Orbit] by Keith Lofstrom&lt;br /&gt;
:&#039;&#039;&#039;2009-11-05&#039;&#039;&#039; - [[Mesh meetup]]&lt;br /&gt;
:&#039;&#039;&#039;2009-11-02&#039;&#039;&#039; - [[French]] book club meeting to discuss  [http://www.amazon.com/exec/obidos/tg/detail/-/2842612892/ref=ord_cart_shr?_encoding=UTF8&amp;amp;m=ATVPDKIKX0DER&amp;amp;v=glance Une Si Longue Lettre]&lt;br /&gt;
: &#039;&#039;&#039; October 1st, 18:00&#039;&#039;&#039; - [[Wireless_Mesh_Network_Meetup | Mesh wireless meetup]]&lt;br /&gt;
: &#039;&#039;&#039; October 1st, 19:00&#039;&#039;&#039; - [http://groups.google.com/group/bacat Bay Area Categories and Types]&lt;br /&gt;
: &#039;&#039;&#039;2009-10-03&#039;&#039;&#039; [[Year 1 Open Hacker House]]&lt;br /&gt;
:&#039;&#039;&#039;Friday&#039;&#039;&#039;: [[CrazyCryptoNight]] - Discussion of cryptography for beginners through experts. 6-???&lt;br /&gt;
:&#039;&#039;&#039;Sunday&#039;&#039;&#039; : [[OpenEEG | OpenEEG Hacking]] Sundays, at 3-5pm.&lt;br /&gt;
:&#039;&#039;&#039;Tuesday&#039;&#039;&#039;: [[Haskell/Haschool]] - Learn Haskell with Jason Dusek.  6PM - 7:30PM, from May until we&#039;re all experts.&lt;br /&gt;
:&#039;&#039;&#039;Wednesday&#039;&#039;&#039;: [[Adobe_Lightroom|Adobe Lightroom]] - Become a more organized photographer. Weekly class (mostly held off site).&lt;br /&gt;
:&#039;&#039;&#039;Thursday&#039;&#039;&#039;: [[Professional VFX Compositing With Adobe After Effects]] - Taught by [[User:SFSlim|Aaron Muszalski]]. 7:30PM - 10PM, most Thursdays in May &amp;amp; June &amp;amp; ? (click through dammit)&lt;br /&gt;
:&#039;&#039;&#039;2009-09-17&#039;&#039;&#039;: [[Five Minutes of Fame]] 3D Edition&lt;br /&gt;
:&#039;&#039;&#039;2009-09-17&#039;&#039;&#039;: [[Wireless Mesh Network Meetup | Mesh wireless meetup]]&lt;br /&gt;
:&#039;&#039;&#039;2009-08-20&#039;&#039;&#039;: [[Five Minutes of Fame]] One Dee Edition&lt;br /&gt;
:&#039;&#039;&#039;2009-07-16&#039;&#039;&#039;: [[Five Minutes of Fame]] Zero Dee&lt;br /&gt;
:&#039;&#039;&#039;2009-07-02 - 2009-07-05&#039;&#039;&#039;: [http://toorcamp.org Toorcamp]&lt;br /&gt;
:&#039;&#039;&#039;2009-07-01&#039;&#039;&#039;: Noisedroid meeting to discuss location logging on Android platform (and other stuff too, I&#039;m sure)&lt;br /&gt;
:&#039;&#039;&#039;2009-06-30&#039;&#039;&#039;: [[Powerbocking Class|Powerbocking class]]&lt;br /&gt;
:&#039;&#039;&#039;2009-06-30&#039;&#039;&#039;: &amp;quot;Suing Telemarketers for Fun and Profit&amp;quot; (Toorcamp talk preview)&lt;br /&gt;
:&#039;&#039;&#039;2009-06-28&#039;&#039;&#039;: &amp;quot;Meditation for Hackers&amp;quot; (Toorcamp workshop preview)&lt;br /&gt;
:&#039;&#039;&#039;2009-06-18&#039;&#039;&#039;: [[Five Minutes of Fame]]&lt;br /&gt;
:&#039;&#039;&#039;2009-06-15&#039;&#039;&#039;: [[Eagle Workshop]]  Session two of the Eagle CAD workshop.&lt;br /&gt;
:&#039;&#039;&#039;2009-06-13&#039;&#039;&#039;: [[RoboGames 2009]] Noisebridge had a booth staffed by vounteers, great fun!&lt;br /&gt;
:&#039;&#039;&#039;2009-05-21&#039;&#039;&#039;: [[Five Minutes of Fame]]&lt;br /&gt;
:&#039;&#039;&#039;2009-04-27&#039;&#039;&#039;: [[EagleCAD workshop]] -- learn to use this CAD tool for printed circuit board design&lt;br /&gt;
:&#039;&#039;&#039;2009-04-16&#039;&#039;&#039;: [[Five Minutes of Fame]] April showers &amp;amp; flowers edition&lt;br /&gt;
:&#039;&#039;&#039;2009-04-11&#039;&#039;&#039;: [[RFID Hacking]] weekend workshop  (this event moved from the original March date)&lt;br /&gt;
:&#039;&#039;&#039;2009-04-05&#039;&#039;&#039;: [[First aid and CPR class]] Learning how to not only not die, but also reduce scarring!&lt;br /&gt;
:&#039;&#039;&#039;2009-04-03&#039;&#039;&#039;: [[Sudo pop]] 2PM and on. Making the first batch of a Noisebridge label yerba mate-niated rootbrew, gratis and DIY&lt;br /&gt;
:&#039;&#039;&#039;2009-03-26&#039;&#039;&#039;: [[OpenEEG | OpenEEG Hacking]] first meet up for this new group: 8 pm&lt;br /&gt;
:&#039;&#039;&#039;2009-03-19&#039;&#039;&#039;: [[Five Minutes of Fame]]&lt;br /&gt;
:&#039;&#039;&#039;2009-03-12&#039;&#039;&#039;: [[OpenBTS and GSM]] talk by David Burgess&lt;br /&gt;
:&#039;&#039;&#039;2009-02-14&#039;&#039;&#039;: [[Open Heart Workshop]] Valentine&#039;s Day blinkyheart soldering party! &lt;br /&gt;
:&#039;&#039;&#039;2009-02-13&#039;&#039;&#039;: [[Time-t_Party|&amp;lt;tt&amp;gt;time_t&amp;lt;/tt&amp;gt; Party]] to celebrate 1,234,567,890 since the Unix epoch.&lt;br /&gt;
:&#039;&#039;&#039;2009-02-09&#039;&#039;&#039;: [[Spanish learning at 8:30]]&lt;br /&gt;
:&#039;&#039;&#039;2009-02-05&#039;&#039;&#039;: [[PGP Key Workshop]]&lt;br /&gt;
:&#039;&#039;&#039;2009-01-31&#039;&#039;&#039;: [[Locksport and Lockpicking]]&lt;br /&gt;
&lt;br /&gt;
===2008===&lt;br /&gt;
:&#039;&#039;&#039;2008-12-27&#039;&#039;&#039;: [[25C3]] Chaos Computer Congress in Berlin&lt;br /&gt;
:&#039;&#039;&#039;2008-12-20 &amp;amp; 21&#039;&#039;&#039;: [[Creme Brulee]] Workshop on creating a french dessert, with bonus propane torch.&lt;br /&gt;
:&#039;&#039;&#039;2008-12-17 20:00&#039;&#039;&#039;: [[Machine Learning]] Birds-of-a-feather&lt;br /&gt;
:&#039;&#039;&#039;2008-11-24&#039;&#039;&#039;: [[Circuit Hacking Monday]] circuit design workshop&lt;br /&gt;
:&#039;&#039;&#039;2008-11-21, 7pm&#039;&#039;&#039;:[[Milk and Cookies]] -- [[User:Dmolnar|David Molnar]] hosts Milk and Cookies at 83C. Bring a short 5-7minute thing to read to others. Bring a potluck cookie/snack/drink if you like. David will bring milk and cookies.&lt;br /&gt;
:&#039;&#039;&#039;2008-11-17, 7:30pm&#039;&#039;&#039;: [[Basic Bicycle Maintain]] - [[User:rubin110|Rubin]] and [[User:rigel|rigel]] hate it when we see a bike that isn&#039;t maintained. Screechy chains and clacking derailleur can go to hell. Basic bike tune up, sharing the smarts on simple things you can do at home to make your ride suck a whole lot less.&lt;br /&gt;
:&#039;&#039;&#039;2008-11-16, 5:00pm&#039;&#039;&#039;: [[RepRap Soldering Party]] - help assemble RepRap!  RSVPs required on wiki! [[User:Adi|adi]]&lt;br /&gt;
:&#039;&#039;&#039;2008-11-16, 3:00pm&#039;&#039;&#039;: [[Oscilloscopes]] - Learn how to use this versatile tool to test electronic circuits.  Maximum 6 slots, please sign up ahead of time! [[User:dstaff|dstaff]]&lt;br /&gt;
:&#039;&#039;&#039;2008-10-31&#039;&#039;&#039;: [[Halloween Open House]] - NoiseBridge&#039;s own [[PPPC]] threw an awesome open house/halloween gala. Post pictures if you got &#039;em!&lt;br /&gt;
:&#039;&#039;&#039;2008-10-25&#039;&#039;&#039;: [[Soldering Workshop]] and Pumpkin Hackin&#039; - Learn to solder for total newbies (or learn to solder better!), including surface mount. Additionally, carve your halloween pumpkins and enjoy some experimental pumpkin pie and/or soup.&lt;br /&gt;
:&#039;&#039;&#039;2008-10-07&#039;&#039;&#039;: (tuesday before meeting) - Etch a circuit board. I&#039;ll be trying a photo resist etching and a basic printed mask etching. This is step 1/3 for a project called &amp;quot;annoying USB thingie&amp;quot; which will execute pre-defined keystrokes by sneaking a tiny USB dongle onto a victim^h^h^h^h^h buddy&#039;s computer.&lt;br /&gt;
:&#039;&#039;&#039;2008-09-13&#039;&#039;&#039;: [[Processing Workshop]] — Learn this very easy-to-use programming language! - [[Processing Workshop Report]]&lt;br /&gt;
:&#039;&#039;&#039;2008-02-16&#039;&#039;&#039;: [[Brain Machine Workshop|Brain Machine Making Workshop]]: Our first hardware sprint!&lt;/div&gt;</summary>
		<author><name>Owen</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=Category:Events&amp;diff=16801</id>
		<title>Category:Events</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=Category:Events&amp;diff=16801"/>
		<updated>2011-02-26T18:58:41Z</updated>

		<summary type="html">&lt;p&gt;Owen: /* Upcoming Events edit */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Note that this page uses transclusion. Content between the &amp;quot;onlyinclude&amp;quot; tags below will be pushed to the main page --&amp;gt;&lt;br /&gt;
Official, Semi-Official, one-off and other events at the Noisebridge space.&lt;br /&gt;
&lt;br /&gt;
=Event Calendar=&lt;br /&gt;
Not all events make it onto this calendar. Many events only make it to the Discussion or Announcements [[Mailinglist | mailing lists]], [[IRC]] or in person at [[:Category:Meeting_Notes | Tuesday meetings]]. Best of all, Noisebridge is about people getting together at the space in San Francisco to do stuff... like in person. Some events just happen.  Pay attention!&lt;br /&gt;
&lt;br /&gt;
If you&#039;d like to host an event yourself, we have advice on  [[Hosting_an_Event | hosting an event]] at Noisebridge.&lt;br /&gt;
&lt;br /&gt;
Event posters are encouraged to crosspost to the Google Calendar. View the  [http://www.google.com/calendar/embed?src=vo3i3c0qtjnkjr2ojasd0ftt8s%40group.calendar.google.com&amp;amp;ctz=America/Los_Angeles Google Calendar], view the [http://www.google.com/calendar/feeds/vo3i3c0qtjnkjr2ojasd0ftt8s%40group.calendar.google.com/public/basic Google Calendar in XML], or the [http://www.google.com/calendar/ical/vo3i3c0qtjnkjr2ojasd0ftt8s%40group.calendar.google.com/public/basic.ics Google Calendar in ical] format.&lt;br /&gt;
&lt;br /&gt;
To post Google Calendar entries for your event, contact a Noisebridge member for access.&lt;br /&gt;
&lt;br /&gt;
(Wouldn&#039;t it be great if there were a gCal mediawiki plugin so crossposting wasn&#039;t needed? Do you know of a good one? Help us!) &amp;lt;- working on this, need to upgrade Mediawiki in order to use some plugins.&lt;br /&gt;
&amp;lt;!-- Items inside this &amp;quot;onlyinclude&amp;quot; tag will be pushed to the main page --&amp;gt;&amp;lt;onlyinclude&amp;gt;&lt;br /&gt;
=== Upcoming Events &amp;lt;small&amp;gt;[https://www.noisebridge.net/index.php?title=Category:Events&amp;amp;action=edit&amp;amp;section=2 edit]&amp;lt;/small&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Saturday &amp;amp; Sunday, February 26th &amp;amp; 27th&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;10am to *&#039;&#039;&#039;  Catchy Hackathon&lt;br /&gt;
** Organizers&#039; idea is for a hyper productive weekend of hacking at Noisebridge.  People should bring their own ideas and/or come willing to help with the ideas of others.  Ideas will be pitched, teams will form, ideas will be hacked upon.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Thursday, March 3&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;7:30 PM&#039;&#039;&#039; Development discussion: Android Development Versus Apple Development similarities, differences, working with the hardware &amp;amp; software on each&lt;br /&gt;
** Hosted by @dam&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Thursday, March 3&lt;br /&gt;
** &#039;&#039;&#039;7pm to *&#039;&#039;&#039;  Group Grammar Clinic -- Church Classroom&#039;&#039;&#039; &lt;br /&gt;
**By Donation&lt;br /&gt;
** A clinic for grammar and writing evaluation. Please bring your web/social or technical writing for us to evaluate. Bring your laptop as well.  Collaboration groupware possibly provided. (Please suggest groupware software to use if you wish). Constructive feedback from other group members is encouraged so that this clinic is a group process.&lt;br /&gt;
** Facilitator: [[User:Owen|Owen]] (opietro@yahoo.com)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Saturday, March 5 and Sunday, March 6&#039;&#039;&#039; &lt;br /&gt;
** &#039;&#039;&#039;10:00 to *&#039;&#039;&#039; [http://www.systemateka.com/PyPyMiniSprint.html PyPy Mini-Sprint] - In the Church classroom&lt;br /&gt;
&lt;br /&gt;
=== Recurring Events &amp;lt;small&amp;gt;[https://www.noisebridge.net/index.php?title=Category:Events&amp;amp;action=edit&amp;amp;section=3 edit]&amp;lt;/small&amp;gt; ===&lt;br /&gt;
&amp;lt;!-- Large turnout events should be written in &#039;&#039;&#039;bold&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Monday&#039;&#039;&#039;&lt;br /&gt;
** [[House_Keeping#Trash_and_Recycling|Trash Night]]  -  Take out the trash and compost for Tuesday morning!&lt;br /&gt;
** 17:00-19:00 [[Taste Bridge and Free School Cooking Class]] -  First Trial Run this Monday the 21st- theme is Mediterranean Cooking.  Featuring an integrated Basic Lesson in Arabic with Jack. http://www.sffreeschool.com/ &lt;br /&gt;
** 18:00 [[iPhone OS developer weekly meetup]] - We make teh applukashuns, joyn us 2 make dem 2! http://meetup.com/iphonedevsf&lt;br /&gt;
** 18:30 [[PyClass]] - Learn how to program using the Python programming language.&lt;br /&gt;
** &#039;&#039;&#039;19:00 [[Circuit Hacking Mondays]]&#039;&#039;&#039; - Learn to solder! Mitch will bring kits to make cool, hackable things that you can bring home after you make them.  Bring your own projects to hack! There&#039;s now an Audio Hacking Adjunct group that meets along with the Circuit Hackers. &lt;br /&gt;
** 19:00 1st and 3rd Mondays the BACE Timebank group meets to help organize community mutual aid by trading in equal time credits, wherever there is space. For more info. mira (at) sfbace.org or to join go to timebank.sfbace.org&lt;br /&gt;
** 21:00-22:00 [[Free School Chi Gong with Russel in the Church]] - Chi Gong is an ancient form of mind mind-body energy work similar to Tai Chi- think Standing Asian Yoga &lt;br /&gt;
** 22:00-24:00 [[Free School Utopian Films Club]] - Each Monday at 10 we&#039;ll be hosting the screening of a different Utopian film, followed by a discussion. Our first trial meeting the 21st we&#039;ll be showing the new Zeitgeist film http://www.zeitgeistmovingforward.com/&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Tuesday&#039;&#039;&#039;&lt;br /&gt;
** 12:30 [[Django Study Group]] - install and use the Django Python-based web framework, Turing classroom &lt;br /&gt;
** 15:00 [[Linux System Administration Study Group]] - Study Linux admining in the Turing classroom.&lt;br /&gt;
** 18:00 [[Tastebridge]] Cooking Class. Come and lets share together what we know about preparing delicious dishes. &lt;br /&gt;
** 18:30 Bay Area Community Exchange Project Roundtable Meeting (third Tues. of every month)-discussion of alternative currencies in the back classroom.&lt;br /&gt;
** 19:00 [[ruby_class|Ruby Class]] 7pm-9pm&lt;br /&gt;
&amp;lt;!--On haitus? Pls update ** 19:00 [[Origami|Learn You A Origami!]] - Learn how make folded-paper models. Beginners welcome!--&amp;gt;&lt;br /&gt;
** 19:30 [[Probability]] study group&lt;br /&gt;
** 19.30 [[Show and Tell]] -- Show your latest and greatest projects and hacks (working or in-progress), just before the weekly meeting. We meet in the Electronics Lab/Main Space.&lt;br /&gt;
** &#039;&#039;&#039;20:00 [[#Meetings|Noisebridge Weekly Meeting]]&#039;&#039;&#039; - Introducing new people and events to the space, general discussion, and decision making.&lt;br /&gt;
* &#039;&#039;&#039;Wednesday&#039;&#039;&#039;&lt;br /&gt;
** 18:00 [[LinuxDiscussion|Linux Discussion]] - Play with Linux in the Turing classroom.&lt;br /&gt;
&amp;lt;!--Weekly? Pls update ** 17:00 [[BarCamp Staff Meeting]]  - Meeting for BarCamp Staff to discuss plans for San Francisco BarCamp.--&amp;gt;&lt;br /&gt;
** 18:00 [[Tastebridge]] Our brewing classes are happening for more than 8 months already and knowledge and master craft is accumulating ...&lt;br /&gt;
** 19:00 [[SCoW]] - Sewing, Crafting, Or Whatever! Come make cool stuff with geeks.&lt;br /&gt;
** 19:30 [[Machine Learning]] - Teach computers to learn stuff using artificial intelligence and other techniques.&lt;br /&gt;
* &#039;&#039;&#039;Thursday&#039;&#039;&#039;&lt;br /&gt;
** [[House_Keeping#Trash_and_Recycling|Trash Night]]  - Take out the trash for Friday morning!&lt;br /&gt;
** 19:30 [[Games]] - Play games with geeks.&lt;br /&gt;
** &#039;&#039;&#039;20:00 [[Five_Minutes_of_Fame | Five Minutes of Fame]]&#039;&#039;&#039; (3rd Thursdays)&lt;br /&gt;
* &#039;&#039;&#039;Friday&#039;&#039;&#039; &lt;br /&gt;
** 12:30 [[Django Study Group]] - install and use the Django Python-based web framework, Turing classroom &lt;br /&gt;
** 15:00 [[Linux System Administration Study Group]] - Study Linux admining in the Turing classroom. &lt;br /&gt;
** 19:00 [[Science, Engineering &amp;amp; Design Huddle]] - Weekly group to discuss design approach, share techniques, and solve any problem you may be having with your project(s).&lt;br /&gt;
* &#039;&#039;&#039;Saturday&#039;&#039;&#039;&lt;br /&gt;
** 16:00 [[Pwn Your Own]] - Pwn Your Own is your chance to learn about every day security threats to every day internet activities. Designed for hackers at all levels, (1st Saturday).&lt;br /&gt;
* &#039;&#039;&#039;Sunday&#039;&#039;&#039;&lt;br /&gt;
** 14:00 [http://baha.bitrot.info/ Bay Area Hacker&#039;s Association - security meeting] (2nd Sundays)&lt;br /&gt;
** 15:00 [[Go]] - Playing of the Go boardgame. On nice days we often take the boards to Dolores Park and play there.&lt;br /&gt;
** 15:00 [[Locks!]] - Lock sport, sundays when there is demand. ( See [[locks!]] for more information. )&lt;br /&gt;
&amp;lt;!--Happening? pls update ** 17:00 [[Rsync Users Group]] - A twelve step program for those who have poor *nix habits.--&amp;gt;&lt;br /&gt;
** 18:00 [[Spacebridge]] - Noisebridge&#039;s space program&lt;br /&gt;
** 18:00 [[Code Bridge]] - Codebridge projects get help writing code or help others with their code&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/onlyinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Proposed Future Events and Classes ===&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Probability]] - Weekly probability study group based on [http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-041-probabilistic-systems-analysis-and-applied-probability-spring-2006/related-resources/ Fundamentals of Applied Probability Theory] by Al Drake&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[German]] - Learn German, all levels. 7pm beginners, 8pm advanced. RSVP 24 hours in advance for the benefit of the instructor. Events ran May-November 2009 on Mondays. Currently on hiatus. Get on the mailing list.&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Mandarin Corner|Mandarin]] - Learn or practice Mandarin, all levels. Also currently on hiatus. Get on the mailing list.&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Movie Night!]] - [[User:ThOMG|Thom]] wants to build community through nerdy sci-fi! (+Bill+Ted+Excellence++)&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Introduction to the AVR Microcontroller]] - [[User:Mightyohm|Jeff]] and [[User:Maltman23|Mitch]] are planning an introductory class for people wanting to make cool projects with AVRs.&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Basic Chemistry Lab Techniques]]&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Cuddle Puddle for the Economy]] - Stress-hacking with informal massage exchange.&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Milk and Cookies]] - Come read your favorite selections out loud. With Milk and Cookies (and yeah, probably beer too).&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Processing Workshop 2]] - [[User:Scmurray|Scott]] is interested in teaching this, and is busy thinking about what, where, when, why, and how.&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;:  [[Hack your Hardware]] -- We call BS on &amp;quot;no user-serviceable parts inside&amp;quot;&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Homebrew Instruction Class]] - The Wort (pt 1/3)&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Trip to Shooting Range]] - Field trip to a shooting range, to shoot guns.  Express interest at [[Trip to Shooting Range]]&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Surface Mount Soldering Workshop]] - Learn how to solder cicuits with small surface mount parts.  [[User:maltman23|Mitch Altman]] and Martin Bogomolni and others will show their tricks.  [[User:maltman23|Mitch]] will bring hackable kits that uses surface mounts for you to solder.&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039; - [[Locksport and Lockpicking]]&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039; - [[Version control tutorial]]&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039; - [[Foreign language learning for rocket scientists]] - I&#039;m near-native (fool people when I try) in (French and) Japanese, and a pro trans/terpreter and will share my shortcuts (skill-order, vocab, speed/articulation, translation≅grammar). No expertise on tonal languages yet... so if you know how to remember tones or how tone-sandhi interacts with speed and/or how nuances of speaker attitude are expressed in them (what we do with rythm/inflection/sentence-intonation and stress in Eng., and with particles and ??? in e.g. Cantonese) please chime in or call me (415-608-0564) so I can convey your wisdom. [also looking for a from-scratch Arabic partner]&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Getting started with Arduino]]&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Distributed Databases]]&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Scrum Club]] - I though I&#039;d test the waters and see if anyone was interested in a noisebridge scrum club details are here http://scrumclub.org/scrum-clubs/ if inturested hit me up twitter: @theabcasian, facebook: http://www.facebook.com/theabcasian&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[CNC Mill Workshop]] - Who wants to make stuff on the [[MaxNCMill]]?&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Math &amp;amp; Science Help]] - If you would like some math, science or engineering help, I&#039;m down to lend a hand.&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Cyborg Group|Cyborg Group / Sensebridge]] - Work on projects like artificial senses.  Someone needs to lead this!&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[OpenEEG]] - Brain tech. Has historically met on Sundays, at the behest of interested parties.&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Programming_for_Poets | Programming for Poets]] -  Gentle intro to programming using Processing&lt;br /&gt;
&lt;br /&gt;
= Past Events =&lt;br /&gt;
===2010===&lt;br /&gt;
* &#039;&#039;&#039;Sunday, August 22, 19:00 CLUB-MATE DROPOFF AND TASTING PARTY&#039;&#039;&#039; Nick Farr will be in town to drop off Club-Mate ordered by San Franciscans!&lt;br /&gt;
* &#039;&#039;&#039;June 5th, 12:00-19:00 - [[NoiseBridgeRehab]]&#039;&#039;&#039; - Help make the space more usable and accessible! Noisebridge needs your help!&lt;br /&gt;
* &#039;&#039;&#039;June 5th, 16:00-20:00 - [[Science For Juggalos]]&#039;&#039;&#039; - Science Fair in front of the Warfield Theater teaching magnetism to Juggalos&lt;br /&gt;
* &#039;&#039;&#039;June 6th, 15:00 - [[AVC Meetup]]&#039;&#039;&#039; - Entrepreneurial bonding &amp;amp; matchmaking&lt;br /&gt;
* &#039;&#039;&#039;June 9th, 21:00 - Your liver supports Noisebridge&#039;&#039;&#039; - Come to Elixir @ 16th &amp;amp; Guerrero anytime after 21:00 and drink, drink, drink! 50% of tips go to Noisebridge&lt;br /&gt;
* &#039;&#039;&#039;February 27th, 20:00 - [[Hacker EPROM]]&#039;&#039;&#039; - Noisebridge&#039;s first prom! Nice tie and a (robot) date required. We will have a DJ and punch.&lt;br /&gt;
* &#039;&#039;&#039;February 24th, 19:00, Wednesday - Joris Peels, of [http://www.shapeways.com Shapeways]&#039;&#039;&#039;, and expert on 3D printing, will give a [[ShaperwaysPresentation | talk and demonstration]] at Noisebridge!.&lt;br /&gt;
* &#039;&#039;&#039;February 23rd, 18:00 - Cleaning day&#039;&#039;&#039; - Come and help clean Noisebridge, because everyone loves a clean hack space.&lt;br /&gt;
* &#039;&#039;&#039;February 12th, 21:00 - visit from Steve Jackson&#039;&#039;&#039;. Game designer [http://en.wikipedia.org/wiki/Steve_Jackson_%28US_game_designer%29 Steve Jackson], founder of Steve Jackson Games, will visit Noisebridge.&lt;br /&gt;
* &#039;&#039;&#039;January 27th, 18:00-20:00 - [[beatrixjar event|Circuit Bending Workshop]]&#039;&#039;&#039; - [http://www.beatrixjar.com/ Beatrix*JAR] (contact [[User:Gpvillamil|Gian Pablo]] for more info)&lt;br /&gt;
* &#039;&#039;&#039;January 27th, 20:00-22:00 - [[beatrixjar event|Circuit Bending Performance]]&#039;&#039;&#039; - [http://www.beatrixjar.com/ Beatrix*JAR] - &amp;quot;Celebrate a night of new sound that will change your idea of music forever!&amp;quot;&lt;br /&gt;
* &#039;&#039;&#039;January 25th, 19:30 - [[Bag Porn]]&#039;&#039;&#039; - What&#039;s in your bag?&lt;br /&gt;
* &#039;&#039;&#039;January 20th, 19:00-21:00 - [http://groups.google.com/group/bacat/about Bay Categories &amp;amp; Types]&#039;&#039;&#039; - Categories, monoids, monads, functors and more! Held in the Alonzo Church classroom.&lt;br /&gt;
* &#039;&#039;&#039;January 20th, 19:00 - [[User Experience Book Club SF]]&#039;&#039;&#039; - Our book this month is &amp;quot;A Theory of Fun for Game Design&amp;quot; by Raph Koster - http://is.gd/6sEqw (meets in Turing)&lt;br /&gt;
* &#039;&#039;&#039;January 21st, 20:00 - [[Five Minutes of Fame]]&#039;&#039;&#039; - Monthly set of lightning talks on diverse topics&lt;br /&gt;
* &#039;&#039;&#039;January 22nd, 17:00 - [[CleaningParty| Cleaning Party]]&#039;&#039;&#039; - Come help clean up Noisebridge! Awsum fun!&lt;br /&gt;
* ...January 14th,16th, and 17th 1:00- ??? Build Out day for kitchen/bathroom/laundry bring yourself and a good attitude, learn a few things as well&lt;br /&gt;
* &#039;&#039;&#039;January 15th, 18:00 - [[CNC_Mill_Workshop]]&#039;&#039;&#039; - Learn to use the CNC mill for 2D engraving and circuit board routing&lt;br /&gt;
* Thursdays 17:00 [[ASL Group|American Sign Language]] - Learn how to talk without using your voice (or just come chat in ASL). &amp;lt;small&amp;gt;[http://whenisgood.net/noisebridge/asl/generic click to reschedule]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===2009===&lt;br /&gt;
* &#039;&#039;&#039;November 18th, 19:30&#039;&#039;&#039; - [[Dorkbot_2009_11_18|Dorkbot]]&lt;br /&gt;
* &#039;&#039;&#039;November 19th, 18:00&#039;&#039;&#039; - [[Mesh meetup]]&lt;br /&gt;
* &#039;&#039;&#039;November 19th, 20:00&#039;&#039;&#039; - [[Five Minutes of Fame]]&lt;br /&gt;
* &#039;&#039;&#039;November 20th, 18:00&#039;&#039;&#039; - Loud Objects [http://www.flickr.com/photos/createdigitalmedia/3428249036/ Noise Toy workshop].&lt;br /&gt;
* &#039;&#039;&#039;November 20th, 20:00&#039;&#039;&#039; - Performance by [http://www.loudobjects.com/ Loud Objects], (featuring Tristan Perich and Lesley Flanigan) and [http://www.myspace.com/jibkidder Jib Kidder].&lt;br /&gt;
:&#039;&#039;&#039;2009-11-05&#039;&#039;&#039; - [http://www.server-sky.com/ Server Sky presentation: Internet and Computation in Orbit] by Keith Lofstrom&lt;br /&gt;
:&#039;&#039;&#039;2009-11-05&#039;&#039;&#039; - [[Mesh meetup]]&lt;br /&gt;
:&#039;&#039;&#039;2009-11-02&#039;&#039;&#039; - [[French]] book club meeting to discuss  [http://www.amazon.com/exec/obidos/tg/detail/-/2842612892/ref=ord_cart_shr?_encoding=UTF8&amp;amp;m=ATVPDKIKX0DER&amp;amp;v=glance Une Si Longue Lettre]&lt;br /&gt;
: &#039;&#039;&#039; October 1st, 18:00&#039;&#039;&#039; - [[Wireless_Mesh_Network_Meetup | Mesh wireless meetup]]&lt;br /&gt;
: &#039;&#039;&#039; October 1st, 19:00&#039;&#039;&#039; - [http://groups.google.com/group/bacat Bay Area Categories and Types]&lt;br /&gt;
: &#039;&#039;&#039;2009-10-03&#039;&#039;&#039; [[Year 1 Open Hacker House]]&lt;br /&gt;
:&#039;&#039;&#039;Friday&#039;&#039;&#039;: [[CrazyCryptoNight]] - Discussion of cryptography for beginners through experts. 6-???&lt;br /&gt;
:&#039;&#039;&#039;Sunday&#039;&#039;&#039; : [[OpenEEG | OpenEEG Hacking]] Sundays, at 3-5pm.&lt;br /&gt;
:&#039;&#039;&#039;Tuesday&#039;&#039;&#039;: [[Haskell/Haschool]] - Learn Haskell with Jason Dusek.  6PM - 7:30PM, from May until we&#039;re all experts.&lt;br /&gt;
:&#039;&#039;&#039;Wednesday&#039;&#039;&#039;: [[Adobe_Lightroom|Adobe Lightroom]] - Become a more organized photographer. Weekly class (mostly held off site).&lt;br /&gt;
:&#039;&#039;&#039;Thursday&#039;&#039;&#039;: [[Professional VFX Compositing With Adobe After Effects]] - Taught by [[User:SFSlim|Aaron Muszalski]]. 7:30PM - 10PM, most Thursdays in May &amp;amp; June &amp;amp; ? (click through dammit)&lt;br /&gt;
:&#039;&#039;&#039;2009-09-17&#039;&#039;&#039;: [[Five Minutes of Fame]] 3D Edition&lt;br /&gt;
:&#039;&#039;&#039;2009-09-17&#039;&#039;&#039;: [[Wireless Mesh Network Meetup | Mesh wireless meetup]]&lt;br /&gt;
:&#039;&#039;&#039;2009-08-20&#039;&#039;&#039;: [[Five Minutes of Fame]] One Dee Edition&lt;br /&gt;
:&#039;&#039;&#039;2009-07-16&#039;&#039;&#039;: [[Five Minutes of Fame]] Zero Dee&lt;br /&gt;
:&#039;&#039;&#039;2009-07-02 - 2009-07-05&#039;&#039;&#039;: [http://toorcamp.org Toorcamp]&lt;br /&gt;
:&#039;&#039;&#039;2009-07-01&#039;&#039;&#039;: Noisedroid meeting to discuss location logging on Android platform (and other stuff too, I&#039;m sure)&lt;br /&gt;
:&#039;&#039;&#039;2009-06-30&#039;&#039;&#039;: [[Powerbocking Class|Powerbocking class]]&lt;br /&gt;
:&#039;&#039;&#039;2009-06-30&#039;&#039;&#039;: &amp;quot;Suing Telemarketers for Fun and Profit&amp;quot; (Toorcamp talk preview)&lt;br /&gt;
:&#039;&#039;&#039;2009-06-28&#039;&#039;&#039;: &amp;quot;Meditation for Hackers&amp;quot; (Toorcamp workshop preview)&lt;br /&gt;
:&#039;&#039;&#039;2009-06-18&#039;&#039;&#039;: [[Five Minutes of Fame]]&lt;br /&gt;
:&#039;&#039;&#039;2009-06-15&#039;&#039;&#039;: [[Eagle Workshop]]  Session two of the Eagle CAD workshop.&lt;br /&gt;
:&#039;&#039;&#039;2009-06-13&#039;&#039;&#039;: [[RoboGames 2009]] Noisebridge had a booth staffed by vounteers, great fun!&lt;br /&gt;
:&#039;&#039;&#039;2009-05-21&#039;&#039;&#039;: [[Five Minutes of Fame]]&lt;br /&gt;
:&#039;&#039;&#039;2009-04-27&#039;&#039;&#039;: [[EagleCAD workshop]] -- learn to use this CAD tool for printed circuit board design&lt;br /&gt;
:&#039;&#039;&#039;2009-04-16&#039;&#039;&#039;: [[Five Minutes of Fame]] April showers &amp;amp; flowers edition&lt;br /&gt;
:&#039;&#039;&#039;2009-04-11&#039;&#039;&#039;: [[RFID Hacking]] weekend workshop  (this event moved from the original March date)&lt;br /&gt;
:&#039;&#039;&#039;2009-04-05&#039;&#039;&#039;: [[First aid and CPR class]] Learning how to not only not die, but also reduce scarring!&lt;br /&gt;
:&#039;&#039;&#039;2009-04-03&#039;&#039;&#039;: [[Sudo pop]] 2PM and on. Making the first batch of a Noisebridge label yerba mate-niated rootbrew, gratis and DIY&lt;br /&gt;
:&#039;&#039;&#039;2009-03-26&#039;&#039;&#039;: [[OpenEEG | OpenEEG Hacking]] first meet up for this new group: 8 pm&lt;br /&gt;
:&#039;&#039;&#039;2009-03-19&#039;&#039;&#039;: [[Five Minutes of Fame]]&lt;br /&gt;
:&#039;&#039;&#039;2009-03-12&#039;&#039;&#039;: [[OpenBTS and GSM]] talk by David Burgess&lt;br /&gt;
:&#039;&#039;&#039;2009-02-14&#039;&#039;&#039;: [[Open Heart Workshop]] Valentine&#039;s Day blinkyheart soldering party! &lt;br /&gt;
:&#039;&#039;&#039;2009-02-13&#039;&#039;&#039;: [[Time-t_Party|&amp;lt;tt&amp;gt;time_t&amp;lt;/tt&amp;gt; Party]] to celebrate 1,234,567,890 since the Unix epoch.&lt;br /&gt;
:&#039;&#039;&#039;2009-02-09&#039;&#039;&#039;: [[Spanish learning at 8:30]]&lt;br /&gt;
:&#039;&#039;&#039;2009-02-05&#039;&#039;&#039;: [[PGP Key Workshop]]&lt;br /&gt;
:&#039;&#039;&#039;2009-01-31&#039;&#039;&#039;: [[Locksport and Lockpicking]]&lt;br /&gt;
&lt;br /&gt;
===2008===&lt;br /&gt;
:&#039;&#039;&#039;2008-12-27&#039;&#039;&#039;: [[25C3]] Chaos Computer Congress in Berlin&lt;br /&gt;
:&#039;&#039;&#039;2008-12-20 &amp;amp; 21&#039;&#039;&#039;: [[Creme Brulee]] Workshop on creating a french dessert, with bonus propane torch.&lt;br /&gt;
:&#039;&#039;&#039;2008-12-17 20:00&#039;&#039;&#039;: [[Machine Learning]] Birds-of-a-feather&lt;br /&gt;
:&#039;&#039;&#039;2008-11-24&#039;&#039;&#039;: [[Circuit Hacking Monday]] circuit design workshop&lt;br /&gt;
:&#039;&#039;&#039;2008-11-21, 7pm&#039;&#039;&#039;:[[Milk and Cookies]] -- [[User:Dmolnar|David Molnar]] hosts Milk and Cookies at 83C. Bring a short 5-7minute thing to read to others. Bring a potluck cookie/snack/drink if you like. David will bring milk and cookies.&lt;br /&gt;
:&#039;&#039;&#039;2008-11-17, 7:30pm&#039;&#039;&#039;: [[Basic Bicycle Maintain]] - [[User:rubin110|Rubin]] and [[User:rigel|rigel]] hate it when we see a bike that isn&#039;t maintained. Screechy chains and clacking derailleur can go to hell. Basic bike tune up, sharing the smarts on simple things you can do at home to make your ride suck a whole lot less.&lt;br /&gt;
:&#039;&#039;&#039;2008-11-16, 5:00pm&#039;&#039;&#039;: [[RepRap Soldering Party]] - help assemble RepRap!  RSVPs required on wiki! [[User:Adi|adi]]&lt;br /&gt;
:&#039;&#039;&#039;2008-11-16, 3:00pm&#039;&#039;&#039;: [[Oscilloscopes]] - Learn how to use this versatile tool to test electronic circuits.  Maximum 6 slots, please sign up ahead of time! [[User:dstaff|dstaff]]&lt;br /&gt;
:&#039;&#039;&#039;2008-10-31&#039;&#039;&#039;: [[Halloween Open House]] - NoiseBridge&#039;s own [[PPPC]] threw an awesome open house/halloween gala. Post pictures if you got &#039;em!&lt;br /&gt;
:&#039;&#039;&#039;2008-10-25&#039;&#039;&#039;: [[Soldering Workshop]] and Pumpkin Hackin&#039; - Learn to solder for total newbies (or learn to solder better!), including surface mount. Additionally, carve your halloween pumpkins and enjoy some experimental pumpkin pie and/or soup.&lt;br /&gt;
:&#039;&#039;&#039;2008-10-07&#039;&#039;&#039;: (tuesday before meeting) - Etch a circuit board. I&#039;ll be trying a photo resist etching and a basic printed mask etching. This is step 1/3 for a project called &amp;quot;annoying USB thingie&amp;quot; which will execute pre-defined keystrokes by sneaking a tiny USB dongle onto a victim^h^h^h^h^h buddy&#039;s computer.&lt;br /&gt;
:&#039;&#039;&#039;2008-09-13&#039;&#039;&#039;: [[Processing Workshop]] — Learn this very easy-to-use programming language! - [[Processing Workshop Report]]&lt;br /&gt;
:&#039;&#039;&#039;2008-02-16&#039;&#039;&#039;: [[Brain Machine Workshop|Brain Machine Making Workshop]]: Our first hardware sprint!&lt;/div&gt;</summary>
		<author><name>Owen</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=Category:Events&amp;diff=16800</id>
		<title>Category:Events</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=Category:Events&amp;diff=16800"/>
		<updated>2011-02-26T18:56:41Z</updated>

		<summary type="html">&lt;p&gt;Owen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Note that this page uses transclusion. Content between the &amp;quot;onlyinclude&amp;quot; tags below will be pushed to the main page --&amp;gt;&lt;br /&gt;
Official, Semi-Official, one-off and other events at the Noisebridge space.&lt;br /&gt;
&lt;br /&gt;
=Event Calendar=&lt;br /&gt;
Not all events make it onto this calendar. Many events only make it to the Discussion or Announcements [[Mailinglist | mailing lists]], [[IRC]] or in person at [[:Category:Meeting_Notes | Tuesday meetings]]. Best of all, Noisebridge is about people getting together at the space in San Francisco to do stuff... like in person. Some events just happen.  Pay attention!&lt;br /&gt;
&lt;br /&gt;
If you&#039;d like to host an event yourself, we have advice on  [[Hosting_an_Event | hosting an event]] at Noisebridge.&lt;br /&gt;
&lt;br /&gt;
Event posters are encouraged to crosspost to the Google Calendar. View the  [http://www.google.com/calendar/embed?src=vo3i3c0qtjnkjr2ojasd0ftt8s%40group.calendar.google.com&amp;amp;ctz=America/Los_Angeles Google Calendar], view the [http://www.google.com/calendar/feeds/vo3i3c0qtjnkjr2ojasd0ftt8s%40group.calendar.google.com/public/basic Google Calendar in XML], or the [http://www.google.com/calendar/ical/vo3i3c0qtjnkjr2ojasd0ftt8s%40group.calendar.google.com/public/basic.ics Google Calendar in ical] format.&lt;br /&gt;
&lt;br /&gt;
To post Google Calendar entries for your event, contact a Noisebridge member for access.&lt;br /&gt;
&lt;br /&gt;
(Wouldn&#039;t it be great if there were a gCal mediawiki plugin so crossposting wasn&#039;t needed? Do you know of a good one? Help us!) &amp;lt;- working on this, need to upgrade Mediawiki in order to use some plugins.&lt;br /&gt;
&amp;lt;!-- Items inside this &amp;quot;onlyinclude&amp;quot; tag will be pushed to the main page --&amp;gt;&amp;lt;onlyinclude&amp;gt;&lt;br /&gt;
=== Upcoming Events &amp;lt;small&amp;gt;[https://www.noisebridge.net/index.php?title=Category:Events&amp;amp;action=edit&amp;amp;section=2 edit]&amp;lt;/small&amp;gt; ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Saturday &amp;amp; Sunday, February 26th &amp;amp; 27th&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;10am to *&#039;&#039;&#039;  Catchy Hackathon&lt;br /&gt;
** Organizers&#039; idea is for a hyper productive weekend of hacking at Noisebridge.  People should bring their own ideas and/or come willing to help with the ideas of others.  Ideas will be pitched, teams will form, ideas will be hacked upon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Thursday, March 3&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;7:30 PM&#039;&#039;&#039; Development discussion: Android Development Versus Apple Development similarities, differences, working with the hardware &amp;amp; software on each&lt;br /&gt;
** Hosted by @dam&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Thursday, March 3&lt;br /&gt;
** &#039;&#039;&#039;7pm to *&#039;&#039;&#039;  Group Grammar Clinic -- Church Classroom&#039;&#039;&#039; By Donation&lt;br /&gt;
** A clinic for grammar and writing evaluation. Please bring your web/social or technical writing for us to evaluate. Bring your laptop as well.  Collaboration groupware possibly provided. (Please suggest groupware software to use if you wish). Constructive feedback from other group members is encouraged so that this clinic is a group process.&lt;br /&gt;
** Facilitator: [[User:Owen|Owen]] (opietro@yahoo.com)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Saturday, March 5 and Sunday, March 6&#039;&#039;&#039; &lt;br /&gt;
** &#039;&#039;&#039;10:00 to *&#039;&#039;&#039; [http://www.systemateka.com/PyPyMiniSprint.html PyPy Mini-Sprint] - In the Church classroom&lt;br /&gt;
&lt;br /&gt;
=== Recurring Events &amp;lt;small&amp;gt;[https://www.noisebridge.net/index.php?title=Category:Events&amp;amp;action=edit&amp;amp;section=3 edit]&amp;lt;/small&amp;gt; ===&lt;br /&gt;
&amp;lt;!-- Large turnout events should be written in &#039;&#039;&#039;bold&#039;&#039;&#039;. --&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Monday&#039;&#039;&#039;&lt;br /&gt;
** [[House_Keeping#Trash_and_Recycling|Trash Night]]  -  Take out the trash and compost for Tuesday morning!&lt;br /&gt;
** 17:00-19:00 [[Taste Bridge and Free School Cooking Class]] -  First Trial Run this Monday the 21st- theme is Mediterranean Cooking.  Featuring an integrated Basic Lesson in Arabic with Jack. http://www.sffreeschool.com/ &lt;br /&gt;
** 18:00 [[iPhone OS developer weekly meetup]] - We make teh applukashuns, joyn us 2 make dem 2! http://meetup.com/iphonedevsf&lt;br /&gt;
** 18:30 [[PyClass]] - Learn how to program using the Python programming language.&lt;br /&gt;
** &#039;&#039;&#039;19:00 [[Circuit Hacking Mondays]]&#039;&#039;&#039; - Learn to solder! Mitch will bring kits to make cool, hackable things that you can bring home after you make them.  Bring your own projects to hack! There&#039;s now an Audio Hacking Adjunct group that meets along with the Circuit Hackers. &lt;br /&gt;
** 19:00 1st and 3rd Mondays the BACE Timebank group meets to help organize community mutual aid by trading in equal time credits, wherever there is space. For more info. mira (at) sfbace.org or to join go to timebank.sfbace.org&lt;br /&gt;
** 21:00-22:00 [[Free School Chi Gong with Russel in the Church]] - Chi Gong is an ancient form of mind mind-body energy work similar to Tai Chi- think Standing Asian Yoga &lt;br /&gt;
** 22:00-24:00 [[Free School Utopian Films Club]] - Each Monday at 10 we&#039;ll be hosting the screening of a different Utopian film, followed by a discussion. Our first trial meeting the 21st we&#039;ll be showing the new Zeitgeist film http://www.zeitgeistmovingforward.com/&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Tuesday&#039;&#039;&#039;&lt;br /&gt;
** 12:30 [[Django Study Group]] - install and use the Django Python-based web framework, Turing classroom &lt;br /&gt;
** 15:00 [[Linux System Administration Study Group]] - Study Linux admining in the Turing classroom.&lt;br /&gt;
** 18:00 [[Tastebridge]] Cooking Class. Come and lets share together what we know about preparing delicious dishes. &lt;br /&gt;
** 18:30 Bay Area Community Exchange Project Roundtable Meeting (third Tues. of every month)-discussion of alternative currencies in the back classroom.&lt;br /&gt;
** 19:00 [[ruby_class|Ruby Class]] 7pm-9pm&lt;br /&gt;
&amp;lt;!--On haitus? Pls update ** 19:00 [[Origami|Learn You A Origami!]] - Learn how make folded-paper models. Beginners welcome!--&amp;gt;&lt;br /&gt;
** 19:30 [[Probability]] study group&lt;br /&gt;
** 19.30 [[Show and Tell]] -- Show your latest and greatest projects and hacks (working or in-progress), just before the weekly meeting. We meet in the Electronics Lab/Main Space.&lt;br /&gt;
** &#039;&#039;&#039;20:00 [[#Meetings|Noisebridge Weekly Meeting]]&#039;&#039;&#039; - Introducing new people and events to the space, general discussion, and decision making.&lt;br /&gt;
* &#039;&#039;&#039;Wednesday&#039;&#039;&#039;&lt;br /&gt;
** 18:00 [[LinuxDiscussion|Linux Discussion]] - Play with Linux in the Turing classroom.&lt;br /&gt;
&amp;lt;!--Weekly? Pls update ** 17:00 [[BarCamp Staff Meeting]]  - Meeting for BarCamp Staff to discuss plans for San Francisco BarCamp.--&amp;gt;&lt;br /&gt;
** 18:00 [[Tastebridge]] Our brewing classes are happening for more than 8 months already and knowledge and master craft is accumulating ...&lt;br /&gt;
** 19:00 [[SCoW]] - Sewing, Crafting, Or Whatever! Come make cool stuff with geeks.&lt;br /&gt;
** 19:30 [[Machine Learning]] - Teach computers to learn stuff using artificial intelligence and other techniques.&lt;br /&gt;
* &#039;&#039;&#039;Thursday&#039;&#039;&#039;&lt;br /&gt;
** [[House_Keeping#Trash_and_Recycling|Trash Night]]  - Take out the trash for Friday morning!&lt;br /&gt;
** 19:30 [[Games]] - Play games with geeks.&lt;br /&gt;
** &#039;&#039;&#039;20:00 [[Five_Minutes_of_Fame | Five Minutes of Fame]]&#039;&#039;&#039; (3rd Thursdays)&lt;br /&gt;
* &#039;&#039;&#039;Friday&#039;&#039;&#039; &lt;br /&gt;
** 12:30 [[Django Study Group]] - install and use the Django Python-based web framework, Turing classroom &lt;br /&gt;
** 15:00 [[Linux System Administration Study Group]] - Study Linux admining in the Turing classroom. &lt;br /&gt;
** 19:00 [[Science, Engineering &amp;amp; Design Huddle]] - Weekly group to discuss design approach, share techniques, and solve any problem you may be having with your project(s).&lt;br /&gt;
* &#039;&#039;&#039;Saturday&#039;&#039;&#039;&lt;br /&gt;
** 16:00 [[Pwn Your Own]] - Pwn Your Own is your chance to learn about every day security threats to every day internet activities. Designed for hackers at all levels, (1st Saturday).&lt;br /&gt;
* &#039;&#039;&#039;Sunday&#039;&#039;&#039;&lt;br /&gt;
** 14:00 [http://baha.bitrot.info/ Bay Area Hacker&#039;s Association - security meeting] (2nd Sundays)&lt;br /&gt;
** 15:00 [[Go]] - Playing of the Go boardgame. On nice days we often take the boards to Dolores Park and play there.&lt;br /&gt;
** 15:00 [[Locks!]] - Lock sport, sundays when there is demand. ( See [[locks!]] for more information. )&lt;br /&gt;
&amp;lt;!--Happening? pls update ** 17:00 [[Rsync Users Group]] - A twelve step program for those who have poor *nix habits.--&amp;gt;&lt;br /&gt;
** 18:00 [[Spacebridge]] - Noisebridge&#039;s space program&lt;br /&gt;
** 18:00 [[Code Bridge]] - Codebridge projects get help writing code or help others with their code&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/onlyinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Proposed Future Events and Classes ===&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Probability]] - Weekly probability study group based on [http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-041-probabilistic-systems-analysis-and-applied-probability-spring-2006/related-resources/ Fundamentals of Applied Probability Theory] by Al Drake&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[German]] - Learn German, all levels. 7pm beginners, 8pm advanced. RSVP 24 hours in advance for the benefit of the instructor. Events ran May-November 2009 on Mondays. Currently on hiatus. Get on the mailing list.&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Mandarin Corner|Mandarin]] - Learn or practice Mandarin, all levels. Also currently on hiatus. Get on the mailing list.&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Movie Night!]] - [[User:ThOMG|Thom]] wants to build community through nerdy sci-fi! (+Bill+Ted+Excellence++)&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Introduction to the AVR Microcontroller]] - [[User:Mightyohm|Jeff]] and [[User:Maltman23|Mitch]] are planning an introductory class for people wanting to make cool projects with AVRs.&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Basic Chemistry Lab Techniques]]&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Cuddle Puddle for the Economy]] - Stress-hacking with informal massage exchange.&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Milk and Cookies]] - Come read your favorite selections out loud. With Milk and Cookies (and yeah, probably beer too).&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Processing Workshop 2]] - [[User:Scmurray|Scott]] is interested in teaching this, and is busy thinking about what, where, when, why, and how.&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;:  [[Hack your Hardware]] -- We call BS on &amp;quot;no user-serviceable parts inside&amp;quot;&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Homebrew Instruction Class]] - The Wort (pt 1/3)&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Trip to Shooting Range]] - Field trip to a shooting range, to shoot guns.  Express interest at [[Trip to Shooting Range]]&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Surface Mount Soldering Workshop]] - Learn how to solder cicuits with small surface mount parts.  [[User:maltman23|Mitch Altman]] and Martin Bogomolni and others will show their tricks.  [[User:maltman23|Mitch]] will bring hackable kits that uses surface mounts for you to solder.&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039; - [[Locksport and Lockpicking]]&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039; - [[Version control tutorial]]&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039; - [[Foreign language learning for rocket scientists]] - I&#039;m near-native (fool people when I try) in (French and) Japanese, and a pro trans/terpreter and will share my shortcuts (skill-order, vocab, speed/articulation, translation≅grammar). No expertise on tonal languages yet... so if you know how to remember tones or how tone-sandhi interacts with speed and/or how nuances of speaker attitude are expressed in them (what we do with rythm/inflection/sentence-intonation and stress in Eng., and with particles and ??? in e.g. Cantonese) please chime in or call me (415-608-0564) so I can convey your wisdom. [also looking for a from-scratch Arabic partner]&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Getting started with Arduino]]&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Distributed Databases]]&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Scrum Club]] - I though I&#039;d test the waters and see if anyone was interested in a noisebridge scrum club details are here http://scrumclub.org/scrum-clubs/ if inturested hit me up twitter: @theabcasian, facebook: http://www.facebook.com/theabcasian&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[CNC Mill Workshop]] - Who wants to make stuff on the [[MaxNCMill]]?&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Math &amp;amp; Science Help]] - If you would like some math, science or engineering help, I&#039;m down to lend a hand.&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Cyborg Group|Cyborg Group / Sensebridge]] - Work on projects like artificial senses.  Someone needs to lead this!&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[OpenEEG]] - Brain tech. Has historically met on Sundays, at the behest of interested parties.&lt;br /&gt;
:&#039;&#039;&#039;(TBD)&#039;&#039;&#039;: [[Programming_for_Poets | Programming for Poets]] -  Gentle intro to programming using Processing&lt;br /&gt;
&lt;br /&gt;
= Past Events =&lt;br /&gt;
===2010===&lt;br /&gt;
* &#039;&#039;&#039;Sunday, August 22, 19:00 CLUB-MATE DROPOFF AND TASTING PARTY&#039;&#039;&#039; Nick Farr will be in town to drop off Club-Mate ordered by San Franciscans!&lt;br /&gt;
* &#039;&#039;&#039;June 5th, 12:00-19:00 - [[NoiseBridgeRehab]]&#039;&#039;&#039; - Help make the space more usable and accessible! Noisebridge needs your help!&lt;br /&gt;
* &#039;&#039;&#039;June 5th, 16:00-20:00 - [[Science For Juggalos]]&#039;&#039;&#039; - Science Fair in front of the Warfield Theater teaching magnetism to Juggalos&lt;br /&gt;
* &#039;&#039;&#039;June 6th, 15:00 - [[AVC Meetup]]&#039;&#039;&#039; - Entrepreneurial bonding &amp;amp; matchmaking&lt;br /&gt;
* &#039;&#039;&#039;June 9th, 21:00 - Your liver supports Noisebridge&#039;&#039;&#039; - Come to Elixir @ 16th &amp;amp; Guerrero anytime after 21:00 and drink, drink, drink! 50% of tips go to Noisebridge&lt;br /&gt;
* &#039;&#039;&#039;February 27th, 20:00 - [[Hacker EPROM]]&#039;&#039;&#039; - Noisebridge&#039;s first prom! Nice tie and a (robot) date required. We will have a DJ and punch.&lt;br /&gt;
* &#039;&#039;&#039;February 24th, 19:00, Wednesday - Joris Peels, of [http://www.shapeways.com Shapeways]&#039;&#039;&#039;, and expert on 3D printing, will give a [[ShaperwaysPresentation | talk and demonstration]] at Noisebridge!.&lt;br /&gt;
* &#039;&#039;&#039;February 23rd, 18:00 - Cleaning day&#039;&#039;&#039; - Come and help clean Noisebridge, because everyone loves a clean hack space.&lt;br /&gt;
* &#039;&#039;&#039;February 12th, 21:00 - visit from Steve Jackson&#039;&#039;&#039;. Game designer [http://en.wikipedia.org/wiki/Steve_Jackson_%28US_game_designer%29 Steve Jackson], founder of Steve Jackson Games, will visit Noisebridge.&lt;br /&gt;
* &#039;&#039;&#039;January 27th, 18:00-20:00 - [[beatrixjar event|Circuit Bending Workshop]]&#039;&#039;&#039; - [http://www.beatrixjar.com/ Beatrix*JAR] (contact [[User:Gpvillamil|Gian Pablo]] for more info)&lt;br /&gt;
* &#039;&#039;&#039;January 27th, 20:00-22:00 - [[beatrixjar event|Circuit Bending Performance]]&#039;&#039;&#039; - [http://www.beatrixjar.com/ Beatrix*JAR] - &amp;quot;Celebrate a night of new sound that will change your idea of music forever!&amp;quot;&lt;br /&gt;
* &#039;&#039;&#039;January 25th, 19:30 - [[Bag Porn]]&#039;&#039;&#039; - What&#039;s in your bag?&lt;br /&gt;
* &#039;&#039;&#039;January 20th, 19:00-21:00 - [http://groups.google.com/group/bacat/about Bay Categories &amp;amp; Types]&#039;&#039;&#039; - Categories, monoids, monads, functors and more! Held in the Alonzo Church classroom.&lt;br /&gt;
* &#039;&#039;&#039;January 20th, 19:00 - [[User Experience Book Club SF]]&#039;&#039;&#039; - Our book this month is &amp;quot;A Theory of Fun for Game Design&amp;quot; by Raph Koster - http://is.gd/6sEqw (meets in Turing)&lt;br /&gt;
* &#039;&#039;&#039;January 21st, 20:00 - [[Five Minutes of Fame]]&#039;&#039;&#039; - Monthly set of lightning talks on diverse topics&lt;br /&gt;
* &#039;&#039;&#039;January 22nd, 17:00 - [[CleaningParty| Cleaning Party]]&#039;&#039;&#039; - Come help clean up Noisebridge! Awsum fun!&lt;br /&gt;
* ...January 14th,16th, and 17th 1:00- ??? Build Out day for kitchen/bathroom/laundry bring yourself and a good attitude, learn a few things as well&lt;br /&gt;
* &#039;&#039;&#039;January 15th, 18:00 - [[CNC_Mill_Workshop]]&#039;&#039;&#039; - Learn to use the CNC mill for 2D engraving and circuit board routing&lt;br /&gt;
* Thursdays 17:00 [[ASL Group|American Sign Language]] - Learn how to talk without using your voice (or just come chat in ASL). &amp;lt;small&amp;gt;[http://whenisgood.net/noisebridge/asl/generic click to reschedule]&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===2009===&lt;br /&gt;
* &#039;&#039;&#039;November 18th, 19:30&#039;&#039;&#039; - [[Dorkbot_2009_11_18|Dorkbot]]&lt;br /&gt;
* &#039;&#039;&#039;November 19th, 18:00&#039;&#039;&#039; - [[Mesh meetup]]&lt;br /&gt;
* &#039;&#039;&#039;November 19th, 20:00&#039;&#039;&#039; - [[Five Minutes of Fame]]&lt;br /&gt;
* &#039;&#039;&#039;November 20th, 18:00&#039;&#039;&#039; - Loud Objects [http://www.flickr.com/photos/createdigitalmedia/3428249036/ Noise Toy workshop].&lt;br /&gt;
* &#039;&#039;&#039;November 20th, 20:00&#039;&#039;&#039; - Performance by [http://www.loudobjects.com/ Loud Objects], (featuring Tristan Perich and Lesley Flanigan) and [http://www.myspace.com/jibkidder Jib Kidder].&lt;br /&gt;
:&#039;&#039;&#039;2009-11-05&#039;&#039;&#039; - [http://www.server-sky.com/ Server Sky presentation: Internet and Computation in Orbit] by Keith Lofstrom&lt;br /&gt;
:&#039;&#039;&#039;2009-11-05&#039;&#039;&#039; - [[Mesh meetup]]&lt;br /&gt;
:&#039;&#039;&#039;2009-11-02&#039;&#039;&#039; - [[French]] book club meeting to discuss  [http://www.amazon.com/exec/obidos/tg/detail/-/2842612892/ref=ord_cart_shr?_encoding=UTF8&amp;amp;m=ATVPDKIKX0DER&amp;amp;v=glance Une Si Longue Lettre]&lt;br /&gt;
: &#039;&#039;&#039; October 1st, 18:00&#039;&#039;&#039; - [[Wireless_Mesh_Network_Meetup | Mesh wireless meetup]]&lt;br /&gt;
: &#039;&#039;&#039; October 1st, 19:00&#039;&#039;&#039; - [http://groups.google.com/group/bacat Bay Area Categories and Types]&lt;br /&gt;
: &#039;&#039;&#039;2009-10-03&#039;&#039;&#039; [[Year 1 Open Hacker House]]&lt;br /&gt;
:&#039;&#039;&#039;Friday&#039;&#039;&#039;: [[CrazyCryptoNight]] - Discussion of cryptography for beginners through experts. 6-???&lt;br /&gt;
:&#039;&#039;&#039;Sunday&#039;&#039;&#039; : [[OpenEEG | OpenEEG Hacking]] Sundays, at 3-5pm.&lt;br /&gt;
:&#039;&#039;&#039;Tuesday&#039;&#039;&#039;: [[Haskell/Haschool]] - Learn Haskell with Jason Dusek.  6PM - 7:30PM, from May until we&#039;re all experts.&lt;br /&gt;
:&#039;&#039;&#039;Wednesday&#039;&#039;&#039;: [[Adobe_Lightroom|Adobe Lightroom]] - Become a more organized photographer. Weekly class (mostly held off site).&lt;br /&gt;
:&#039;&#039;&#039;Thursday&#039;&#039;&#039;: [[Professional VFX Compositing With Adobe After Effects]] - Taught by [[User:SFSlim|Aaron Muszalski]]. 7:30PM - 10PM, most Thursdays in May &amp;amp; June &amp;amp; ? (click through dammit)&lt;br /&gt;
:&#039;&#039;&#039;2009-09-17&#039;&#039;&#039;: [[Five Minutes of Fame]] 3D Edition&lt;br /&gt;
:&#039;&#039;&#039;2009-09-17&#039;&#039;&#039;: [[Wireless Mesh Network Meetup | Mesh wireless meetup]]&lt;br /&gt;
:&#039;&#039;&#039;2009-08-20&#039;&#039;&#039;: [[Five Minutes of Fame]] One Dee Edition&lt;br /&gt;
:&#039;&#039;&#039;2009-07-16&#039;&#039;&#039;: [[Five Minutes of Fame]] Zero Dee&lt;br /&gt;
:&#039;&#039;&#039;2009-07-02 - 2009-07-05&#039;&#039;&#039;: [http://toorcamp.org Toorcamp]&lt;br /&gt;
:&#039;&#039;&#039;2009-07-01&#039;&#039;&#039;: Noisedroid meeting to discuss location logging on Android platform (and other stuff too, I&#039;m sure)&lt;br /&gt;
:&#039;&#039;&#039;2009-06-30&#039;&#039;&#039;: [[Powerbocking Class|Powerbocking class]]&lt;br /&gt;
:&#039;&#039;&#039;2009-06-30&#039;&#039;&#039;: &amp;quot;Suing Telemarketers for Fun and Profit&amp;quot; (Toorcamp talk preview)&lt;br /&gt;
:&#039;&#039;&#039;2009-06-28&#039;&#039;&#039;: &amp;quot;Meditation for Hackers&amp;quot; (Toorcamp workshop preview)&lt;br /&gt;
:&#039;&#039;&#039;2009-06-18&#039;&#039;&#039;: [[Five Minutes of Fame]]&lt;br /&gt;
:&#039;&#039;&#039;2009-06-15&#039;&#039;&#039;: [[Eagle Workshop]]  Session two of the Eagle CAD workshop.&lt;br /&gt;
:&#039;&#039;&#039;2009-06-13&#039;&#039;&#039;: [[RoboGames 2009]] Noisebridge had a booth staffed by vounteers, great fun!&lt;br /&gt;
:&#039;&#039;&#039;2009-05-21&#039;&#039;&#039;: [[Five Minutes of Fame]]&lt;br /&gt;
:&#039;&#039;&#039;2009-04-27&#039;&#039;&#039;: [[EagleCAD workshop]] -- learn to use this CAD tool for printed circuit board design&lt;br /&gt;
:&#039;&#039;&#039;2009-04-16&#039;&#039;&#039;: [[Five Minutes of Fame]] April showers &amp;amp; flowers edition&lt;br /&gt;
:&#039;&#039;&#039;2009-04-11&#039;&#039;&#039;: [[RFID Hacking]] weekend workshop  (this event moved from the original March date)&lt;br /&gt;
:&#039;&#039;&#039;2009-04-05&#039;&#039;&#039;: [[First aid and CPR class]] Learning how to not only not die, but also reduce scarring!&lt;br /&gt;
:&#039;&#039;&#039;2009-04-03&#039;&#039;&#039;: [[Sudo pop]] 2PM and on. Making the first batch of a Noisebridge label yerba mate-niated rootbrew, gratis and DIY&lt;br /&gt;
:&#039;&#039;&#039;2009-03-26&#039;&#039;&#039;: [[OpenEEG | OpenEEG Hacking]] first meet up for this new group: 8 pm&lt;br /&gt;
:&#039;&#039;&#039;2009-03-19&#039;&#039;&#039;: [[Five Minutes of Fame]]&lt;br /&gt;
:&#039;&#039;&#039;2009-03-12&#039;&#039;&#039;: [[OpenBTS and GSM]] talk by David Burgess&lt;br /&gt;
:&#039;&#039;&#039;2009-02-14&#039;&#039;&#039;: [[Open Heart Workshop]] Valentine&#039;s Day blinkyheart soldering party! &lt;br /&gt;
:&#039;&#039;&#039;2009-02-13&#039;&#039;&#039;: [[Time-t_Party|&amp;lt;tt&amp;gt;time_t&amp;lt;/tt&amp;gt; Party]] to celebrate 1,234,567,890 since the Unix epoch.&lt;br /&gt;
:&#039;&#039;&#039;2009-02-09&#039;&#039;&#039;: [[Spanish learning at 8:30]]&lt;br /&gt;
:&#039;&#039;&#039;2009-02-05&#039;&#039;&#039;: [[PGP Key Workshop]]&lt;br /&gt;
:&#039;&#039;&#039;2009-01-31&#039;&#039;&#039;: [[Locksport and Lockpicking]]&lt;br /&gt;
&lt;br /&gt;
===2008===&lt;br /&gt;
:&#039;&#039;&#039;2008-12-27&#039;&#039;&#039;: [[25C3]] Chaos Computer Congress in Berlin&lt;br /&gt;
:&#039;&#039;&#039;2008-12-20 &amp;amp; 21&#039;&#039;&#039;: [[Creme Brulee]] Workshop on creating a french dessert, with bonus propane torch.&lt;br /&gt;
:&#039;&#039;&#039;2008-12-17 20:00&#039;&#039;&#039;: [[Machine Learning]] Birds-of-a-feather&lt;br /&gt;
:&#039;&#039;&#039;2008-11-24&#039;&#039;&#039;: [[Circuit Hacking Monday]] circuit design workshop&lt;br /&gt;
:&#039;&#039;&#039;2008-11-21, 7pm&#039;&#039;&#039;:[[Milk and Cookies]] -- [[User:Dmolnar|David Molnar]] hosts Milk and Cookies at 83C. Bring a short 5-7minute thing to read to others. Bring a potluck cookie/snack/drink if you like. David will bring milk and cookies.&lt;br /&gt;
:&#039;&#039;&#039;2008-11-17, 7:30pm&#039;&#039;&#039;: [[Basic Bicycle Maintain]] - [[User:rubin110|Rubin]] and [[User:rigel|rigel]] hate it when we see a bike that isn&#039;t maintained. Screechy chains and clacking derailleur can go to hell. Basic bike tune up, sharing the smarts on simple things you can do at home to make your ride suck a whole lot less.&lt;br /&gt;
:&#039;&#039;&#039;2008-11-16, 5:00pm&#039;&#039;&#039;: [[RepRap Soldering Party]] - help assemble RepRap!  RSVPs required on wiki! [[User:Adi|adi]]&lt;br /&gt;
:&#039;&#039;&#039;2008-11-16, 3:00pm&#039;&#039;&#039;: [[Oscilloscopes]] - Learn how to use this versatile tool to test electronic circuits.  Maximum 6 slots, please sign up ahead of time! [[User:dstaff|dstaff]]&lt;br /&gt;
:&#039;&#039;&#039;2008-10-31&#039;&#039;&#039;: [[Halloween Open House]] - NoiseBridge&#039;s own [[PPPC]] threw an awesome open house/halloween gala. Post pictures if you got &#039;em!&lt;br /&gt;
:&#039;&#039;&#039;2008-10-25&#039;&#039;&#039;: [[Soldering Workshop]] and Pumpkin Hackin&#039; - Learn to solder for total newbies (or learn to solder better!), including surface mount. Additionally, carve your halloween pumpkins and enjoy some experimental pumpkin pie and/or soup.&lt;br /&gt;
:&#039;&#039;&#039;2008-10-07&#039;&#039;&#039;: (tuesday before meeting) - Etch a circuit board. I&#039;ll be trying a photo resist etching and a basic printed mask etching. This is step 1/3 for a project called &amp;quot;annoying USB thingie&amp;quot; which will execute pre-defined keystrokes by sneaking a tiny USB dongle onto a victim^h^h^h^h^h buddy&#039;s computer.&lt;br /&gt;
:&#039;&#039;&#039;2008-09-13&#039;&#039;&#039;: [[Processing Workshop]] — Learn this very easy-to-use programming language! - [[Processing Workshop Report]]&lt;br /&gt;
:&#039;&#039;&#039;2008-02-16&#039;&#039;&#039;: [[Brain Machine Workshop|Brain Machine Making Workshop]]: Our first hardware sprint!&lt;/div&gt;</summary>
		<author><name>Owen</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=Poetry_%26_Science&amp;diff=13308</id>
		<title>Poetry &amp; Science</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=Poetry_%26_Science&amp;diff=13308"/>
		<updated>2010-10-12T02:30:48Z</updated>

		<summary type="html">&lt;p&gt;Owen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:Alchemy.jpg]]&lt;br /&gt;
&lt;br /&gt;
 Poet on the Verge of an Engineering Bug, or Engineer on the Verge of the Poetry Bug&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;For once, come serve the Muse and merge in verse, even as here I see thee&amp;quot; - Whitman&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is a page for poetry about science, technology and engineering. I envision it as place to create and discover metaphors that bridge these two very disparate spheres of human existence and human thinking. More than that, it is place to engage or re-engage with language and with language metaphors.&lt;br /&gt;
It is a page to turn to when technical language becomes dry and abstracted from its radical roots.  I hope this wiki page also addresses the question of How do we build bridges, through language, between the known object and symbol and that which is unknown or linguistically imprecise? This dialogue, I further hope, will be a guide to that process of building language bridges, linking words, forms and images in poetic discourse to technical usage and expressions. Construct and burnish your language for your: &lt;br /&gt;
&lt;br /&gt;
* Wiki pages&lt;br /&gt;
* Web pages&lt;br /&gt;
* IPhone apps&lt;br /&gt;
* Games&lt;br /&gt;
* Proposals&lt;br /&gt;
* Brochures&lt;br /&gt;
* and other online and written media&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The word metaphor itself comes from the Greek to &amp;quot;carry across&amp;quot;. We carry across meaning from words and ideas we know to new constructions of meaning. Poetry is a vehicle and bridge for metaphors and other touchstones of the imagination. In that sense the discussion and poems here broaden and extent the NoiseBridge metaphor: this page could have just as well been titled PoetryBridge or WordBridge.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I start with some more traditional poems to begin the bridge-building process. Why traditional poems? Many of them have a lot to offer despite their age and their often pre-computer social contexts. The poets nonetheless gave a great deal of thought to the science and technology of their era, quaint as it may seem to us now. Here are few poems and some thoughts:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Poet to Physicist in His Laboratory]]&lt;br /&gt;
&lt;br /&gt;
[[To a Locomotive in Winter]]&lt;br /&gt;
&lt;br /&gt;
[http://www.americanpoems.com/poets/Richard-Brautigan/72 All Watched Over by Machines of Loving Grace]&lt;br /&gt;
&lt;br /&gt;
[[http://www.sanfordundergroundlaboratoryathomestake.org/index.php?option=com_content&amp;amp;view=article&amp;amp;id=161:updike-the-neutrino-poet&amp;amp;catid=2:general-news&amp;amp;Itemid=19 Cosmic Gall]] - John Updike&#039;s poem about neutrinos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
The Norton Anthology of Modern Poetry, 2nd edition,&lt;br /&gt;
by Ellmann and O&#039;Clair&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Verse and Universe, edited by Kurt Brown&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Heart Aroused: poetry and the preservation of the soul in corporate America, David Whyte - A detailed look at the soul of the workplace, from a poetic, spiritual and mythological perspective.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The New Princeton Encyclopedia of Poetry and Poetics, edited by Alex Preminger and T.V.F. Brogan&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.poetryflash.org/] - Poetry Flash, a local zine with local and regional events, interviews, readings, and much more.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://www.poetryfoundation.org] - The Poetry Foundation&lt;/div&gt;</summary>
		<author><name>Owen</name></author>
	</entry>
	<entry>
		<id>https://wiki.extremist.software/index.php?title=Poet_to_Physicist_in_His_Laboratory&amp;diff=13234</id>
		<title>Poet to Physicist in His Laboratory</title>
		<link rel="alternate" type="text/html" href="https://wiki.extremist.software/index.php?title=Poet_to_Physicist_in_His_Laboratory&amp;diff=13234"/>
		<updated>2010-10-06T23:35:17Z</updated>

		<summary type="html">&lt;p&gt;Owen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Back to [[Poetry &amp;amp; Science]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:cern01.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Poet to Physicist in His Laboratory&lt;br /&gt;
&lt;br /&gt;
by David Ignatow&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-family:monobook,serif;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Come out and talk to me		           INVITATION&lt;br /&gt;
for then I know		&lt;br /&gt;
into what you are shaping.&lt;br /&gt;
Thinking is no more,&lt;br /&gt;
I read your thoughts for a symbol:&lt;br /&gt;
a movement towards an act.&lt;br /&gt;
I give up on thought                             RETHINKING&lt;br /&gt;
as I see your mind&lt;br /&gt;
leading into a mystery&lt;br /&gt;
deepening about you.&lt;br /&gt;
What are you trying to discover&lt;br /&gt;
beyond the zone of habit&lt;br /&gt;
and enforced convention?&lt;br /&gt;
There is the animus&lt;br /&gt;
that spends itself on images,&lt;br /&gt;
the most complex being&lt;br /&gt;
convention and habit.&lt;br /&gt;
You shall form patterns                         PRESCRIPTION&lt;br /&gt;
of research and bind yourself&lt;br /&gt;
to laws within your knowledge,&lt;br /&gt;
and always conscious of your limitations&lt;br /&gt;
make settlement,&lt;br /&gt;
with patience to instruct you&lt;br /&gt;
as it always does&lt;br /&gt;
in your research: an arrangement&lt;br /&gt;
spanning an abyss of time,&lt;br /&gt;
and you will find yourself patient&lt;br /&gt;
when you are questioned.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Comments and Notes ==&lt;br /&gt;
&lt;br /&gt;
This poem is an invitation to a dialogue between the speaker (a poet) and a physicist. The title and first line make this explicit: &amp;quot;Poet to Physicist...&amp;quot; and &#039;&#039;Come out and talk to me.&#039;&#039; This is an invitation for the physicist to emerge from his laboratory and engage with the poet. The speaker wants to know the &amp;quot;shape&amp;quot; of the research occurring in this laboratory; the word shape is peculiar in this context. It could be the research, as we would normally expect, or it could refer to the physicist herelf, oddly enough. To the poet, the physicist&#039;s word is full of symbols and mysteries. The attempt to build a bridge from the Humanities to the Sciences, as the speaker conveys it, is an invitation but also an acknowledgement of frustration. There are mysteries, perhaps encoded in the abstract symbols of mathematics, that the poet cannot access.&lt;br /&gt;
&lt;br /&gt;
The dialogue quickly becomes a monologue or even a soliloquy. The physicist seems to have no voice of his own in this narrative poem. The title, then, may be more literal than it seems at first: a one-way discourse from poet to physicist caged in his cavernous and unfathomable laboratory. Initial curiosity turns into an &amp;quot;animus&amp;quot;. The long final line of the poem turns into a prescriptive warning, a credo. It recalls the Church&#039;s inquiry into Galileo&#039;s innovative but heretical experiments of the heavens. This is a reactionary poet, perhaps, speaking from a position of fear and speaking with a disturbing turn of tone. We feel a growing sympathy for the unseen, voiceless physicist hemmed in from all sides. I like this poem because it is challenging and claims no simple moral agendas.&lt;br /&gt;
&lt;br /&gt;
== Questions for Discussion ==&lt;br /&gt;
&lt;br /&gt;
1) What type of physicist does the poet refer to in the poem? Do you think the poet had a particular physicist in mind when he wrote the poem? Which of these physicists do you think he had in mind (Oppenheimer, Einstein, or Teller)?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:RO.jpeg]] [[Image:AE.jpeg]][[Image:ET.jpeg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2) Is a physicist representative of the general scientific community, now or in the past? What type of scientist what you have addressed instead and why (e.g. molecular biologist, nuclear engineer, stem cell biologist, etc.)?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3) Do you think this is a realistic dialogue/monologue between these two role types? How would the dialogue differ if instead the physicist had been the biologist Charles Darwin?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4) Have you had a similar dialogue or experience when trying to explain your research/engineering/software project to a non-scientist? How about when trying to explain your research to your friend, your relative, your mother? What obstacles in perception and comprehension did you encounter? How did you overcome them?&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
The Man Who Saw Through Time, Loren Eiseley. About Sir Francis Bacon, scientific visionary under Queen Elizabeth I.&lt;br /&gt;
&lt;br /&gt;
Any of numerous books about Robert Oppenheimer and the atomic bomb.&lt;br /&gt;
&lt;br /&gt;
Genius: The life and Science of Richard Feynman, James Gleick. About Richard Feynman, his work on the atomic bomb, and his later speculations on physics.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Back to [[Poetry &amp;amp; Science]]&lt;/div&gt;</summary>
		<author><name>Owen</name></author>
	</entry>
</feed>