Monday, April 20, 2009

AmbX Uncasing

Inside the AmbX starter kit. Includes 2 satellite units and main wall washer. The insides are not too spectacular, although the board seems nicely made and isn't version nerfed. All capabilities of this washer control unit are present in the much more expensive kit that includes the sound system, silly fans and rumble keyboard wrest. I have my own audio system shared with my home theater so I wasn't interested in the speakers. If you opt for that system, the contents are 2 sat speakers for left and right which have RGB light domes on them, 1 subwoofer unit, 2 fans for left and right, and the same wall washer unit pictured here.

Inside of the unit, it appears there is great possibility for modification. The controller appears to be an 8051 MCU with integrated USB host. (datasheet) Also note the populated JTAG port!

I picked up this kit for around 50 dollars. The larger kit was just not interesting to me. First of all, the fans are just that, fans. (I took one apart in an evauation unit) The rumble pad is just a complete joke, it's either a hard block that's higher than your keyboard and uncomfortable or it's an earthquake/noise machine. I tested the full unit with Farcry2, an AmbX enhanced game and wasn't too impressed. I figure if I want the fans enough, I'll just make some, the pinout is straightforward into a PS2 looking connector. The fans blew when you sprinted in the game, or in my opinion, made up for the game sucking as much as it did. As I mentioned, the board does not look gimped or unpopulated in any way that would prevent anyone from hooking anything up to the extra outputs that are unused, including homemade fans. Rumble outputs with real home theater chair transducers anyone?

The software is the bad news, generally the drivers stink. I use Vista64 at work and I don't know if it was the driver version or what, but the AmbX driver/host application was using a whole core of a Core2Duo to flash its little lights while playing FarCry2. (Note these were OLD drivers) I haven't tested it too much here at home since I just got it, where I use Vista32. The first thing I did was dissect it. But the application and drivers are half baked for sure, after about a day of working with them. An app which was supposed to randomly cycle through mood settings as you used the computer conveniently disappeared after an update, and manually invoking (its exe) it hasn't work since I got it set up. (Although it did work on my eval at work) Even worse, Philips doesn't seem to want to have anything to do with this AmbX spinoff of its very nice AmbiLight tech. They sold the AmbX division to some VC company, where I bet it will be ground into soggy marketing mush to get as many units out the door before the whole thing folds. But here's where our communities prosper… The reason I bought this junk was because I believe in this technology, in its immersion qualities, and it has undeniable aesthetic effect for many settings. I have no hope for better drivers, much more game support, etc. But if it can average colors from desired quadants of the final framebuffer rendering a game, it should work in any instance. Its devices and GPIO can be made to do anything. It's drivers can be RE'd and proper ones made for general use or specific applications. I should mention with stock drivers, it does seem to function OK with Windows Media Center, so theoretically if you could not afford a nice Philips with AmbiLight, you can emulate it with this.

Following are some galleries of the software and disassembly, with pics of main chips. Have fun.

UPDATE: The CPU usage problems have been fixed with later driver revisions, but the software is still rather shoddy. The pics of the SW below are from the latest version. 64 bit drivers exist too, in case you were wondering. Also fixed mispelling of Philips, now they can have it easier when the subpoena comes claiming DMCA abuse. :)


Screen Captures
AmbX Disassembly

6 comments:

  1. Hey! I get my premium kit in today and am going to be working on cross-platform replacement drivers (Thanks for the pictures! now I don't have to pull mine apart :D ), with the end goal to be hooks into Max/MSP and Puredata. The initial code repository is at

    http://github.com/qdot/libambx/tree/master

    Nothin' in it yet though. :)

    ReplyDelete
  2. Shame they couldn't throw a few sleep() functions in to make it use less of the proc. It's certainly not proc-intense to read a few pixels, average their RGB, and send LED colors accordingly.

    ReplyDelete
  3. qdot: thanks! I'll help you out for sure.. I'm mostly interested in the mood aspect and using it for interfacing to other hardware projects like power system monitoring (glow based on live household current usage, etc) I think an audrino lib would be cool too. :D
    others: About the drivers and the CPU usage, that experience was with the very first driver revision, I think they have fixed it. It does work with every game in a basic sense, it shows up 'untested mode' and I do think it works based on the framebuffer color average. It really gives more immersion, check out some of the ambilight videos on Philips website. http://www.cinema.philips.com/?ls=gb_en http://www.youtube.com/user/PhilipsElectronics

    ReplyDelete
  4. First of all: thank you so much for dissecting your amBX set. I just got mine from a friend who could not get it to work and I figured that I ought to at least give it a try before trashing it.

    Thanks to your uncasing pictures, I knew how to get it apart and it turned out that the power switch was not connected to the power cable on the PCB.

    I fixed that by stripping the black and red cables and hooking them up to the PCB but still cannot get the set to run under Mac OS X or Windows (yes, using the official software).

    I noticed that there's a second "button" on the PCB, approximately where the red VGA connector is. When I press that, two LEDs(?) light up next to one of the black connectors, so I guess that it is not a power issue.

    Any thoughts on how I could trouble shoot this further? If you figure out a way, I'd be happy to donate some beer money!

    - Sam

    ReplyDelete
  5. Do you have a pin out for this board
    http://picasaweb.google.com/electrosthetics/AmbXDisassembly?authkey=Gv1sRgCLuk-K_rleKO4wE&feat=embedwebsite#5326978186530488306

    Thanks
    Mike

    ReplyDelete
    Replies
    1. Sure, here's a schematic even. Hope it helps.

      http://www.microlp.co.uk/amBX/wallwashercircuitdiag.html

      Delete