Portable External Monitor v3: Trim Unused Bracket

For the portable external monitor project, version 3 (PEMv3) , we want to pack our components more tightly together to create a compact package. The most inconvenient barrier to the goal is the old back light driver board mounting bracket. While the circuit board itself was already dead when I got the laptop and promptly removed, the bracket for the driver board was still present during PEMv1 and PEMv2. The aftermarket back light driver board is significantly larger than the original Dell part and would not fit in the bracket. I had originally hoped the bracket can be recruited into a new role but none had ever come up.

So now it is time to trim off the bracket.

The front part of the bracket is riveted to the thin metal bezel of the LCD panel. The rivet makes it easy to remove with a Dremel grinding tool, but I was concerned about the potential for metal particles to damage the panel. I spent more time covering and wrapping the rest of the panel than I did removing the rivets.

LCD bezel rivet

The rear part of the bracket is part of the panel mounting frame. Since there were no electronics here, I didn’t have to worry as much about damage. I will need to thoroughly clean up the work piece afterwards to minimize the number of particles that are still sticking, but I didn’t have as much risk while doing the actual cutting.

Frame Before

I chose to minimize the cut length which removed more metal than necessary because the shortest cut connected the two large bottom holes. We should still have enough structural strength and mounting holes for the frame to be useful.

Frame After

With the old bracket out of the way, it’s time to pack our components into the space previously occupied by the bracket.

 

Portable External Monitor v2 Problems To Fix in v3

And now, back to the portable external monitor (PEM) project. Version 2 has been in use for several weeks, called into duty when I needed a screen. It was used to help me install and smoke test ROS on a Raspberry Pi 3. It was also used for the FreeNAS box, which was ideal because FreeNAS only needs a screen briefly for setup.

Functionally speaking the portable external monitor has been working well. But the physical form factor left room for improvement: it wasn’t as portable as I would like.

The first part of the problem is weight: PEMv2 was built by stacking sheets of acrylic that had holes cut out to make room for components. There’s no fundamental reason why this subtractive construction technique had to be heavy. But in practice, holes were cut only when needed to make room. The result is a lot of excess acrylic. Acrylic is not super heavy, but it all adds up to just over 8 pounds which is ridiculously overweight for a 15″ screen.

The second part of the problem is size: PEMv2 was intended to fit within the width and height of my JanSport backpack. When assembled, I had a facepalm moment: it does not actually fit into the backpack because PEMv2 is rectangular and the backpack is not. The top of the backpack is rounded, with no room for PEMv2 top corners.

BackpackPEMv2

Lastly: while PEMv2 was thick enough to stand upright on its edge, it is easily tipped over and the upright vertical screen angle is not very ergonomic. We can definitely do better.

PEMv3 will try to address all of the above issues. To minimize physical volume, we’ll need a more compact way to package all the components. We’ll need to build our enclosure using less acrylic to further reduce weight. And we’d like to have an integrated stand that can securely prop up the screen at a better viewing angle

Broken Source is not Open Source

After attending Elecia White’s “On Cats and Typing” talk, I felt a little more motivated to look into robots. The robot arm used in her demo was the MeArm by Mime Industries. It is built out of commodity micro servos and laser-cut acrylic. I looked at it and thought I could get one up and running on my own. It is sold as a self-assembled kit but in the spirit of open source, people are also allowed to laser-cut their own pieces using the open-sourced DXF file available via Github.

Or at least that was the theory.

In practice, the DXF doesn’t work. Inkscape couldn’t load it. CorelDRAW couldn’t load it. Onshape couldn’t load it. Fusion 360 – from Autodesk, the people who created AutoCAD which is where DXF came from – couldn’t load it.

MeArm Broken

Well, that was disappointing.

Google results confirm I’m not alone. I found many reports of people failing to get this DXF to work for them, and not a single success story. Of course, there’s a little selection bias here: people who encounter no problems rarely go on the internet to announce they had no problems. But I would have expected a few of the forum posts from people having problems to get some positive responses, and I didn’t find any of those.

This is frustrating. I’m unlikely to go and buy the kit when I already had most of the pieces on hand and it is in theory open source for me to make my own. It’s impossible to tell if there’s a perfectly innocent explanation or if this was done maliciously to slap on the “open source” label without actually risking any cut into sales. Whatever the explanation for why this DXF is broken, it doesn’t change the fact that it is broken. When the publicly available source file is unusable. Is it still open source?

I vote no.

