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

broken-out

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 Progress: H-Bridge

I thought I could get away with utilizing the onboard 6V from my cannibalized motion platform…aka the orange thing…in order to power both the DC motors and my IOIO. My bluetooth connection was cutting out…indicating that I needed to introduce a separate power source for the board and for the motors.

My workaround didn’t pan out…time to rethink the build. Guess what I have on my desk:

ioio motor shield

yoink

Adafruit Motor Shield for the Arduino. Two good looking H-Bridges staring at me….that’ll do. I never thought I would find myself treating my Arduino gear as a scrapheap, but the day has come.

The H-Bridge will allow me to cross over (think of a capitol H) and provide bi-directional motion from the hardware level. 3.3V digital outputs…no more open drain needed (bonus.)

h bridge pins

h bridge pins

Anyhow, I ended up putting together a little test board…socket, some male pins, and eventually some wires for a more secure connection. Sucking some serious soldering fumes…

test board modified

custom mod

It looks sloppy, but here is the hardware in its entirety:

the setup

+1 great holder

Here is a quick video of my testing. I fired up my IOIOSeek program, which has two simple digital outputs triggered via buttons…

Early success? Yep. Except for the early part…this has been more work than I had assumed. More EE work…hoping the UI and hardware containment goes smoothly. Tune back in.

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…

Precision Soldering

I am going to have to wait until my caffeine levels are at some sort of equilibrium before I tackle this series of wire joints…

precision soldering

thin wires are thin


…this is where I stopped. I may be spending more time playing the new Zelda, and less time freezing balls in my lab working on my IOIO project. I’ll get on it.

Bluetooth Servo Control Redux

The project is wrapped. I have fully shown servo control via bluetooth, via Android, via IOIO. +3 via

usb b gone

no hands

The easiest way to test this, by far, is to snag the app on the Android Market. Here:

servo bluetooth

market-y

This does require a newer version of the IOIO bootloader than is currently shipping from units at Sparkfun, but details can be tracked down at this Google Groups area on how to update. It will work standardly, with a USB cable.

From there, you can take a look at my code on GitHub.

push to git hub

pushed

I haven’t included the IOIO libraries, but that will be part of the Eclipse setup if you decide to start hammering out some code. I can provide some guidance if anyone is in need of any.

Take a look. I bumped the SDK minimum again, in order to ensure that this function is intact. If this causes any hardship, I can relax the requirement.

Anyhow, take a look at the app in action in the previous post. Cheers.