Overview
3D Printed Case for PyPortal
Let's 3D print a case for the PyPortal. Use the PowerBoost 1000C and a lipo battery to make it portable. The case houses all of the electronics and snap fits together. The enclosure features access to the microUSB port, micro SD card slot and the USB recharging port. It uses a mini panel mounted toggle switch to power the device on/off. There's also a 1/4-20 hole for a standard tripod mount so you can mount it however you'd like.
Case Dimensions
72mm (2.8in) x 99mm (3.9in) x 21mm (0.8in)
PyPortal Power
With the PowerBoost 1000C, you can use any of the 3.7v lipo batteries from the shop. We suggest one with a minimal capacity of 1200mAh. The PowerBoost 1000C has a battery charging circuit with 1A charging rate. Easily disconnect the PowerBoost from the PyPortal using a 3-pin JST connector.
Basic Portable PyPortal Guide
Our guide on making a portable PyPortal covers the basics and is intended for general reference. This guide documents the assembly of the 3D printed case.
Prerequisite Guide
Learn all about the Adafruit PyPortal by checking out the guide. It has documentation and tour walk through of the pin outs and components. Libraries for Circuit Python and demo code is available.
Additional Supplies
-
M2.5 Standoff Kit – Black Nylon
- 4x M2.5 x 10mm screws (PyPortal)
- 4x M2.5 x 8mm screws (PowerBoost)
- 4x M2.5 hex nuts
- 28AWG Silicone cover stranded wire
- 3-pin JST cable
- Spudger – Double sided Prying Tool (Optional)
- Tripod Swivel-Head Mount Adapter (Optional)
Page last edited March 08, 2024
Text editor powered by tinymce.
3D Printing
3D Printed Parts
Parts are designed to be 3D printed with FDM based machines. STL files are oriented to print "as is". Parts are listed below with file name and description. Parts require tight tolerances that might need adjusting slice setting. Reference the suggested settings below.
Part Files
Here's a list of the parts used in this project. Order goes from left to right.
- pyp-bracket.stl
- pyp-back.stl
- pyp-box.stl
- pyp-top-blank.stl
Slice Settings
Use these settings as reference. Values listed were used in Ultimaker's CURA 3.X slicing software.
- 0.2mm Layer Height / 0.4mm nozzle
- 0.38mm Line Width (inner & outer widths)
- 40mm/s printing speed
- 20% infill
- Supports: No
CAD Assembly
The enclosure is made of three pieces that snap fit together. A frame features mounting tabs that are used to secure the PyPortal PCB. Front and back place plates can be swapped out (Use a spudger to pry open). The PowerBoost PCB is secured to a bracket that is fitted in between the 3d printed frame and PyPortal PCB.
Page last edited March 08, 2024
Text editor powered by tinymce.
Wiring
Circuit Diagram
The 2-pin JST cable from the battery connects directly into battery port on the PowerBoost 1000C. Voltage and Ground wires from the PowerBoost 1000C connect to the 3-pin JST port on the PyPortal (doesn't matter which one).
- 5V/VCC pin from PowerBoost 1000C to 3-pin JST(VCC) on PyPortal
- GND from PowerBoost 1000C to 3-pin JST(GND) on PyPortal
- EN from PowerBoost 1000C to switch
- GND from PowerBoost 100C to switch
Toggle Switch
Use a 2-wire cable (6cm long) to connect the toggle switch to the PowerBoost. Remove a bit of insulation from the tips of the wire and tin them with a bit of solder. Connect the wires to the middle pin and either the far left or right pin on the switch. A third helping hand tool can hold the switch and wire in place while soldering.
Connect Switch to PowerBoost
Solder the two wires from the switch to the EN and GND pins on the PowerBoost. We'll use the 3-pin JST cable soon. Polarity doesn't matter so the wires can go either way.
Connect JST Cable
We'll use a 3-pin JST cable (9cm long) to easily connect the PowerBoost to the PyPortal. We only need two of the three wires, so you can remove the white wire. Using wire strippers, remove a bit of insulation from the tips of the wire and tin them with a bit of solder. Solder the wires to the voltage (+) and ground (–) pins on the USB output of the PowerBoost.
Test PowerBoost
Plug in the 2-pin JST cable from the lipo battery into the battery port on the PowerBoost. Then, connect the 3-pin JST from the PowerBoost to either of the two 3-pin ports on the PyPortal. Use the toggle switch to turn the circuit on and off.
Quick Connect!
You can easily disconnect the battery from the PowerBoost, and disconnect the PowerBoost from the PyPortal. This makes it easy to install in and out of project enclosures, stands and the like. You could even wire the toggle switch to a 2-pin JST cable set for extra modularity.
Page last edited March 08, 2024
Text editor powered by tinymce.
Assembly
PowerBoost Setup
We'll need four M2.5 x 8mm screws and nuts to secure the PowerBoost PCB to the bracket. Start by inserting the screws into the PowerBoosts mounting holes. Then, fasten nuts onto the threads of the screws like shown in the photo.
Secure PowerBoost to Bracket
Orient the PowerBoost PCB so it's right side up with the bracket (the flat side) and line up the mounting holes. Insert the screw threads into the brackets mounting holes that are line up. Insert and fasten four additional M2.5 nuts onto the threads of the screws.
PyPortal Connections
Plug the JST connector from the PowerBoost into one of the ports on the PyPortal – The port closest to the tab is a good choice. Plugin the pico blade connector from the mini oval speaker into the speaker port on the PyPortal. Get the 3D printed frame handy.
Frame Install
Grab the toggle switch and remove the fasteners from the stem. Insert and panel mount the toggle switch into the hole on the side of the 3D printed frame. Place the PyPortal into the 3D printed frame with the cutouts lined up with the ports. Insert the PyPortal PCB at an angle so the mounting tabs line up with the mounting holes on the 3D printed fame. Place the 3D printed bracket over the PyPortal PCB with the mounting tabs lined up with the holes.
Secure Frame to PyPortal
Insert and fasten four M2.5 x 10mm screws through the mounting holes on the frame. These should go through the mounting holes of the PyPortal PCB. The screw should fully clear the mounting tab on the 3D printed frame. Repeat this process for the remaining mounting tabs.
Plugin Battery
Grab the JST connector from the 3.7v 1200mAh lipo battery and plug it into the port on the PowerBoost. The Battery can rest over the ESP32 modular inside the frame.
Install Speaker
The back plate features a little holder for the speaker to snap fit into. Orient the speaker so the wiring can be fitted into the frame without being kinked. Press the speaker into the holder to fit it into place.
Snap Fit Backing
Orient the back plate with the features on the frame – the square cut out should be a good indication. Carefully fit the backing so the lips catch the nubs on the side of the framing. Firmly press the lips into the framing to snap fit everything shut. Press down on all the sides to fully shut it closed.
Snap Fit Top
Similar process for the face plate – orient the top so the cutaway is lines up properly with the display. Press fit the plate into the framing to close everything shut.
Power Test
Use the mini panel mounted toggle switch to power on/off the PowerBoost – This will feed power to the PyPortal as long as it's plugged into the PowerBoost.
Recharging Battery
The microUSB port on the PowerBoost is used for recharging the 3.7v 1200mAh lipo battery. It's got a charging rate of 1A, so it takes about an hour and a half for a full recharge. With the PowerBoost connected, the microUSB port from the PyPortal will still provide power.
Opening Case
I suggest using a pudger praying tool to open up the case. Wedge the flat piece in between the framing and either the front or back plate. Press on the sides of the framing to slightly flex it open.
Page last edited March 08, 2024
Text editor powered by tinymce.



























