DreamMaker 3D 3.3.6

The stylish and smart 3D printer evolved to be the most reliable and user friendly choice!

This is a work in progress. It uses experimental unofficial firmware. Some users have already given good feedback, so I would say it is quite safe to give it a try.

This guide is oriented to experienced users (or those brave enough to try and learn, and expend time!!).
It uses an unofficial firmware (only compatible with OL PRO version so far), more details on this here: viewtopic.php?f=9&t=140

This bed leveling is completely manual, takes a long time but lasts (theorically) forever. You should forget about autocalibration once you do this. (Update: no need to calibrate again after 2 full weeks printing, and counting.)

Steps are like this:

Update OLP firmware
- Flash newest experimental firmware LR-4 (viewtopic.php?f=9&t=140)
- Factory reset + Default option
- Check version number in about menu says LR-4.

Install Pronterface and OLP drivers
- Download Pronterface (with Printrun) from here: http://koti.kapsi.fi/~kliment/printrun/
- Unzip on your PC and run Pronterface. It should look similar to next picture. Focus on the right-most part, that is where you write gcodes as described in next steps.


- (OPTIONAL) Create custom buttons on pronterface to save you some time later. These buttons can be created clicking on the + button below the grid on pronterface. I did create 4, one for the middle and 3 for each screw. My buttons are:
Center: G1 X0 Y0 Z5 F2000
XTower: G1 X-55 Y-64.81 Z5 F2000
YTower: G1 X83 Y-18.33 Z5 F2000
ZTower: G1 X-55 Y64.81 Z5 F2000

