It works! Pretty darn well in fact!
Although I did have a couple of minor problems when I had assembled the board.
First, I could not connect to the BLE112 module with the CC Debugger in order to load firmware onto the Bluetooth module. Not so good... I spent quite some time tracing the connections of the programming header and the BLE112 module and comparing with the prototype but everything seemed to match so I feared I had a malfunctioning BLE112 module. Which would bad since those are by far the most expensive part and not easy to unsolder – in fact, it would probably require ordering more parts and building a completely new board. However – a bit more connection tracing, this time at the pins of the 2.54 to 1.27 mm adapter board attached to the CC Debugger, revealed that there was a faulty ground connection. It looks like it's the pin on the programming header itself that has a poor connection. Fortunately I can fix this by making a temporary green-wire fix (by temporary I mean hand-held) while programming the module. Whew!
Then came the next problem. I had actually discovered this when I was assembling the board: I had forgotten the 4k7 Ω pull-up resistors for the I2C interface of the EEPROM! Doh! And it turned out that the ATmega couldn't communicate with the EEPROM. This was easily fixed, however, by simply activating the ATmega's pull-ups for PC4 and PC5.
With the problems fixed, everything worked like a charm. With all IR LEDs in place the range is excellent (tough I have yet to see if I can control the neighbors' TV sets :). And it looks just awesome in its laser-cut acrylic case with countersunk screws and threaded insets (so no screw heads or nuts protrude from the case).
There is still a bit of iOS app programming remaining, like converting the app to a universal app so it'll run on iPad as well as iPhone.
Enjoy the pictures – click for full-size version:
While the PCB is getting made, I've done some work on the enclosure.
It is being made from five layers of 5 mm transparent acrylic from Ponoko.The layers are held together by M3 countersunk machine screws. While the front and middle layers have 3 mm holes for the screws, the rearmost layer has 4 mm holes for fixing the screws by using threaded insets. The rearmost layer also has three holes for mounting the PCB. The PCB will also be mounted with M3 screws into threaded instets and lifted a bit off the back using nylon spacers (which I need since there are a couple of through-hole parts).
The opening in the bottom of the middle layers are for the DC power plug.
(Click for large versions.)
And here's a short animation – click to play video:
For another project (that I have shamefully neglected to write about) I decided I needed to put it into some kind of enclosure. And I since I couldn't find any off-the-shelf enclosures that fit I decided to make my own.
A little bit of googling let me to Shapeways that lets you create 3D printed models from your own 3D files in several different materials.
The models themselves can be created in pretty much any 3D modeling application (including the free SketchUp or Blender). I used Luxology's modo.
Obviously, exact dimensions are important. So I got PCB dimensions and coordinates from Eagle and used a caliper to measure the size of the battery and plugs and so on. And I created dummy objects for the battery and the PCB to make sure that everything fit. This is what I came up with:
The stand-offs have 4.1 mm holes for threaded inserts to use with M3 machine screws (like these ones from RS).
And here with the dummy objects visible:
I exported the object to Wavefront OBJ format and uploaded it to Shapeways (I needed to rotate 90 degrees about the X-axis first in order for the preview image to render correctly on Shapeways) and specified the units as meters (since that's what modo uses by default).
The price came to €20.14 plus shipping (€8.38 for UPS shipping) for "white, strong, flexible" material. So now it's just wait and see how it turns out.
Bear in mind, that this is my first attempt at making a 3D printed object. I haven't even smoothed the edges or added support ribs or anything. Not to mention that I have only made the bottom part of the enclosure (it does however have a "lip" for mating with the top half).
For a much nicer custom enclosure, take a look at this one (also on Shapeways).