2. Polish 3D printer

In this page you will find Practical Training Center in Jastrzebie-Zdrój DIY 3D printer. 

New technologies such as 3D scanning or spatial design, which are increasingly influencing the market, motivated us to create a device that will allow us to use these possibilities better than before. 

3D printers are becoming more and more popular day by day, but printing in many colors at the same time is not common. The idea that we want to implement with our printer is to help disabled children, mainly autistic. Color prints will be better perceived by such people. They will find it easier to find new unusual toys if they are interested in their interesting design.

The goal that has guided us from the very beginning is to introduce children to the world of technology and stimulate their creativity through childish curiosity. We pay special attention to those whom life has experienced from the very beginning, who suffer from various dysfunctions. We want the easiest way to implement them in the methods of 3D printing and prove that they can design, create and print what they have created themselves. To use a 3D printer, all you need is a computer with an appropriate program in which children can draw various things. The finished project is sent to a 3D printer that prints the object out. Children can watch with their own eyes how the objects designed by them are printed. An innovative approach to 3D printers is the fact that, under the supervision of older colleagues from CKZ, children participate, for example, in technical workshops, which consist of designing and printing their names on 3D printers. Children also learn about the principle of 3D printing, as well as watch and work on teaching aids that have been printed by CKZ students on 3D printers.

Printer assembly is divided into 3 groups - Assembling, parts printout and software.

Parts list

Below is list of parts that we used to build our 3D printer. You can find many parts from your local shops and vendors. 

As alternative and homeuser you can find parts with same specs in ebay or in allegro.pl. 

The base of the printer is the MendelMax design with minor changes such as the widening of the base and a different mounting of the X axis.

Printer controller based on Arduino Mega 2556 with RAMPS1.4 and CNC Shield. 

Because of different printing head, we had to do changes into our program also. 

You can find all the info and downloadable files at the bottom of the page.


TRI nozzle

AL. profile

Plastic parts connecting aluminum profiles are made of PLA material in 3D printing technology.

Look carefully and you can see that we use a lot of diagonal printouts. 

Simple reason for that - more frigid the frame- less vibrations and better quality!

Mechanical design of parts were done in CAD program named  Solid Edge 

Printer axis are driven widely spread NEMA 17 motors.  

Graphic display informing about the printer status and allowing to change parameters while the device is running.

We use the use of Marlin software in the printer controller.


Like all building processes, we start with  the assembling the frame and other big parts. 

We cut aluminium profiles to length and then screw them together. 

Also at the beginning we start to print plastic parts for our printer.

Because we made Solid Edge model and assembly from that model,  we could virtually design and look where and how our parts will go. Real engineering 😊

Of course we did some minor adjustments for some parts further on.

You should be very careful when assembling printed plastic parts. Some of them need some post prosessing, for example some holes needed redrilling. 

Also because 3D printer has to be very precise and equal in every way, make sure that you measure and compare measurements all the time.  All shafts and rails should move freely and without any strugle.

Another thing to pay attention when installing wiring is to make good connections.

Soldering for good connections are essential. 

Also when routing some cables and cords, look carefully that they don't move or get stuck somewhere when printer is working.

Be sure that wires will not rub in touch of anything. 

When installing Arduino and making connections, be very precise, where to put something and which way socket will be inserted. Arduino is motherboard for software and runs on small amperages- wrong directions move current flow and result is - BOOM 😊

Also port names/aadresses are important, when you are making software programming (Merlin firmwire). 

Program must know what actuator is in which port address and what way  should it move.

 Here is final outcome video of our printer assembling. 

As you can see, we made all together 3 printers. 

Reason for that is our students- they got very excited and activated more than we hope! Also because printing time for 1 or 3 printer parts is the same and if we bought al. profiles we won't use so much material for our triangular design- so we had "leftovers".

Download printer parts

Here you can download the Solid Edge files (.par files)  for all of the components needed our 3D printer build. 

Just press button below or icon on the right and you start downloading the file folder.

Software - "Marlin"

Marlin is open source software that Arduino based 3D printers needs to operate. You can put printer together from various different parts, but you need software that moves them in right place in right speed.

Marlin is good, because it has BIG community support and most of programming is already done. In code you just have to change data for your settings and its ready to go...  All instructions are inluded in software!

Little  introduction:

Marlin is an open source firmware for the RepRap family of replicating rapid prototypers — popularly known as “3D printers.” 

It was derived from Sprinter and grbl, and became a standalone open source project on August 12, 2011 with its Github release. Marlin is licensed under the GPLv3 and is free for all applications.

The reference platforms for Marlin is an Arduino Mega2560 with RAMPS 1.4.

How Marlin Works

Marlin Firmware runs on the 3D printer’s main board, managing all the real-time activities of the machine. It coordinates the heaters, steppers, sensors, lights, LCD display, buttons, and everything else involved in the 3D printing process.

Marlin implements an additive manufacturing process called Fused Deposition Modeling (FDM) . In this process a motor pushes plastic filament through a hot nozzle that melts and extrudes the material while the nozzle is moved under computer control. After several minutes (or many hours) of laying down thin layers of plastic, the result is a physical object.

The control-language for Marlin is a derivative of G-code. G-code commands tell a machine to do simple things like “set heater 1 to 180°,” or “move to XY at speed F.” To print a model with Marlin, it must be converted to G-code using a program called a “slicer.” Since every printer is different, you won’t find G-code files for download; you’ll need to slice them yourself.

As Marlin receives movement commands it adds them to a movement queue to be executed in the order received. The “stepper interrupt” processes the queue, converting linear movements into precisely-timed electronic pulses to the stepper motors. Even at modest speeds Marlin needs to generate thousands of stepper pulses every second. (e.g., 80 steps-per-mm * 50mm/s = 4000 steps-per-second!) Since CPU speed limits how fast the machine can move, we’re always looking for new ways to optimize the stepper interrupt!

Heaters and sensors are managed in a second interrupt that executes at much slower speed, while the main loop handles command processing, updating the display, and controller events. For safety reasons, Marlin will actually reboot if the CPU gets too overloaded to read the sensors.

To make anykind of changes in software, be sure what to do. Marlin uses very wide spread  C/C++ programming language. 

On your right are basic changes in program, when you use our printer dimensions and hardware.

Basically you have to define nozzles, printhead temp. heatbed size and X;Y;Z axis dimensions and directions.

Marlin is a huge C++ program composed of many files, but here we’ll only be talking about the two files that contain all of Marlin’s compile-time configuration options:

These two files contain all of Marlin’s build-time configuration options. Simply edit or replace these files before building and uploading Marlin to the board. 

A variety of pre-built configurations are included in the Configurations repository  menu page in Marlin official homepage.

And don't be afraid- learning programming is same important as making printer. You can use this universal programming language anywhere where you use Arduino!!! 

Here are pictures of different applications of 3D printer. 

Our main goal is to use them in engineering and prototyping field, but it is only one way to go. As we mentioned at the beginning of this page, our purpose was also to introduce children to the world of technology and stimulate their creativity through childish curiosity. Special attention to those whom life has experienced difficulties from the very beginning, who suffer from various dysfunctions.

Word "dysfunctions" doesn't mean automatically that they are somehow less compatible compared to ordinary person. They just have different understanding of world and things in it. Weird thing is, that usually they are mechanically even more capable than normal people, they just need little "push"

So some printout gears and simple machines may be very beneficial for them. They use their mind in full power and... that's always good.