Building a Lithium Ion Battery Pack with S-8254A Protection IC

Encouraged by my earlier success buying somebody’s implementation of an IC reference design off Amazon, I went looking for more. The previous project used a MP1584 chip to regulate the variable voltage of a battery to a constant level for a Raspberry Pi 3. Now I want to improve upon the battery side.

The battery pack had three 18650-sized lithium-ion battery cells in series. These cells were salvaged from an old Dell laptop’s power pack. Since they were ten years old, there’s a bit of a question mark hovering over them. A battery pack that simply wires them in series risks over-charging or over-discharging the weakest cell. This abuse of lithium-ion cells usually ends in a fire.

I searched for a battery management circuit board to help me avoid setting my projects on fire. I settled on this item which is built around the Seiko Instruments’ S-8254A IC. This circuit board will monitor individual cells. If any of the voltage levels exceed safe limits for lithium-ion cells during either charging of discharging, the chip will disconnect the whole pack.

Once everything was connected according to instructions, I have a battery pack that I can use with much higher confidence.

BatteryManager

Using my Astro-Flight power meter, I put this battery pack through a full charge and discharge cycle. Something I was squeamish to do before the battery protection board. Upon completion of the cycle, the power meter counted 1.65 amp-hours. The text printed on the cells say LGDA2E18650, which had a nominal 2.25 amp-hour capacity when new. Ten years old and 73% of nominal capacity is not bad, and perfectly usable for a wide range of future projects.

Powering the Raspberry Pi 3 With MP1584 Voltage Step-Down Converter

The Raspberry Pi 3 is a very impressive piece of hardware for the price, but it has its flaws. One challenge is supplying power to a Pi 3. Like all the Pi boards, power is supplied via a standard micro USB plug. This implies the Pi only needs USB level power with its specified maximum of 0.5 amp @ 5 volts = 2.5 watts. In reality, this USB port is abused beyond the specified range. The Raspberry Pi foundation recommends the power supply for a Pi 3 should supply up to 2.5 amp @ 5 volt = 12.5 watts. Five times the USB specification maximum.

None of the USB power sources I already had could handle this workload. I originally had ideas about running a Pi 3 off of a portable USB charger, but that failed under the vastly greater power draw. I went looking online for solutions.

I needed an efficient DC to DC voltage regulator that can handle the maximum power draw of a Raspberry Pi 3 without consuming a lot of power itself. Since the voltage of a battery changes as it drains, the converter needs to handle a range of input voltages while holding the output voltage steady.

The MP1584 chip from Monolithic Power Systems fit the bill, but I didn’t want to deal with a tiny surface mount IC, nor do I have the skill to design the supporting circuit required. Consulting with a few electronics hardware hobbyists, I got the recommendation to take the reference design out of the datasheet and build that.

And then, an even better recommendation: If it’s a popular chip, and its reference design is good enough, somebody would have mass-produced it and put it on Amazon. And indeed, they have. A lot of vendors, in fact, from all around the world.

I scrolled through a few of the listings but didn’t really have a good feel on how to judge one vendor against another. So I took the easy way out: I clicked on the “Amazon’s Choice” link to this offering.

Once the module arrived, I soldered battery connectors to the input and a micro USB plug to the output. I adjusted the output voltage to 5 volts, and connected everything to power up my Raspberry Pi 3.

PiVoltage

So far it has worked very well. The Raspberry Pi 3 stayed running through tasks that demanded extra power, that would previously trigger a low-power brownout with my existing USB power sources. The output voltage held steady as the battery drained.

Functional, inexpensive, and I didn’t even have to deal with surface mount components! This was a win.

 

Simple Circuit Board On 3D-Printed Plastic

CircuitBoardHere’s a behind-the-scenes follow-up to the LED test fixtures of the previous few posts: when we only need a simple circuit for a 3D-printed project, we can meld the two instead of using a formal circuit board. In this context “meld” is meant literally: the parts of the circuit can be heated up with the soldering iron so they melt into the 3D printer plastic.

When I built the dual-LED acrylic illumination test rig, I wanted the simplest circuit possible. It’s not something I need to be durable long-term and I wanted to be up and running with my tests as quickly as possible. The full length of a resistor and its wires are almost long enough to bridge the gap between the two sides of the fixture, so I tried to make that work.

