The basic plan
For a while now I’ve wanted to build a small, silent Linux box to sit on my LAN and do random tasks. An obvious choice would be a Raspberry Pi, but I wanted something with a proper drive.
When I discovered the MinnowBoard Max1 it seemed just the thing. It was easy enough to put the MinnowBoard Max and a 2.5” SATA SSD in a little box, and it seems to run reliably. However, I was also quite keen to pimp the box, adding a small LCD display and blinkenlights.2
I’ve written other articles3 describing different aspects of the project, but it seemed sensible to discuss the overall project. You can also grab all the design files4 from GitHub, though be warmed that there are issues!
Bugs
For such a simple project there are numerous bugs which it would be annoying to forget.
- One of the front-panel LEDs is 0.1” out. Happily I spotted this before ordering the panel, but sadly not before ordering the PCB.
- The PCB connects the LEDs between the GPIO pin and ground. It transpires that the output can sink a lot more current than it can source, and things work rather better if you connect the LEDs between +3.3V and the GPIO pin. Happily this was easy enough to bodge. It was also nice to recall playing with 74xx logic back some decades ago, where the same issue applied.
- The front panel LCD window is a bit big. In fact the whole LCD mounting is a bit dodgy: a fair amount of light bleeds from the side of the LCD, but attempts to block this by sandwiching funky foam between the display and the front panel seemed to fail. Such schemes seem all too often to crack the display.
- The back-panel connector cutouts could be made smaller.
- There’s a small ridge running along the inside of the case which fouls the PCB. Happily just cutting off two of the corners solved the problem.
- There is a bit of light-bleed between the LEDs: I think the light pipes should be a bit longer.
Lessons
Which OS ?
Without much thought I installed Linux Mint on seabass. It runs well-enough but there seem to be a lot of unnecessary processes running, and they seem hard to remove. Whether this is a feature of systemd isn’t entirely clear to me. However, at some point I might replace it with Ubuntu Server.
LCD issues
The LCD is surprisingly hard to mount well. It’s fragile and easy to break if anything touches the glass, yet without that light bleeds from the backlight. Black isn’t particularly black either.
ARM or Intel
Perhaps it’s just the grass being greener, but I came to the conclusion that life would have been easier were I working on an ARM board. Much of the online stuff talks about DeviceTree for configuring boards rather than ACPI, and although people at Intel were helpful it seemed to me that much of the knowledge one would like was locked up inside Intel rather than lurking in the community as a whole.
Final conclusions
Despite my moans above I think seabass is a success. It runs reliably and silently, and was much more fun to build than just buying an Intel NUC or similar.
References
- 1. http://www.minnowboard.org/meet-minnowboard-max/
- 2. http://en.wikipedia.org/wiki/Blinkenlights
- 3. /atelier/index/t_MinnowBoard%20Max.html
- 4. https://github.com/mjoldfield/seabass