Skip to content

How to build a girlfriend-approved download box with a BBB – part 2

In Part 1 (way too long ago), we’ve set up a BeagleBone Black and put it in an old amplifier. It’s time to add some more about what happened during the past months.


During the past year I did experience some stability issues: Especially when the device was shut down brutally by pulling out the power cord. The main issue with that was that it corrupted the file system (EXT3 and 4).  “fsck -y” to the rescue. While booting, Ubuntu will typically execute a file system check, but will then require user input to fix it. With the -y flag, the fixes are applied automatically.

But that wasn’t the only stability issue: Sometimes I’d get random lockups. The BBB’s heartbeat LEDs would just stop, and so would the rest of the system. From the logs I could see some kernel panic was triggered and all went dead. I never was really able to find the cause, but I did manage to fix it: Do a kernel upgrade! This went surprisingly smooth and I’m not running 4.x kernel.

And the last part, not entirely stability, is that my current Ubuntu version is a pretty old one (14.4 LTS). This means that certain tools won’t provide updates (like transmission). This is where I learned the value of making backups (there’s a script to dump the entire memory contents on an SD card). I was happy when I found “sudo do-release-upgrade” that magically upgraded to the next LTS version. But then the issues started: basic things didn’t work anymore, and I couldn’t get them fixed. So, here I’ve learned to never upgrade between Ubuntu version. One day I’ll probably do a fresh install.


I needed a decent case for the NAS that could fit in the living room. An old, gutted amplifier came to the rescue. Here’s what that looked like:

Amplifier case housing the NAS, in its natural habitat

And when opening the box, we can see what’s exactly inside:

From top to bottom: The beaglebone black (attached with plastic standoffs), A 4 port USB 2.0 hub, A 1TB 3.5″ HDD, A 250GB 2.5″ SSD, The 12V and 5V power supply

The big change

But then came the end of 2017, where we decided to take a big step an move to Geneva, Switzerland. Of course such a move requires significant transportation, and a big amplifier box like this would just take up useless space. That’s when project “minify” started. I needed to shrink the box significantly. This was also ideal to upgrade the bulky 3.5″ hdd to a much smaller 2.5″ HD with 4TB storage.

If all would work out, the box could be shrunk to 20 x 8 x 7 cm which is absolutely tiny & the power supply could be reduced to an external 5V (3A). A first mock of the box showed it to be realistic, although it needed a bit of extra space for the wires.

I especially like laser cutting mdf wood, because you turn something 2D into a 3D object. Furthermore, Fablab in Leuven has multiple laser cutters that can be used for free! After multiple discussions with my cousin Robbe, we’ve settled on a basic design: A 2 layered box (the lower one for the drives, the upper one for the electronics), with a sliding door mechanism.

On the lookout for new tools to make the design digital, I soon got stuck and went back to trusty Sketchup. The FlightOfIdeas plugin allows you to define planes in your 3D model and export them to SVG. This works pretty well, but there are 2 constraints: Sketchup doesn’t know circular shapes. It approximates a circle with little segments. When laser cutting, you’ll hear that it’s not cutting a smooth circle, which will take much longer. Best to do circle stuff in Inkscape.

Source: EngineeringToolBox

The other constraint: When adding finger joints (the best way to attach 2 panes perpendicularly), Sketchup is a very bad way to make a press fit (putting the 2 pieces together without any glue should hold). That’s because the laser will always remove some material from both sides, so your joints are quite loose. You can solve this by customizing the SVG file in Inkscape, but it’s kinda manual work. In any case, each laser cutter will behave differently.

The joints on the faces should be a press fit

The design

Sadly, I don’t have the sketches anymore. But I do have all the design files! In total, there are 3 Sketchup designs.

The main pieces of the box
The very exciting base plate for the electronics layer
A little holder for the USB hub

After exporting with the plugin, this is what you get in Inkscape:

Inkscape import. Colors will depend on what your laser cutter requires (here red is for cutting, blue is engraving). The lines should about the smallest possible.

There’s a lot of iteration involved, and even while laser cutting, you will try the fit and modify the design. So, off to fablab!

The Inkscape design cut (first edition)

Once all components were cut, it was assembly time. A bit of glue (I used Compactuna, which you normally add to cement, but it works great for MDF too).

Half glued together. It’s important to keep in mind which parts to keep open (so that it’s still accessible)
Top view of how electronics will be positioned
Assembly of the USB hub holder. And due to lack of clamps, I’ve used rubber bands.

And behold… the end result (after some paint, carefully applied by my girlfriend Nikki)!

The front side with the sliding door. The notch allows you to lift the door up. The fingers fit snugly in the bottom plate.
The back side, with power jack, ethernet jack and one of the usb hub’s ports.
Inside view when the door is open. The electronics plate slides out and is held in place by side panels and the door.

So, you’d think this is a production ready product. But in reality it never will be. At this moment I can’t even close the panels because I don’t have the right USB cables yet (which will be cut and soldered directly to the USB hub – for which I need a solder iron – which I don’t have anymore after the move to Switzerland). It’s functional, but could look better…

The NAS in its current state, functional but not finished. Also the Chinese 5V power supply is mechanically touchy (bad connection)

Download here all design files for this NAS enclosure

Creative Commons LicenseThis work is licensed under a Creative Commons Attribution 4.0 International License.

The end of part 2. Read part 3 here.

Share this article
Published inCross project

Be First to Comment

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.