Unboxed and rooted…
…bloatwear wiped. Going to research ROMs a bit, but will likely be on CGM7.1 in two shakes of a lamb’s tail.
My off-the-cuff remark about building an auxiliary bilirubin light manifested itself into a quick project.
In order to approximate the specific color of the bilirubin lamp, I figured that I would need to provide a means of setting PWM values for the three inputs. I had hard-coded values in Arduino code in the past, so thought about taking that route initially. I blew the dust off my Duemillova, fired up the Arduino IDE, and promptly decided to modify my Java servo PWM code to do the job.
Sort of growing attached to the IOIO…sorry Arduino.
So, the controller was born…IOIORBG.
Hit the bump for a video and some more info…
Continue reading
My relationship with Motorola’s firmware has ended. It was a good run…well, no. That is a lie. It was certainly better after rooting my Droid 2 and wiping out Verizon’s boatware, but the Moto* junk had to go too. I finally decided to gut everything and install Cyanogenmod yesterday.
It is plus one awesome.
Although the process of flashing Cyanogenmod’s firmare involves a little work, it is no more difficult than rooting the phone in the first place. Since I did that a while ago, I really wasn’t concerned with blowing up my warranty…I figured bricking the thing would either result in some sweet haxxing or a new phone. Win / win.
I would suggest an upgrade to anyone. My phone finally screams, as it should have from day one. My battery life is better | everything imaginable is configurable | my apps and Google accounts all work | and, wait for it, I don’t have to kill processes all day. In fact, I don’t have a stand-alone task killer going…that is pretty surreal still.
Well, as with any exercise of this nature, backing up is imperative. Astro File Manager is great…Titanium Backup is great. The other players are the same too…ClockworkMod Recovery makes snagging the MODs easy. I am actually running a daily build, since there is not an official stable build for the Droid 2 yet. No memory leaks though, and everything so far has been functional.
Anyhow, on to the actual firmware stuff. I downloaded the zip file, and booted into recovery mode…
Great picture, huh? This is the first time I have used my webcam since upgrading to Ubuntu 9.11. Whoops…screwed up the camera, fellas.
On the screen is a ClockworkMod selection for Google’s bits. I imagine that this was done for legal reasons. Anyhow, I had to go back and install this from recovery, as I missed it at first.
I also managed to get stuck in a boot loop of sorts during my first attempt. It turns out that I cleared the data but not the cache from the recovery menu. No good. A pulled battery and some troubleshooting and we were good to go.
I spun up the Android market, and did fresh installs of my apps. For the important stuff (the Angry Birds Trilogy, 9 Innings Pro Baseball, et. al.) I pulled the backup data back over top of things. No issues.
I had been wanting a landscaped workspace since I got my phone. .. now I know why…
It just makes sense. CM7 allows this to be configured. Like basically everything else. Want your menu on the bottom? Put it there. There are options all over the map…like the camera exposure, for instance.
Sweet. It is tough to beat the performance gains in general, but it is wholly possible. Check this out:
One stop overclocking. Disregard that popup and go nuts.
One part of me wishes that mobile carriers would take note of Cyanogenmod’s presence and push Android updates to customers. The other part of me likes to void warranties and do things that the clowns from Verizon frown upon. Either way, my phone is now awesome…that is all that matters.
I just doubled my Android Market presence with one fell swoop. IOIO project number two is in the books: IOIO Servo Controller.
This project is a one-off of the PowerSwitch Tail relay project I have out in the wild. I took the button out of the mix and implemented a slider bar…removed the relay and am now driving a hobby servo.
Displayed is the relative level (zero to one) of the slider, the slider itself, and a shameless plug. The onboard LED also fires with a brightness relative to the slider position…which I implemented in the coding and sort of left in there.
The basic concept was to get the PWM output configured correctly, in order to control the servo positioning…the slider function is pretty much just the stock slider from the Android Development docs, widened a bit for the sake of video capture. The rest was just mashing around the code I had out there…not too bad.
Check the thing in action:
This project is available for download in app form on the Android Market. Right next to my other guy…search for IOIO. I will toss the code on my GitHub account as well. Fun project…I may branch and see If I can do anything cool with a few servos. We’ll see.
Shoot any comments to joe(at)swantron(dot)com. I can help with any setup issues, if they may arise. Good luck…
I put together a simple proof of concept using a slider to control a PWM pin out…simple is an understatement.
Nice, right?
In doing this, I did a fresh download of the IOIO example apps, as I had gutted the Blink example for my 120V relay app. It turns out that there is a fresh firmware version…I grabbed the new IOIO library that is associated with that. So, my proof of concept doesn’t function…I tested it with an LED to no avail.
So, I have a few items to address before I push out another project
_
It should go smoothly, after the first bullet-point is in the books. Stay toooned.
Q. Am I dragging my feet with the whole IOIO code cleanup deal?
A. Take a look at this little pictorial dealio regarding soldering headers to my IOIO
Exhb 1:
Exhb 2:
Exhb 3:
I’ll get on that; you have my word. I am toying around with the idea of tossing the open drain app on both github and the Android Market, in order to throw some chum out to the crew of IOIO owners. We’ll see.
It was worth the wait…I now control 120V via my Android.
I had a mostly sleepless night, again. I managed to figure out what I had been botching while trying to provide enough juice to my PowerSwitch Tail. Transistors and alligator clamps are out; extra pins are in.
Take a look at the (awful quality) video…on the main page, as the picture quality won’t grind loading to a halt.
I still need to toss some headers on the IOIO, and take some clips out of the picture for a better picture of what I did here. Look for that shortly, along with a snippet. Pretty straight forward, but we’ll have to see where this one ends up.
I am still horsing around with Google+ on my Droid 2. A few posts back, I lambasted the Instant Upload feature. The whole idea of tossing geo-location-having pictures onto Google’s servers seems awfully odd to me.
As this feature is ‘featured’ in Google+’s Android app, I figured I would play around with it some more, in order to gauge its evilness. The jury is still out.
It does work as intended. I snapped a few pictures of my fancy breakfast in my cubicle, with the Instant Upload activated, with the Battery Uploads selection…
Surely enough, once I plugged my D2 into the charger, it began to sync/upload. Within several seconds I was notified of my complete upload to G+. So, while I am still unsure of the impacts of this feature, I am impressed by its function. Google’s devs hit the ball out on the park with this one, in regards to pure functionality. Especially, as the Android Facebook and Twitter apps are rough at best. Hats off.
Expect a full review of G+ in the near future.