When I started soldering all the wires together, I had planned to just leave everything dangling. But the close proximity of the soldering gun to the 3D printed PLA plastic started softening the plastic and I realized I can use this to my advantage. A few seconds with the soldering iron was all it took to heat up a wire so it can be melted into and embedded into the plastic. The resistors themselves took a little more effort, but I sunk them into the plastic as well. The LEDs had been held in place by their bent legs, which was sufficiently stable but had a tiny bit of wobble. Melting the plastic around LED legs gave us a much more secure placement.

Components melted into the plastic are no longer subject to flexing and eventually breaking from metal fatigue. Add a strip of electrical tape to guard against short circuiting to complete the quick and simple circuit to light up the test rig LEDs.

Illuminate Acrylic Edge: Test Fixture 2

After running through a few acrylic test pieces looking for the best edge illumination, I decided I need a dual fixture to allow side-by-side comparison as I swap through test pieces.

IMG_5158

Another change I made in the text fixture is to remove the aluminum foil at the bottom. While the foil may be useful to direct light, it distracts from the testing. If a particular test piece is losing light to the fixture, I don’t want that light reflected back in. I want to be able to see the failure in the form of illuminated white plastic. When there are no acrylic test pieces in the fixture, the cone of illumination is clearly visible.

IMG_5159
Test fixture #2 illuminated without acrylic test pieces.

The two sides aren’t exactly identical. One of the LED is slightly brighter than the other, and the two sides ended up with slightly different textures. But it should be good enough for our comparison purposes.

The first fixture implied that the cavity surround the LED is where we should focus our attention, so let’s try a few shapes. A square and a circle seems to differ only slightly in the brightness of the center top hot spot.

IMG_5161
Square LED cavity (left) and circular LED cavity (right)

A triangular cavity was much more interesting – all the light has been diverted from the top center, sending them off to the side. And I tried a teardrop shape just to see what would happen. The important detail to note on the teardrop is that a lot of light was lost to the fixture instead of being sent to the edges. This tells us the cavity edges should be as small as possible to push its surface right up against the LED to reduce light loss.

IMG_5162
Triangular (left) and teardrop (right)

The cavity sizes were then minimized for the next set, again testing for different shapes. A flat top to the cavity didn’t work as well as the cavity shape conforming to the LED shape.

IMG_5163
Flat top cavity (left) and conforming curve cavity (right)

But the best results came from putting a small curve in front of the point of the LED. This appears to break up the central beam and sends it to the edges like we want.

LED scatter curve

From an cost/benefit ratio perspective, this small curve is a winner. It is a very minor change to the geometry and yet it delivers significant improvement to the resulting light. When put into a larger sheet of acrylic, with greater number of internal reflections, it should do quite well. And for a little extra smoothness in illumination, we can take a piece of sandpaper and lightly roughen up the surface. Adding a frosted edge reduces the reflections somewhat, but it does help even out the overall illumination.

IMG_5165
Best illumination to date with the small curve (left) which can be further enhanced by a frosted edge (right)

These experiments have been quite informative. I look forward to applying what was learned here to future acrylic projects.

Illuminate Acrylic Edge: Goals and Test Fixture

After the surprising success of LED illumination in FreeNAS v2 enclosure, I wanted to spend some time experimenting with the concept. When searching for “acrylic edge illumination” on Google, everybody seems to be talking about positioning the LED at the edge of the acrylic sheet and lighting up the pattern of something engraved on the acrylic. My goal is the opposite: I want to place the LED in the middle of the acrylic, and I want the light to shine out to the edge of the acrylic sheet.

We start with the assumption that by default, a LED shining inside a piece of acrylic will only illuminate in the direction it is pointed.

Hotspot

Our ideal goal is to determine how to direct this light so it illuminates all the edges of the acrylic sheet, not just the direction of the LED face.

Ideal

I 3D printed a small test fixture for these experiments. It has space for a 75mm x 75mm test piece of acrylic and a LED that pokes up in the middle of that space. There’s a 10mm wide border around the test piece so I can observe the pattern of illumination beyond the edge. At the outside edge of the border, a wall to observe the intensity of illumination beyond the edge. A piece of black tape covers the direction of the viewer so the LED doesn’t overwhelm the rest of the observation. A piece of aluminum foil lines the bottom of the test fixture to reflect any light back into the acrylic.

IMG_5146

The fixture lights up as expected in the absence of any acrylic.

IMG_5147

These two experiments tested cutting grooves in the acrylic. One set had straight grooves, a second set curved. They were successful in breaking up the center top hot spot, sending some of that light elsewhere. But the light seems too concentrated on the bottom third.

IMG_5151

IMG_5152

