This post describes a project to place an HDMIPi display monitor into into an aluminum enclosure. Some information concerning the HDMIPi's pushbutton switches is discussed that may be of interest to individuals looking to "hack" the switches.
The HDMIPi is a small, lightweight 9-inch HD display kit that allows the integration of certain Raspberry Pi models into the HDMIPi case. The device is very much in the spirit of the Raspberry Pi itself and other Raspberry Pi peripherals in terms of its portability and clever design as evidenced in the Kickstarter and home pages for the HDMIPi:
The HDMIPi's lightness and portability do come at a price however, since these qualities are the results of design choices that involve the use of acrylic layers for the HDMIPi case rather than a metal enclosure or metal shielding that might provide reduction of RF emissions from the display or the (possibly) embedded Raspberry Pi. As I have a considerable number of radio devices that run 24x7 (ADS-B receiver, APRS receiver, GPS-based NTP server, etc.), it's important that any devices I consider for use do not cause undue interference to the existing radio systems. For this reason, I thought it might be useful to transplant the HDMIPi into a metal enclosure.
Some Thoughts at the Outset
Here are some overarching considerations that drove my design decisions and component choices for the project:
(1) Preserve the HDMIPi acrylic stack - Alex Eames and Cyntech obviously put a great deal of effort into the HDMIPi design in terms of integrating their ideas with the suggestions from potential backers, so it made sense to preserve the whole acrylic stack minus the back panel if at all possible.
(2) Avoid component alteration or removal on the HDMIPi display adapter board if possible.
(3) Openings for ports and components are permissible on the sides, top and front of the metal case, but not on the back or bottom - I wanted to be able to set the metal case on its back or have it stand on a shelf (on the bottom).
(4) Get an enclosure with sufficient space to accommodate not only the embedded Raspberry Pi, but also a limited number of hats or add-on boards that could be mounted inside the case.
(5) External access to the pushbutton switches on the display adapter board must be achieved (somehow).
HDMIPi 9-inch HD Display (1)
Hammond 1550J Die-cast Aluminum Enclosure (1)
E-Switch Red Pushbutton switch SPST-NO 3A 120V (Part No.: RP3502MARED) (1)
E-Switch Black Pushbutton switch SPST-NO 3A 120V (Part No.: RP3502MABLK) (4)
200mm Female 40 Pin (2.54mm) to Male 26 Pin IDC Socket Ribbon Cable (1)
200mm Female 40 Pin (2.54mm) to Female 26 Pin IDC Socket Ribbon Cable (1)
Circular crimp lug (1)
#4-40 x 1 Inch Zinc Machine screws (6) and nuts (7)
This photo shows the (almost) finished product with all of the buttons and display adapter board ports (but no binding post):
Here are the ports for the display adapter board:
The display adapter board pushbutton switches (the lettering is added to the photo, not the enclosure, although I do plan to add that later):
I wanted some low-profile, medium-diameter switches that would be difficult or impossible to break off. These switches require a deep, deliberate press for triggering but have no tactile response unlike the tactile switches mounted on the display adapter board. I also took advantage of the opportunity to reorganize the switches to conform to the ordering on all my other LCD displays on my desk.
The interior sans Raspberry Pi:
A closeup of the pushbutton switches and the wiring harness:
Point-to-point wiring would be perfectly adequate for the pushbutton switches, but since I am looking at the possibility of mounting additional Raspberry Pi hardware that may require additional enclosure modification, it made sense to come up with a quick connect/disconnect mechanism for the wiring. I actually bought these cables for the ribbon wire and had no intention of ever using the connectors on the ends of the cables, but they came in handy here.
Ground plane to metal enclosure connection:
The acrylic layers of the HDMIPi effectively isolate the electronics from the metal enclosure. I made use of an unpopulated USB shell mount point to create a connection from the display adapter board ground plane to the enclosure with some wire and a closed circular crimp lug which is connected to one of the mounting screws. Although difficult to see, the wire is routed down below the port opening of the adjacent USB connector in order to avoid obstruction.
The Pushbutton Switches
When I first got my two HDMIPis, I came across a post at RasPi.TV by Alex Eames that described a method to control the power switch on the HDMIPi via the embedded (or some other) Raspberry Pi. You can see the post here:
By combining some of my own resistance measurements with the information in Alex's post, I was able to determine that all of the pushbutton switches on the display adapter board are mounted identically. That is, you can view the four solder points on each of the switches as two small buses which are (momentarily) shorted by the tactile switch buttons. This is illustrated in the following photo with superimposed red lines that correspond to the buses (the grounds are the lower bus for each switch in the photo):
This effectively means that if you take a sufficiently wide screwdriver blade and (briefly) connect it vertically across the left or right side of the buses to the switch solder points, you can achieve the same result as a button press. I have tested this with all five of the switches, and they all work identically. Given this fact, an SPST normally-open two-terminal switch can be connected across each tactile switch bus pair to move the switching to the exterior of the metal enclosure. The connection to the switch buses can be made to the top or bottom of the circuit board with the same results, and you don't even have to connect to the same ends of the buses. I chose to solder connections to the bottom of the board as indicated in the following photos:
Note that the ribbon cable still had 26 conductors at this point. I figured if I mucked up the wiring with the first 10 conductors, I could just cut them off and I still had 16 conductors to try again. I only cut the spare conductors on both cables off after I had tested the exterior pushbutton switches. One other point worth mentioning is that if you decide to connect to the bottom of the board as I have done, you need to make sure that the wires don't bunch up vertically since this will prevent the display adapter board from being flush against the acrylic stack when it is mounted. If you have already drilled your port openings for the display adapter board, this could cause misalignment between the ports and enclosure openings.
Some might be wondering about switch bounce for the external pushbutton switches. It's pretty obvious that the display adapter board pushbutton switches have some mechanism in place to reduce bounce, and since the external switches are connected to the same buses/solder points, they enjoy the same lack of bounce as the tactile switches. I have not seen any indication that bounce is a problem.
Where's the Pi?
Here is a photo of the interior of the enclosure prior to switch installation and removal of the Raspberry Pi 2 Model B:
The original HDMIPi rear panel has a breakaway section to facilitate access to the Ethernet and USB ports on the embedded Raspberry Pi. Unfortunately, there really isn't sufficient space to insert a typical Ethernet connector (with boot) or a long USB connector in the above enclosure, particularly if you don't intend to create any openings in the bottom of the enclosure. There are right-angle connectors that could be used to make connections to the Ethernet and USB ports, but you will likely have to route the internal cables to the left and then back to the right if you plan to install chassis-mount connectors on the right side of the enclosure. Although I have not implemented it yet, I have decided that the best thing to do if I am determined to mount a Raspberry Pi internally is to rotate the Raspberry Pi 90 degrees counter-clockwise in the photo and shift it to the right so the Ethernet and USB ports are flush with the right side of the case. One end of the Raspberry Pi will be mounted on the acrylic stack, while the other will be mounted to the front of the enclosure. This change will necessitate replacing the internal HDMI and USB cables between the display adapter board and the Raspberry Pi.
A variety of tools were used in the construction of the project. The following photos show the tools with the exception of an X-Acto knife. First is a drill press:
A hand drill was used to drill holes on the sides of the enclosure due to the taper (discussed below):
A variety of small files were used to expand enclosure openings:
A large flat file was used to fashion the aperture for the display once the majority of aluminum had been removed:
While the HDMIPi rear panel is not used in the acrylic stack, it is useful to mark mounting holes for the stack:
A conservative estimate of the needed display aperture is marked on the front of the enclosure:
The outer rectangle is the conservative estimate while the inner rectangle indicates lines for drilling 3/4 inch/19 mm holes with the drill press.
First step is to drill the corner holes. This is done to help make sure we don't do something stupid like drill on the outer rectangle:
Next we just keep drilling holes between the corner holes:
A couple of holes were not drilled completely, but they were drilled deep enough to not warrant finishing properly. The rogue hole on the bottom row next to the left-most hole is 3/32 inch over the line, but the conservative estimate line is at least 1/8 inch from where the aperture needs to be cut, so this is not a problem. I have no idea why this hole was so far off.
Next we cut between adjacent holes with a round file in order to remove the bulk of the aluminum from the display aperture:
With all but two of the bridges cut, we are almost done. Now to finish the job:
So now about 85-90% of the aluminum has been removed. It's time to use the big flat file to clear to the conservative estimate:
Note that hearing protection is crucial in this phase, although it is a good idea when doing any filing. Dropping an angry, long-clawed cat down a blackboard inclined at 80 degrees into a pack of snarling dogs sounds pleasant by comparison.
We now do the following repeatedly:
1. Install the acrylic stack.
2. Power the display up and determine which boundaries need to be adjusted.
3. Make the adjustment(s).
Having moved the lower boundary down below the drilling holes, we can see that the lower boundary is just below the edge of the display while the other display edges are still obscured. Given the fact that the display is mounted flush to the interior of the enclosure and the thickness of the enclosure (about 1/8 inch or 3 mm), it's desirable to make sure the boundaries are pushed well beyond the display edges in order to guarantee that reasonable changes in viewing angle don't result in obstruction of the display edges. The display is difficult to read due to the fact that the protective plastic has not yet been removed in order to avoid scratching the top acrylic layer during construction.
The following photos show the creation of openings for ports on the display adapter board:
The initial holes were drilled with the hand drill and expanded with files. The port openings may seem inordinately large, but the display adapter board is not flush against the enclosure, so it is necessary to get not only the barrel of connectors into the openings, but frequently the handles as well.
Unfortunately, I forgot to take a photo of the initial 3/8 inch/1 cm holes for the pushbutton switches, but here are the final 1/2 inch/12 mm holes. The initial holes were drilled with the hand drill and then expanded with files.
Still Not Done
I mentioned at the beginning of the Results section that the enclosure still isn't quite finished. I also intend to install a binding post for connection to a ground wire or ground strap. I have several projects with metal cases that I need to outfit with binding posts for grounds, and I want to buy the necessary hardware at one time.
The HDMIPi display adapter board has a mount point for a VGA connector that is unpopulated. It would be fairly simple to create an opening next to the other external ports and add a chassis-mount VGA connector.
Hammond manufactures an identical black aluminum enclosure, although it tends to be rather more expensive compared to the natural finish version that I used.
If you choose not to install a Raspberry Pi in the enclosure, you have the option to install a chassis-mount HDMI connector and internal cable to permit external connection to the HDMI1 source input.
As mentioned above, lettering for the switches and ports would be a nice touch that I plan to add.
Things to Watch Out for
(1) The holes in the acrylic stacks of the HDMIPi are not on the same horizontal line. In other words, if you draw a line between the leftmost and rightmost holes at the top or bottom of HDMIPi, the center hole is slightly above the line (at the top) or slightly below the line (at the bottom).
(2) The Hammond 1550J enclosure is slightly tapered from bottom to top (the side where the HDMIPi display is visible) on all sides of the enclosure. This can cause some serious grief (personal injury) if you are not very careful when drilling holes or creating openings in the sides of the enclosure such as the display adapter board port openings or pushbutton switch mount points.
(3) Heed Alex Eames' warning in his power switch post concerning your HDMIPi warranty if you decide to make any changes to the display adapter board.
If you use the Hammond 1550J as your enclosure, you will have a very rugged, but still fairly portable HDMI display and plenty of room for internal installation of a Raspberry Pi and additional circuitry. Hopefully, the information on the pushbutton switches will make it easier for interested parties to hack the non-power switches as Alex Eames suggested in his power switch hacking post listed above.