Working for Oracle

Same title; different managment; same cube; different name on the virtual paystub. The M&A is complete…I’m officially working for Oracle. Excitedly working, in fact.

working for oracle

oracle | right now

I find it amuzing that my employer is holding the reigns of Java. I initially started doing Android dev half-ly out of curiosity, and half-ly for career protection / growth. Now I am testing dot netty stuff for the guys who win most enterprise contracts and prevent dot nettiness from occurring in the first place. Sort of crazy, in a good way.

Cheers to new things…

Android Dev Teaser

Before the rugrat showed up, I managed to make some progress on my next project. I just realized that I hadn’t put together a teaser post, hence this quickie.

I started thinking about how to make a better UI to control my remote control via Android project. Instead of going with a touch base, I figured I could implement control utilizing the on-board orientation sensors.

This ultimately led to figuring out how to break said values out…a la this little app:

xyz

precisely

I wrote a simple app that dumps the sensor values of each x, y, and z axes, for values between -90 and +90 degrees.

The next step would to be to clean up the display, provide some visualizations, (graph-ish perhaps) and use the values to control something physical. No promises on the timeline, but if it gets to be too far out, I will dump this code on GitHub for general public perusal. Back to diapers…

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.

Bad Lab in Action

My enjoyable night of programming my IOIO slowly devolved into a digital multimeter-needing mess.

bad lab in action

bad lab

Either I am reading the spec sheet incorrectly, or this thing is wonky. I have implemented a pull-up resister, and *should be pushing 5V. In reality, I am seeing 3.8V…something is amiss.

Back to the drawing board.

IOIO Android Breakout Board

~~~~ WARNING: AWESOME ~~~~

My new thing has officially arrived. Both in the literal sense and philosophically. I love my Arduino, and I love my Android…now I can have the best of both.

Introducing, the IOIO breakout board…

ioio breakout board

+1 sleek

I snagged this guy from SparkFun. You know how the Android is full of stuff? Accelerometers, touch screen, GPS receiver, WiFi…etc? Instead of having to start from scratch for each of my Arduino projects to introduce components, this board will allow me to use the Android/Java as the backbone of my code, instead of using Processing/C++. And that, my friends, is +++.

Take a look at this awful-picture-quality-having video:

Sorry about that…I had to use Katie’s old BlackBerry to record the demo. It leaves much to be desired.

Anyhow, so far I have just managed to get Eclipse configured, and have uncovered several gotchas. The biggest obstacle was getting the permissions worked out and linking the libraries properly. When in doubt, chmod -R 777 * and let it rip. We’ll see what comes of this…could be cool once I dust off my Java skills.

Of note: pretty sure I am the first person to get this working on a Droid 2, and likely the first to set this up on Linux. It just shipped yesterday, so the sky is the limit on this…I am very excited. Big props to Ytai and SparkFun.