Instead of cutting grooves, this piece tested cutting entirely through the acrylic. The circular shape does seem to disperse the light fairly well.

IMG_5149

These were interesting, but the most surprising result came from a test piece of acrylic with nothing cut in the middle. I had expected the light pattern to resemble the triangular hot spot of the LED by itself without any acrylic, but we got this:

IMG_5148

It has the same basic trend of the other light patterns in this set of experiments, which tells us the majority of the light scattering is not done by the curved/straight grooves or the circle. The feature with the largest impact is actually the small cavity surrounding the LED itself.

The fixture has been informative, but it has one problem: it is difficult to make comparisons between different test acrylic pieces. Before proceeding with investigation, the test fixture will be expanded so there are two test pieces side by side for comparison.

Acrylic Lights: Infinity Mirror

I’ve played with putting lights in my 3D-printed creations for glowing illumination effects. There were limits to what I could do with 3D printing, though, because printing with a clear filament does not result in a clear object. In contrast, acrylic is clear and works as a light guide with a lot of possibilities.

I’ve noticed a few attention-getting light effects in my acrylic projects to date, most of them created by happy accident. The acrylic box with external fixture made good use of external light. The Portable External Monitor version 2.0 was built from stacks of acrylic sheets: its fluorescent back light reflected between the layers like an infinity mirror.

PEMv2_InfLights

This effect was on my exploration to-do list for the future, but I moved it to the top of the list after seeing surprisingly good results on the FreeNAS Box v2 enclosure.

I had planned for it to have the standard PC status LEDs: one for power, and one for disk activity. The acrylic plate for motherboard mounting spacer also had two cutouts for 3mm LEDs along the center line. The red hard drive activity light is to be mounted high, and the blue power light mounted down low. The idea was for the blue light to illuminate the top edge of the plate. When there is hard drive activity, red LED will light up the center of that edge, and it should blend to purple with the power light. Both LEDs were blocked from direct view by the motherboard, so all we should see is a nice soft glow emitting from behind the motherboard.

FreeNASv2LightPlan

That was the plan, the reality was different. The red activity light worked as expected: when there is disk activity, the center of the top edge had a little red glow.

The blue LED decided to ignore my “nice soft glow” plan and put on an extravagant light show. It didn’t just light the top edge, it lit every edge of that acrylic sheet and had plenty of extra light energy to throw on the surrounding shelving.

FreeNASv2_LightsAbove

Here’s a close-up of the sideways illumination.

FreeNASv2_LightsSide

The many rays visible in the side illumination, as well as the lines making up the top illumination, indicate infinity mirror action going on inside that sheet. It wasn’t directly visible, and probably very difficult to photograph even if so. Without internal reflections, the blue light would have just gone straight up. But with the smooth surfaces and edges of the acrylic reflecting inside the sheet, the light of a single LED bounced around, found different angles, and was emitted in many more directions.

This LED illumination effect warrants further investigation. It is a happy accident that I fully intend to learn from, and put into future acrylic projects.

I want every acrylic project to look this awesome!

 

Luggable PC Wireless Module Installation

The point of the Luggable PC project is to build a mobile computer out of commodity desktop parts instead of more expensive specialized laptop parts. The upsides come from component choice, ability to upgrade piecemeal, and customization. One downside is that desktop components won’t have some of the parts taken for granted on modern laptops. Like today’s topic: wireless Ethernet.

The motherboard I currently have in the Luggable PC chassis (Intel DH87MC) does not have wireless Ethernet out of the box. I had been using a small USB wireless network dongle to provide wireless connectivity. The compact size is handy, but the compact size also restricts the antenna size, which in turn restricts performance.

The driver for the Realtek device isn’t anything to cheer about, either. It works OK in Windows, but it frequently fails in Ubuntu. I would frequently find myself without network access in Ubuntu and have to reset the USB adapter by unplugging it and plugging it back in.

I knew that my motherboard had a mini card slot for a wireless card. I also knew I had salvaged wireless cards from laptops I had disassembled for parts. But it wasn’t until today that I finally got around to plugging a wireless module into the Luggable PC.

I had also salvaged the matching antenna modules from the laptop. They formerly resided in the laptop lid, and now they are taped to the inside of the 3D printed enclosure.

Intel Wireless Card

Thanks to these two large(r) antennae, I now have stronger wireless signal and better data throughput. And the driver for this Intel-made wireless module has been far more reliable. And on top of all that, I’ve freed up a USB port.

One win for salvaged parts!