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 software needed is also free and open source, OpenSCAD. Newer “development snapshot” versions of OpenSCAD make tailoring designs very easy. Enable
Edit | Preferences | Features | Customizer and set
Edit | Preferences | Advanced | Turn off rendering at _1000000_ since some PELA models are quite large.
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 bar 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 bars. 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.
PELA Calibration Bar, Normal Filament PELA Calibration Bar 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 bar, be sure to set the
large_nozzle settings in
After you print the clibration bar, you update three settings to get a tight fit:
axle_hole_tweak. These can be read from the side of the calibration bar.
- Print the Calibration Bar 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 bar 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 Block with technic connectors A blending of traditional and technic features which extends the basic block. All other models are extensions and vaiants from this.
PELA Technic Bar A minimalist technic bar.
PELA Technic Bar A technic bar with a center section of holes rotated 90 degrees.
PELA Technic Corner Two bars joined at an angle.
PELA Technic Angle Connector Two bars joined at an angle.
PELA Technic Angle Connector Two technic bar connected vertically 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 Camera Technic Mount A Raspberry Pi 3 camera 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 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 edtched for raised text.
PELA Box Enclosure A generic enclosure for mounting boards inside protective side walls. ___
PELA Intel Compute Stick Box Lid Enclosure cover. You may prefer a knobbed or flat panel, but ensure proper ventilation.
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 Servo Motor Enclosure Add a round servo motor holder for 1:10 electric cars
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 PCA9685 16 Channel Servo Board 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 Knob Board Mount For holding relatively flat objects like a microcontroller within a PELA block that has knobs on top
PELA NodeMCU-32s Board Mount For holding an NodeMCU-32s microcontroller board within a PELA block
PELA NodeMCU v2 Board Mount For holding an NodeMCU v2 microcontroller board within a PELA block
PELA Arduino Mega Board 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.
Thingiverse Parametric LEGO Group are alternate source of these and other block designs.
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!