Starfield Coffee Table

Coffee Tables Are Boring

In order to fix this insidious (and totally contrived) problem, I decided to make mine significantly more interesting by adding about 400 feet of fiber optic filament, some stepper motors, and an Arduino controller.

The first step was to drill all the holes (over 350 of them). It seems somewhat easy to put random holes in a table, however, it turned out to be surprisingly difficult. My brain favors order and consistency far too much and I found that I was filling open spaces and attempting to distribute all of the holes evenly.  I wanted the pattern to be truly random so I threw hundreds of BBs on the table and marked where each one was before drilling. It was a lot of work and made a huge mess, but it did make a good pattern.

These actually were un-hydrated "Orbs" (super-absorbent, polyacrylamide polymers), but that is irrelevant.

These actually were un-hydrated “Orbs“, but I suppose that is irrelevant.

The holes were drilled, the fiber was inserted and glued, and the loose ends were bundled together and cut flush with each other. This took a LOT longer than you might think because I did not want to just grab the filaments at once and tie them together. This would cause the color changes to sweep across the table in a linear motion. I wanted the color to appear from all over the table at once so the transitions did not look mechanical. I did this by grabbing smaller bundles of 8 or so filaments together (2 from each quadrant on the back of the table) and zip-tying them together. This way, when I put the small groups together in the final bundle, it was unlikely that any given filament in the bundle (where the light is coming in) was adjacent to a ‘near by’ filament on the table surface. (probably sounds excessive, but it was worth it in the end)

Bundling the filaments.

The filaments from each quadrant (green zip-ties) were joined and added to the main bundle (orange zip-ties).

When it was done, it looked like this…Underside of table

Here are some long-exposure pictures of the table being lit-up with a laser (it is easier to see the filaments this way – plus it is just way-cool to see)

Using a laser to light up the filaments.

Using a laser to light up the filaments.

And here is the exact same thing with an ultraviolet laser… (just too cool to not show)

UV laser front and back

Next two motors were installed: one controlled a color wheel and the other controlled an interference pattern to create a twinkling effect. The motors come with the ULN2003 driver boards which were controlled with an Arduino Uno.

The motors will spin 2 acrylic disks in front of the LED for color and interference.

The motors will spin 2 acrylic disks in front of the LED for color and interference.

I used SketchUp to design a mounting bracket for the circuit boards. This made it easy to mount all 3 of them anywhere without putting strain the wiring or fibers.

Printed circuit board mount.

Printed circuit board mount.

Here is the final circuit mounted on the bracket:

A prototype board is sitting on top of the Arduino.

A prototype board is sitting on top of the Arduino. The red blocks off to the right are used to hold fiber optic lines directly over the existing LEDs on the motor driver boards.

I wanted to control the speed and direction of the motors so I could see what patterns and colors looked the best (for future projects) so I built a control panel that extends from the bottom of the table. In order to stop the motors, a pause button was added for each that calls an interrupt on the Arduino.

The motor driver boards each have 4 red lights on them to indicate the speed and direction of the motor. They are useful to tell what is going on under there, but I didn’t want them blinking away and lighting up the underside of the table. Instead of removing them, I covered them up (with a printed housing) and ran fiber optic filament back to the control panel so they were still visible but only as tiny dots.

The little white dots are the fibers going back to the motor control LEDs.

The little white dots are the fibers going back to the motor control LEDs.

Control Panel and Circuit Board.

Control Panel and Circuit Board.

Here what the whole thing looks like mounted under the table…

Under Table Mount

Here is a video showing a flashlight lighting up the surface filaments:

Finally, here is a video of it in action…

I think it significantly reduced the feeling of “blah” that the table seemed to convey before the upgrade.

As an added bonus, I can set the color to “grass”, “lava”, or “water” when my daughter is playing on it with her action figures!



Recent Posts

Fetching data

I’ve been trying to hone my programming skills a little and became fascinated with the idea of APIs.  That is, sending a request to a remote server or database and receiving back a big stack of data that you can parse and do interesting things with.

Since I had a domain name that I’ve been sitting on for the last 7 years it seemed like a good time to try to implement an API call online and display the results.

I have lots to learn/add/improve still but if you visit:

entering a search term will request info from ebay’s database for your keywords and return the (most-watched, US only, links included ) results which are then arrayed onto the page.

The results are also affiliate-linked so if purchases are made I would then proceed to rake in mad pennies.  If you’re in the market for a fleet of ebay yachts then please do visit the site.




  1. Cedar crystals Leave a reply
  2. Quick visualization of magnifications Leave a reply
  3. Guide the light Leave a reply
  4. If at first Leave a reply
  5. Slime vat Leave a reply
  6. electric guitar in a half hour Leave a reply
  7. High voltage wood burning Leave a reply
  8. Building a CNC router Leave a reply
  9. Metal melting Leave a reply