- Install OLP drivers as described in this topic: viewtopic.php?f=9&t=58 (make sure you fully read that topic, since there are different drivers to try, different ways of doing it, etc.
- Connect USB (printer restarts), connect to printer in Pronterface selecting COM port (just try until it works) and setting 250000 as baudrate. If it connects properly your OLP will answer with many details about your actual firmware. (You can at any time retrieve all these values sending gcode "M503", in order to check that some value has changed, for example)

Level your bed
- Using OLP menu, heat bed to your usual temp.
- Put bed screws back to 19mm all equal. Fix Z screw (the one at the rear tower) because you wont be changing it, it is your reference point.
- Using OLP menu, heat hotend to your usual temp. (it is best if you remove filament before, so it does not get warm for so long, because it can burn and block the nozzle, sometimes I did this and sometimes didn't, so it is not that crucial).
- From now on using pronterface and Gcodes:
- Always home printhead first (G28)
- Move nozzle down slowly until you reach bed (G1 Z(50-30-10...) F(slow))
- In order to be able to test everything, it is best if at this point nozzle touches bed at 3 or 4mm of Z heigth. So change M206 to accomplish this. For example my nozzle was not touching at Z=0, so I increased offset (M206 Z8) and afterwards nozzle was touching at 3mm in the center.
- Now using gcodes move the closest you can to the screws, first at Z=5 or similar (this is where you should use custom buttons in case you created them). Once in position, go down using the paper method until you feel some drag on the paper when you try to move it, send M114 to check Z position. Write it down.
- Do this in all 3 screws and adjust them (un/screw them) until all of them show same drag at same Z. Remember you dont change Z screw, only X and Y to match Z.
- Once you have screws perfect, check center point, if it is different from screws, tune delta radius until they are the same distance, screws and center. (To change delta radius use gcode "M665 R(new_delta_radius)")
- Once screws and center are perfect, check other points of bed, for example: full X and full Y on both directions.
- If every point is similar (+-0.1mm approx) then you are lucky and you have finished. Just remember to adjust M206 so nozzle touches bed at z=0. You may have to adjust m206 several times in next prints until you find perfect Z offset.
- If you have some points/areas with different distance, you are not lucky and you will have to tune angles. For example my nozzle was 0.5mm further away of bed at Y=-85, so I had to change TowerYangle to 61 degrees and repeat everything. (To change tower angles use gcode "M664 X(tower_x_angle) Y(tower_y_angle)", in degreess, always positive.)

Remember that if you change any setting (screws dont count) you should go home (G28) before testing again.
Pronterface lets you make custom buttons that will save you some time with going to test points (already explained).
Also, once you are finished, send M500 to save settings on eeprom so they are loaded every time you restart printer AND mark&fix your bed screws, so they can't move, or in case they move a little you can put them back without having to repeat everything!

Note about gcodes: gcodes do not use any symbol like ( ) " ' [ ], so when I put an example like "M664 X(tower_x_angle) Y(tower_y_angle)", you are supposed to write on your console just something like this:
M664 X60 Y60

Just for reference, I had to increase delta radius from 100 to 101.7, and towerY angle from 60º to 61º, and Zoffset from 0 to 5.85mm (but Zoffset depends a lot on how you set your baseplate screws and what hotend and adapter you are using, if not using the original one).

This is not easy nor short method, but believe me, it is worth it.

I have not had to calibrate my bed for a week, full day printing, I believe I will not have to calibrate it again ever, until geometry changes. And now I am able to use full bed with great adhesion and surface finish.

There are other geometric parameters that can be tuned, let me know if somebody can't level his bed with just radius and angles.

Let me know if you have any doubt. :)

Update 14th October: This manual leveling changes some geometric parameters of the firmware, so you should recalibrate your XY steps once finished with the bed leveling.
Last edited by LuisRodenas Lorda on Thu Jan 21, 2016 7:49 pm, edited 9 times in total.
Hi Luis,

thanks for your efforts and your writeup. Did try your custom firmware last night and it really really helped. Now i have a good leveled bed, manually and quite time consuming, but leveled at last. Maybe, when time goes by and we will get all access to the source, we will be able to implement an auto-leveling that actually works (as advertised, TM)

Kind regards and keep up the good work
Hi Luis,

This might be a better way to get the tower angles. I'm gonna give this a try and see how it comes out.

[url=http://www.thingiverse.com/thing:745523]Delta printer calibration object calibrate tower position[/url]
Hi Luis,

I would just like to say thank you for the guide. Life saver. The machine was 4.4mm out on the Z axis and after following the guide I am getting great results. Learnt a bit along the way as well. :D + the experimental firmware sorted out LCD issues that I had and just seems better.
Hi Luis,

I printed the part above in my previous post, and according to it my towers are ok at 120 deg spacing. However the part indicated that I had DIAGONAL_ROD error on the X tower.

I'm also concerned that your procedure that calls for tweaking the bed screws is possibly the incorrect way to proceed. the bed screws are not located next to the towers so adjusting them is going to be a crap shoot. Also compounding the problem the head is not centered and offset closer to the Y tower. I'm not sure of the correct course of action but I think the solution lies with setting the bed to level and adjusting the endstop screws on each of the carriages to get ROD lengths equal. I think that this will also fix some of the dimensional inaccuracies we are seeing.

Your thoughts?

Hello Rick,
First, did you get a good bed leveling everywhere? Please check center, towers, and in between towers. They should be +-0.1 mm or so.

About tuning screws, it is true that screws are not in the middle of towers, also nozzle is moved from the middle, so what I did (not sure if it is the good way, but worked for me) is that when I say that I checked towers, I actually found the position that drove the nozzle closest to each screw, in order to try to not be influenced by other things apart of the screws.

Have you modifed your tower angles? In my experience, I printed that calibration angle test before and after changing towerY angle to 61 degrees. I cant see the difference, or it is really small and measuring is not very accurate nor easy. I will share pictures later.

Before changing delta tower angle I had to adjust XY steps a lot. After the change, original steps were almost perfect, only needed a small adjustment. Right now I can't test dimensions in a good manner, since I only have ABS and it shrinks a lot. Soon I will start with nylon and will be able to check dimensions better. But right now it looks good, my measurements show errors from 0.1 to 0.5 mm in those 60mm pieces of the test. No calibration for shrinking yet.

It is totally possible that some of your rod lengths are different. If you try everything and still think that you need to change those values, let me know and I will make a firmware change so user is able to change those lengths from gcodes. I tested this before tuning delta angles, and found that it also affects bed leveling, so everything will have to be tuned again every time I'm afraid.
Hi, Luis,

I think that everything is based on having correct Delta Rod length values. Yes it will require redoing the calibration, but it will fix dimensional inaccuracies that we are seeing including prints that are leaning when the should be square. I also think that we should look into adjustments of the carriage endstops this might also fix the rod length errors.

Hello! And thank you for this guide!

I am in the middle of calibration, and I can't get the center correct!

My corners is touching at Z4, but center don't touch before 3.6! I have tried to tune delta radius, but it has no effect! Have I done somthing wrong?
If your nozzle is further or nearer from the bed at the middle than at the outer perimeter, you need to tune Delta Radius. You do this using gcode "M665 R(new_delta_radius)". Then you send "M503" to check that delta radius value has changed. This change ONLY affects points at outer perimeter, so check those, not center, because center does not change unless you change Zhoming offset with M206.

Now, if your nozzle is at different distances at towers/screws points than at those points in between towers, then you need to adjust delta tower angles. You do this using gcode "M664 X(tower_x_angle) Y(tower_y_angle)", in degreess, always positive.

Start your 3D printing journey