RBG LED Controller

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.

rbg led


Hit the bump for a video and some more info…
Continue reading

Android Side Project

Much like the girl has decided to keep at the in-womb thing, I have decided to keep at the Java thing. Little brat. I decided to figure out how to dump accelerometer / orientation data off of the phone, for use with the IOIO.

In short, I am roughly attempting to see how the data exists in its natural state, in order to figure out how to scrub and interface with my physical components.

android side project beta

warning beta stage warning

So far, I have nice looking code that blasts a force close scenario. Great.

Anyhow, I’m hoping my time on this effort comes to a close and the girl decides to join us. Teamwork…I’ll code, she can practice her singing.

IOIODC Project Details

Consider this the conclusion of the IOIO DC motor experiment until further notice…

IOIO DC Motor Code

still ugly

I’m chalking this up as a success. Even though it is ugly and raw, I learned a ton mashing this thing together. Very fulfilling project from a nerd standpoint: I learned more Java, had to buckle down and do a little EE, kicked up the soldering skills a notch, and introduced a few more components’ features into my ghetto skill set.

My code is live on github with a preemptive v1.0 push…

IOIO DC Motor Code

IOIO DC Motor Code

I also dumped the apk to the Android Market as promised.

Pins 21 though 26, wired through the usual candidates on an H-Bridge. Contact me with any details…it should be very spec sheet-heavy though. The main stumbling point is with the power source, so keep that on the front burner.

Cheers. This may be my last time intensive project for some time. Hardware is time-costly…I am planning to take on the software project I have been contemplating between diaper changes and feedings. Look for some dad stuff in the mean time…

Remote Control Via Android

The motorized orange thing project is a wrap. Well, as wrapped as it will be for the time being…Katie is full term, so we are working on borrowed time. I managed to introduce remote control to the orange thing via Android and my IOIO board.

I found a goofy motorized alarm clock, Clocky, on Woot a while ago. My first thought was something along the lines of ‘that looks like a great thing to tear apart.’ The unit is designed to make a lot of noise, and drop off the nightstand when the alarm is triggered…key features are its ‘ruggedness’ and two-wheel design. Pretty slick platform for horsing around with my IOIO.

Once it arrived, I began ripping it apart:

clocky's guts

clocky's guts

My focus points were fairly straight forward…keep the drive train system intact, and gain control of the motor function. The stock power was via four AAA batteries, so I did some testing with my 3.3V outputs on the IOIO:

breakout to ioio


My 3.3V connections really made the unit crank. The on-board DC motors were fairly snappy…looked promising. I broke out the leads from the battery holder as well, figuring that I *may be able to drive the IOIO with the 6V. That is when thing got sort of dicey…I could run over a hard connection, but the current needs of the board / bluetooth setup was too great for this application.

I determined that I would need to introduce some technology, which ramped up the complexity of the build by a bit. Luckily, I had a Adafruit MotorSheild collecting dust on my bench. I scrapped one of the H-Bridge chips, and mounted it on a simple test board:

wires and dev boards

wires galore

This approach worked. DC motors are power thirsty little bastards…keeping my power sources isolated was the key to getting everything running w/o issues. Basic setup became this mess:

android ioio

proof of concep

Zip ties, electrical tape, Altoids tin, some swearing, etc. later…

ioio project finihed

fugly project is fugly

…weird orange thing is ready to roll. Check the video:

Down the road, I would like to turn orange thing into a mobile mount for the phone itself. The end-goal of this whole bizarre project would be to have a web-controlled vehicle with on-board video streaming. I need to do some research and figure out how to mash around the video feed…going to have to step the Java game up a few notches. That takes time, and spare time is not abundant…it could happen though.

I will dump this code on GitHub and throw the apk on the Android Market. Stay tuned.

Project Hardware Wrap Redux

So close…

vehicle debug

mid debug

I hit another snag with respect to my IOIO specs butting heads with actual power yield. An early success:

…followed by being unable to replicate via battery control, despite higher voltage. I might be running into a similar incident that I saw when putting together the PowerSwitch Tail project. I’ll get there…might have resisters coming out the ass, but I should be able to solve this issue with a creative open-drain setup as well. Tune in again…

CIQ Revisited: Root Your Phones

If there hasn’t been enough reason to root your phone and flash a custom ROM in the past, this whole CarrierIQ mess ought to be the death blow to factory junk. It is a rootkit, and it is ridiculous.



What does this thing do? All of this stuff from Verizon’s website:

Verizon Wireless will use the following categories of information:
Mobile Usage Information:

Addresses of websites you visit when using our wireless service. These data strings (or URLs) may include search terms you have used

Location of your device (“Location Information”)

App and device feature usage
Consumer Information:

Information about your use of Verizon products and services (such as data and calling features, device type, and amount
of use)

Demographic and interest categories provided to us by other companies, such as gender, age range, sports fan, frequent diner, or pet owner (“Demographics”)

How is this collected? CIQ logs it. In plain text, disregarding https, etc…read this article to be blown away by the degree of privacy infringement.

Moral of the story: root your phone. This garbage is unacceptable.