Make your next project with Trellis, Adafruit open-source button platform. Customize and 3D Print our enclosure to fit your project. Our 4-piece design fits the Trellis Driver PCB, Elastometer button keypad, and the Arduino. Great for mini-handheld music, game or keyboard controllers.


Tools & Supplies

123D Design

Our enclosure was designed in Autodesk's 123D Design. It's a great way to get into 3D modeling parts for your 3d printed electronic projects. You can download the app for free on Autodesk's website. You can download our 123D file to modify the design to fit a different micro-controller.


The 123D file has all of the individual objects that are used to boolean the 4-parts. You can modify these pieces to fit different I-O ports and micro-controllers. The trellis supports up to 8x8 tiles so you can modify the enclosure to fit a 64 button keypad!

Measuring Parts

Measuring your shapes will help you determine how well your part will fit your components. To measure the length and height of your object, select a desired outline while the object is selected. With the line selected, choose the Measure option in the top menu to pull out the measurement panel. Scroll down to see the length of your line.

Modifying Objects

To modify an object, click on the shape to select it. It should have a highlighted blue stroke around the object. While selected, click on a desired face to bring up the gear settings.
With the face selected, select the press/pull option under the gear icon. Type in a value in millimeters or drag the arrow handle to tweak the size of the shape.

Boolean Parts

Once you have made your desired modifications and measured your objects, you will need to subtract the shapes to the objects to make the parts. To do this, you will need to select the combine option in the top menu. Click on the icon to the right of the floating combine options menu and change the mode from join to subtract.
Now select the object you want to become the part first and then select the object you wish to be used to cut (subtracted) your part. You can hold down the shift key to select multiple objects. Remember, the first object that was select will be the main part, everything select after that will be subtracted from the first shape.
To accept and apply the subtract boolean operation, click on an empty area on the grid.

Save & Export

You can save and export your parts as an STL file. You can find the export STL option under the 123D Design file menu and selecting export STL. We recommend printing each piece individually so that you minimize the changes of a failed print (If you print out a set and something goes wrong, all your pieces will go bad, and thats no bueno!). To save out each part out of 123D, you can temporally delete the parts and leave one to export the STL individually outside of the set. Just remember to undo (cmd/cntrl+Z that baby!) after the export. Repeat for each part. Now onto slicing!

Printing Techniques

Build Plate Preparations
There's a great video tutorial by Dr. Henry Thomas who demonstrations a great technique for preparing acrylic build plates for awesome prints. Wipe down the plate with a paper towel lightly dabbed in acetone. Use another paper towel and apply a tiny dab of olive oil. Wipe down the plate so a small film of oil is applied, this will allow the parts to come off the plate easier.

Live Level
We recommend going raft-less for each piece because it will have the best quality result. Each piece will require a well leveled platform. We tend to "live level" our prints, meaning we adjust the build plates thumb screws while the print is laying down filament. This way we can make adjustments directly and improve the leveling by seeing how the extruders are laying down the first layer onto the build plate. We recommend watching the first layer so that you get a more successful print. If you see the layers aren't sticking or getting knocked off, you can always cancel print, peel it off and try again.

Test for Tolerances

You will need to test your modifications to see if your components fit your enclosure. The bottom cover mount holes were laid out to fit most arduino PCBs, but you can easily change the design to support your choice of micro-controller. The frame was designed to fit a 2.1 power jack and a USB-A type port.

Filament Material

You can use PLA or ABS material, our design should work with most filament types. Choose your favorite color of filament to make your design unique to your project.
About 50 minutes
PLA @230
No Raft
No Support
2.0 Layer Height
Top Cover
About 30 minutes
PLA @230
No Raft
No Support
2.0 Layer Height
Bottom Cover
About 60 minutes
PLA @230
No Raft
No Support
2.0 Layer Height


Get creative and choose a colored pattern for your LEDs. The long terminal pin of the LED goes to the +positive pin on the Trellis PCB. Ensure your LEDs are correctly positioned to the PCB before soldering. It's also nice to check to see if your LED work by keeping a rechargeable coin cell battery for testing.


For a clean soldering process, try to soldering the LEDs one by one, and then cutting the access terminal pins from the LEDS. For a more comfortable process, use a Panavise Jr. to keep the Trellis PCB in place while your solder. A Third Helping hand can assist you in holding the terminal pins of the LEDs in place while your solder.
The Trellis uses 5 connections that can connect to the arduino or similar micro-controller. We recommend using jumper wires for connecting to the arduino.

To ensure the jumper wires don't get in the way inside of the enclosure, we need to:

  1. Remove the protective guard from both sides of the jumper wires (x-acto knife helps)
  2. Trim one side of the jumper wire pin, leaving a small piece for the Trellis connections
Solder the short pin end of the jumper wire to each of the connection fingers on the Trellis PCB. You can color code these wires for a organization sake.
You will need to carefully bend the long pin ends of the jumper wires so that they can fit into the arduino headers without getting in the way of the Trellis PCB.
Use small pieces of electrical tape to protect the exposed pins on the long jumper pins.
Below is a list of which pins will go from the Trellis PCB to the Arduino.

  • 5V goes to the 5V power pin on the Arduino
  • GND goes to and GND ground pin
  • SCL goes to the I2C clock pin, on an Uno this is also known as A5
  • SDA goes to the I2C data pin, on an Uno this is also known as A4
  • We connect the INT interrupt pin to A2 - this pin isn't used in our demo code so you can leave it unconnected if you wish.
  • 3D Printed Parts

    The micro controller will be mounted to the bottom cover. Place the controller on top of the bottom cover and align up the mount holes to see if it fits your micro-controller. Use screws to secure the micro-controller in place.
    Place the frame on top of the bottom cover and gently fit the IO ports of the micro-controller into the holes of the frame. The frame has a lip that should be closer towards the top. The frame tightly snaps to the bottom cover.
    Lay the Trellis PCB on top of the tray. It should tightly snap onto the tray, exposing the connection fingers. You may need to press down the Trellis PCB to snap into the tray
    Carefully place the tray on top of the frame. The Trellis PCB should be above the micro-controller, with just enough room for the jumper wires.
    Add the Elastometers keypad to the top of the Trellis PCB. Align up the keypad so the pins fit into the holes of the Trellis PCB.
    Fit the top cover into place and snap it into to close the enclosure. You may need to use flat head on the frame to securely snap the cover onto the frame.
    For a tutorial on installing the Trellis Arduino Library, follow the introduction to Trellis guide for installation instructions and a demo sketch.

    This guide was first published on Dec 28, 2013. It was last updated on Dec 28, 2013.