The Challenge of Mounting Buttons with LEGO

The challenge of mounting buttons with LEGO®.

I get 8mm increments to work with, so mounting buttons within those parameters is tough.

Realization of Dimension Differences and the Challenge of Mounting Buttons Associated

After mounting the joystick, I began work on the wrapping the buttons with LEGO brick. The problem I quickly ran into was that the button was 3.5 x 3.5 studs wide which made the buttons fall right through.

Photo showing player 1 joystick and a button half attached beside it. Finding out just how much of a challenge of mounting buttons this will be.
Attempting to mount the first button

Not only must the buttons be held up in place, especially from button mashers, but they also can’t wiggle around. So, it’s time to do some trial and error, and what better place to do that at then a place with a lot of brick! Off to the LEGO® club! The same place I went to when I was first attempting the prototype in

Progress on the Case

While waiting for the next get together at the club, I continued to work on the rest of the control panel. More pieces arrived and I started to build out the corners and fill in a lot of the missing pieces.

Photo showing the front of the control panel and lots of pieces laid out in front and behind of it.
More pieces arrive
Photo showing a linking design of LEGO bricks. These will be used to make a curve.
Building the pieces which will curve in the front
Photo showing the linked parts put in place and producing a curve in the front of the control panel.
This is how those pieces will connect to produce a curve corner
A similar shot taken further away showing the curve in the front of the control panel.
A better shot of the corner
A reverse view of the control panel, showing the skeletal structure inside and the unmounted trackball sitting in place.
Starting to consider the trackball
Photo showing an overall shot of the control panel from the top down.
Starting to take form

Trying Different Approaches to Solve the Challenge of Mounting Buttons

Once I arrived, I began experimenting with some different approaches to mounting these buttons more securely. First, I attempted to use L-brackets so that the button had something to easily attach to with its washer. The problem with the buttons was that they had washer that screwed in from the bottom to secure the button. At first, this seemed great, because that meant the buttons would be easy to attach. However, these washers interfered with the bricks laying around them.

You can kind of visualize this issue in the photo below. You can see the black washer just below the rim of the button and those L-brackets give that washer space to screw onto them. However, this will make tiling more difficult, which I’ll be doing to help aesthetics.

Photo of LEGO brick made into a sort of cage for buttons using L-brackets to hold the buttons in place.
L-bracket trial for mounting buttons

Then I tried using technic. This was a failure for many reasons.

Photo showing a button being held in place by technic beams.
Technic beams to hold the buttons in place? NO!

The next approach came as a result of someone else providing a solution to use nothing but plates. This provides a better shaped hole for the button to attach. As you can see in the photo below, the hole is much more defined.

Photo showing a bunch of multi-colored plates stuck together to form a more exactly-sized hole for the button to attach to.
Plate solution

This solution excited me, but as I started to consider implementation, I quickly became aware of its issues as well. First, this design requires the bricks to be installed horizontally, this leave no place to mount tiles to later to make for a cleaner look. Second, there will be a lot of gaps between plates when mounted beside other buttons. Lastly, sticking 6 of these holes very close together will prove challenging simply due to the architecture of this design. However, this led me down another path, and that was to mount the buttons onto the LEGO® brick sideways.

All Paths Lead to Happy Accidents

I went back to my design software and began replicating the plate solution. You can see this solution in the photo below to the far left. However, as you can see, from left to right, I began working on iterations meant to solve one problem the prior iteration had. Mostly these issues were that the buttons needed to be close together and couldn’t take up a lot of real-estate on top of the panel, because of the trackball.

Screenshot of software showing various iterations of the design to hold the buttons with LEGO.
A series of attempts to mounting the buttons

I finally started to settle in on a design that worked the best and kept refining this iteration further. Building the bricks vertically, but then still able to attach horizontally, just might work out.

Screenshot of software showing the solution that I liked best.
Honing in on a design
Screenshot showing the underside of the chosen design demonstrating how the unit will attach to the control panel.
That underside, showing headlight pieces which will be used to attach to the base of the control panel

Build and Implementation

Next, I order the pieces required to begin building the units.

Photo of computer running software showing design of the button panel with the physically built button panel resting on the top of the computer.
First button panel created

Once the first unit is built, I install it into the control panel to see how it will work.

Photo showing the button panel integrated now with the control panel.

Liking it, I I begin adding tiles to see how well the buttons fasten down to the brick.

Photo showing the button panel with tiles added to it for visual and sensory appeal.
Adding some tile

Adding more tiles around the joystick now. During the build, someone tells me that I’m building a nightmare mention for someone with Trypophobia 😅!

Photo showing tiles now added around the player 1 joystick as well.
Adding more tile; yes, everything will be tiled

It’s starting to look good.

Photo showing the entire control panel, top down, with 4 of the 6 player 1 buttons installed into the control panel.
Take a look back

Now adding the second unit for player 2 controls.

Photo showing player 2 joystick case and button panel installed, awaiting hardware.
Player 2 has joined the game

For now, I’m feeling good about this and will wire up the buttons and player 2’s joystick next. However, I have some other tasks that I need to complete as well. First, the trackball needs to get mounted. After that, the control panel needs to get built out more to support player 3 and player 4. Then, I need to install the circuit boards and hook up the controls to the computer. Finally, run USB cables to the front of the control panel for support of other accessories and gamepads.

Before ending this article, a quick shout-out to the Twin City Model Railroad Museum ( for helping me figure out how to mount these buttons.