We measured the length, width and thickness of this board and used the customizer graphical interface to create this functional prototype enclosure with snap fit connectors. Now we can rapidly iterate our models in the field. The design took about 5 minutes plus 30 minutes for printing. This model is saved as a drop down preset of the
PELA Technic Mount model.
Now you can design models without coding and snap them together!
LEGO-compatible Parametric 3D Printed Blocks
PELA blocks are designed for easy 3D printing, strength, and rapid customization using free software. One time calibration gives perfect snap-together objects in exotic materials and geometries to help you explore your ideas and build with exotic materials and any motors and electronics you like. Example enclosures with many options for custom sensors, actuators, computers and IoT devices are included, or create your own.
These designs are not by the LEGO corporation. LEGO-compatible blocks are available from multiple manufacturers. Associated basic block patents expired long ago. Press-fit blocks existed before LEGO and we continue that tradition of adapt, evolve and improve as we provide these open source designs for 3D printing.
The name PELA comes from the Finnish “pelataan” meaning “let’s play”. This blog post on how we use these to build a self-driving 1:10 drift car is a good example of rapid prototyping “play”.
The STL files shown are not calibrated for your printer. To get a good snap fit with your 3D printer and different material, you need to fine tune the size of knobs, sockets and technic holes. Some starting values are
- DOWNLOAD the latest designs, or
git clone email@example.com:LEGO-Prototypes/PELA-parametric-blocks.git --recurse-submodules, then
git lfs installin each git module
- Calibrate the PELA Block models for your material and printer
See Advanced Setup for additional tricks.
See the Slicer Recommendations for information about different printing materials we have tested.
TL;DR : To get a nice snap fit for your printer, slicer settings and material, print a calibration beam and test fit commercial bricks to the top knobs, bottom sockets and side technic holes. Update the best
material.scad. Now open any model in OpenSCAD, press
F6 to generate the model then
F7 to export an STL.
There are several possible calibration beams. Most users will want the one linked below unless they are printing with flexible filament.
Test fit the top, bottom and sides to get something which is tight but not too tight. Then update your settings in
material.scad then one time calibration is complete.
The software needed is also free and open source, OpenSCAD. Newer versions of OpenSCAD (currently PR4) make tailoring designs very easy, but you need to enable the Customizer. Enable
Edit | Preferences | Features | Customizer.
PELA models are quite large. To see them properly,
Edit | Preferences | Advanced | Turn off rendering at _1000000_. Also turn off
OpenGL 1.0 compatability as that is mostly for very old computers.
You can also configure slicing and printing directly from OpenSCAD. See their website for details.
PELA Calibration Beam, Normal Filament PELA Calibration Beam for standard filament (non-flexible).
Your printer, slicer settings, and plastic effect the precise fit. To correct for this, we adjust the models slightly for your printing process. Calibration is a one time process for each material. It is as simple as fitting two blocks together and editing a text file,
material.scad to indicate which test block fits best.
Before you print the calibration beam, be sure to set the
large_nozzle settings in
After you print the clibration beam, you update three settings to get a tight fit:
axle_hole_tweak. These can be read from the side of the calibration beam.
- Print the Calibration Beam and test fit the top knobs and bottom sockets against commercial LEGO. Put the
top_tweak(on the side, near the top) and
bottom_tweak(on the side, near the bottom) values that you can read from the side of the beam into
- Use OpenSCAD to generate a new 2x2x1
PELA Blockin OpenSCAD using these new settings, press
F6to render, and
- Confirm a good fit with both commercial blocks and other PELA Blocks.
- If you find you also need to adjust the technic connector hole size, print the Calibration Block Set.
axle_hole_tweaknumbers change along with
- Repeat this process as needed when you change material, nozzle size or and slicer settings which affect geometry.
An alternative set of individual calibration blocks are available, and if you have an unusual material there are other numbers you can tune such as various part thicknesses. See Advanced Calibration
PELA-compatible Part Designs
style.scad to adapt these models before printing them. The example models below are not yet calibrated for your slicer and printer. Calibrate and then make the tuned model from the .scad file.
PELA Technic Block A blending of traditional and technic features which extends the basic block. All other models are extensions and variants of this.
PELA Technic Beam A minimalist technic beam.
PELA Technic Beam A technic beam with a center section of holes rotated 90 degrees.
PELA Technic Corner Two beams joined at an angle co-axial to the technic holes.
PELA Technic Bent Beam Two beams joined at an angle normal to the technic holes.
PELA Technic Angle Connector Two beams joined lengthwise at an angle.
PELA Technic Axle Rigid and flexible material shafts of adjustable length for attaching to other 3D printed designs such as wheels which you want to rotate freely.
PELA Technic Cross Axle Rigid and flexible material torque drive shafts for adjustable length for attaching to other 3D printed designs.
PELA Socket Panel Insert knobs from both the top and bottom. Zoom in to see the subtle flexure ridges for enhanced “snap” fit.
PELA Knob Panel Optional corner holes for M3 bolts can be enabled
PELA Technic Pin This is difficult to print with some material, but useful you run short and don’t want to wait for mail order. It works best with slightly flexible materials.
PELA Technic Pin Array A set of technic pins for multi-point connection.
PELA Raspberry Pi 3B Technic Mount A Raspberry Pi 2/3 holder.
PELA Raspberry Pi Zero W Technic Mount A Raspberry Pi Zero W holder.
PELA Raspberry Pi Camera Technic Mount A Raspberry Pi 3 camera holder.
PELA Jetson Nano Technic Mount An NVIDEA Jetson Nano enclousure.
PELA Raspberry Pi Camera Technic Mount A Raspberry Pi 3 camera holder.
PELA Intel T265 Realsense Tracking Camera Technic Mount An enclosure for an Intel T265 AI SLAM camera.
PELA Powerbank Technic Mount A container for a Clas Ohlson 38-3456 USB battery.
PELA Sparkfun BigEasyDriver Technic Mount A pulsed infra-red motion sensor holder.
PELA PIR Motion Sensor Technic Mount A pulsed infra-red motion sensor holder.
PELA Technic NodeMCU v2 Mount A technic mount for NodeMCU v2.
PELA Arduino Uno Technic Mount For holding an Arduino Uno microcontroller board within a PELA block
PELA Technic Seeed Respeaker Core v2 Mount A technic mount for the Respeaker Core v2 microphone array.
PELA Sign Change the text to label your designs. Options include front and back text with either etched for raised text.
PELA Panel Sign Change the text to label your design either etched for raised text.
PELA Technic Sign Change the text to label your design.
PELA Box Enclosure A generic enclosure for mounting boards inside protective side walls.
PELA Grove Module Attach a SEEED Grove module to your build such as a plug-in electronic sensors (ultrasound, touch..) with a 4 wire plug in connector. Snap your design together without soldering.
PELA N20 Gearmotor Enclosure Add a commonly available small gear motor to your design. Adjust the model parameters to fit other motor sizes.
PELA Camera Mount Screw You can use this quarter inch standard camera mount screw for flush mounting the HTC Vive to the Vive Tracker Mount. The printed version works better than you might expect.
PELA Strap Mount For attaching using strap or similar straps through the bottom slot. For example use this with velcro straps to mount Vive trackers on your shoes..
PELA Knob Knob Mount For holding relatively flat objects like a microcontroller within a PELA block that has knobs on top
PELA SparkFun Pro Micro Knob Mount For holding a small Aruino-compatible microcontroller board.
PELA PCA9685 16 Channel Servo Bard Knob Mount For holding a servo board within a PELA block with connectors exposed at one end.
PELA PCA9685 16 Channel Servo Board Technic Mount For holding a servo board within a PELA block with connectors exposed at one end. We use these with 1:10 RC drift cars and Rasperry Pi for a PELA drift car in the Markku Invitational contest based on Donkeycar.
PELA NodeMCU-32s Knob Mount For holding an NodeMCU-32s microcontroller board within a PELA block
PELA NodeMCU v2 Knob Mount For holding an NodeMCU v2 microcontroller board within a PELA block
PELA Arduino Mega Knob Mount For holding an Arduino Mega within a PELA block
FFF Printing Tips
- Use a 0.4mm or smaller nozzle if possible to avoid decimation of some socket details
- If slicing with Simplify 3D with 0.5mm or larger nozzle, you may want to set Simplify 3D to
Advanced | External Thing Wall Type | Allow single extrusion walls
- Be aware that slicers may in some cases not be able to correct OpenSCAD STL export errors. These errors should be visible in layer preview as for example extra excursions back to origin. If this happens, open and clean the STL files first with for example Microsoft 3D Builder, Meshmixer or MeshLab. MeshLab command line examples can be found in
- Best results are achieved with durable materials that are not too stiff (PET, co-polymers like NGEN, semi-flexible and “engineering” materials instead of PLA and carbon filled).
- Best results are achieved with smaller nozzle diameters. Adjust slicer settings for precision over speed. Layer height is not particularly important on most models.
- Think carefully before using very slippery materials such as Nylon.
- “standard” and “fast” print setting layer lines are helpful for extra connector grip provided the resulting print geometry is sufficiently accurate.
- A print “brim” the appears inside the model may negatively affect the bottom connector fit
- Leaving the blocks on a heated bed may negatively affect the bottom connector fit
Resin Printing Tips
- If more than 2 layer tall PELA with a relatively solid interior not allowing drainage below the knobs, check if you need to expand the airhole to allow resin to drain from the flexure chamber inside each knob
- For translucent materials, setting knob_slice_count to 0 may make the interior structure look more like a standard PELA at the cost of a slight reduction of knob sidewall flex
These designs are by PELA project contributors, not by the LEGO corporation. They are compatible with LEGO and similar blocks available from multiple manufacturers and online projects. The associated patents have expired. These designs are not identical to LEGO; they have been specially modified for easy 3D printing and offered in the spirit of open source collaborative innovation.
If what you want is available as injection molded plastic, buy it for the higher quality and durability. These model are helpful when you want something customized, a special color, an unusual material, and for replacement parts when you just can’t wait.
These open source designs are brought to you by Futurice and contributions from the community. Come work with the best.
Projects Using PELA Blocks
The generated 3D models displayed here are hosted in a separate GitHub project to minimize the size of pulling changes in this repo: PELA-parametric-blocks
Alternative 3D Block Designs
If you don’t find what you need, consider adding it, contact us or check out the many other excellent design available.
marian42’s excellent online technic part generator can help you make custom connectors and fixture easily.
Thingiverse Parametric LEGO Group is an alternate source for these block designs. These designs don’t work with the online customizer (speed and complexity, multiple files), so the best path is still to install the newest OpenSCAD and download the models.
New models, collaboration and pull requests are welcome. You have the tools- now create something cool and share with the world : https://github.com/LEGO-compatible-gadgets/PELA-parametric-blocks
If you like what you see, please tweet and let others know!