WriteBox: Part 5 — Guts

Fred Jennings
6 min readMar 7, 2019

--

(continued from Part 4)

With all the parts finished, the last step was to mount it all securely inside the M100 case. I’ll go through the main parts, and skip over the several hours spent hemming and hawing about placement.

Power Supply:

The hardest part ended up being the power supply — in the last section, I lamented the giant power brick the LCD controller board came with, and found a USB 5v to 12v DC boost converter.

Long story short, it didn’t work.

The USB cable doesn’t carry enough amperage to power the board and LCD screen. It worked for about a minute, got too hot, and then started to ramp back power. The screen backlight flickered and died, and the whole thing ran badly.

So back to the drawing board. I found a battery pack designed for LED lights, with dual 12v DC 2.1mm and 5v USB output that looked promising. Its 12v output was limited to 3 amps, not the 5 amps the power brick was rated at, but that looked close enough to work (by my rough math off the datasheets’ power ratings, the board and screen combined shouldn’t ever need more than about 2 amps).

The good news: it worked!
The bad news: it was way too big for the case.

Bench testing, for certain definitions of “bench.”

Worse still, the caution label said not to disassemble it. So, being a stickler for rules, I modified the terms of the caution label:

Much better.

And then disassembled the battery.

Inside it was about as expected: a small power distribution board, and a chain of 18650 batteries. Removing the case made it much more compact, and everything fit inside the case no problem. It’s still the biggest and heaviest single component.

Not pictured: Checking this layout 8–10 times with the top case attached, to be sure it would all clear.

The next step on that was to run a switch from the board that I can mount somewhere reachable. I had a micro rocker switch kicking around that fits pretty well, so I ran cables to that and soldered everything up.

The Boards:

This part was surprisingly easy once the metal “floor” was removed. I test fit everything, measured a few times (and a few times more for the keyboard adapter, which is the most location sensitive piece because the keyboard’s cables aren’t very long). Then I tested again with the important cables connected, to make sure there’d be room for those once everything was secured.

Once everything was penciled in, I marked the standoff locations with a silver sharpie, and used a UV-activated plastic weld glue to secure them.

It was a tight fit for a few of the cables, so I trimmed the stress-relief rubber around the ends — unlike typical applications, those cables won’t be moving much, so I feel okay about the lost stress-protection.

The best example is probably the ethernet cable plugged into the Pi, top center.

The Display:

The display is quite a bit bigger than the original TRS-80 screen. Luckily, the M100’s plastic screen cover is a bit bigger than the original screen too — except it’s covered in black printing. I tried a few different methods to remove the printing (chemical thinners, etc.), but ended up having to take the painstaking and more harmful road of scraping it off manually.

With that done, the next step was mounting it. I grabbed some scrap plastic and put together some test brackets. Plastic was good for this, since it was easy to work with and transparent, so it’s easy to see where the screw holes needed to go.

Once I had a decent fit with the plastic mounts, I got the tin snips out and used some scrap aluminum from the M100’s floor to make metal brackets.

I’m kicking myself a little now, because the actual screen display area on the LCD is even smaller than the physical screen area. I could’ve saved a bit of that painstaking paint removal if I’d measured it against a live screen.

Finishing Touches:

It all fits! And works!

I charged the battery fully, then let it run for a few hours. When it had run through 2 of the 5 charge lights on the battery, I shut it down and checked how long it had been on 2/5ths battery (roughly) got about 2 hours of running time. I also checked the internal temperatures a few times over that period — nothing seems to be getting too hot (the LCD screen is by far the hottest part, but it’s rated for up to 70 celsius, which it was nowhere near).

With that tested, I got to the finishing details.

First, the power button and charge port:

The button required some trimming of the upper case, since it’s wider than the original hole.

The charge port was easy — the M100 used a similar port already, so it was just a matter of trimming the plug a bit, fabbing up a new bracket out of plastic to hold it, and gluing it into position.

On the other side, I had room to fit the panel-mount ethernet plug, with a bit of trimming:

That just left a few gaps where switches or ports were before. I cut small pieces of plastic and used the UV plastic weld to secure them to the lower case.

There’s also plenty of internal space above the removable central panel, so I used a USB extension cord and mounted one end there, so it’s accessible with the panel removed.

I might run the second open USB port this way too, but only had one shorty extension cable kicking around.

Then I bulked up a few spots with hot glue.

To-Do:

  1. Seal up the big rear opening in the case. With everything in there and sealed up, I’m holding off on this until another heat test. If it needs one, this would be the easiest place to add a fan, but I’d rather keep it fanless and silent if possible.
  2. Wire one more switch for the power circuit. This battery pack doesn’t have a distinct charging port — the DC output plug is also DC input. The good news is that means it can run while charging. The bad news is it can’t charge only. So the plan is to wire a dual-pole single-throw switch up so I can switch off the power lines to the screen and Pi. That way, I can have the power “on” but not have to leave the whole system idling any time it needs to charge.
  3. Might fab up a keypad for the LCD controller. It would be nice to have control over the backlight, and a bit of research suggests that’s not doable just through the HDMI connector.

--

--

Fred Jennings

21st Century Digitalttorney. Technology, Privacy, Cybercrime. https://keybase.io/fjennings ///// Tweets are not legal advice, etc.