LightBlue 3D




About: Trust me. I'am an Engineer.


In the past 4 years I've played with 3D printers.
I have discovered and learned new skills and knowledge. I designed and printed a lot of objects. I fell in love with 3D printers. And I hated them. And again I fell in love.

And now I've decided to make a 3D printer. An open source printer.

In this instructable I will describe how to build your BlueLight 3D printer. It is the first 3D printer we produced and is the basic model. If you want, you can upgrade to DeepBlue 3D or even to DeepBlue 3D Pro.

Highlights: cube like frame, new cross XY rolling system design, servo Z probe for all bed surfaces, four point translation bed design, simple filament run out sensor, active cooling with laminar air curtain and Marlin 2.0 firmware (early stage).

The DeepBlue 3D Pro, the top of the Blue3D range has an active enclosure, wi-fi connection, raspberry pi with octoprint and direct extruder.

LightBlue 3D characteristics:

    • print volume 200x200x230 mm;
    • very rigid cube structure;
    • FDM technology;
    • minimum layer height of 0.06 mm;
    • heated bed & flexible PEI sheet bed;
    • autoleveling with servo probe;
    • e3Dv6 hotend type;
    • runout filament senzor M600;
    • top print speed 120 mm / sec;
    • Bowden or direct drive feed;
    • is open source;
    • has Marlin firmware with Z-axis synchronization.

    These instructions are a brief description of the LightBlue printer. I tried to be as clear and complete as possible, but if you feel the need for more detailed descriptions, please contact me. I'll be happy to help you.

    Thanks to the RepRap community and Marlin developers for intelligence, hard work and dedication to developing 3D printers.

    Note: Attached * .stl files are the latest evolution and, possibly, are different from those used when we made the movie. However, the installation differences are minor.

    Step 1: Frame

    I opted for a cube-like frame to get great rigidity, to get the ability to upgrade to a closed and active chamber, and to support the new xy-axis mechanism.

    To simplify the fitting of profiles we used CNC cut profiles. It is important that the profiles have exactly the required length and the cuts are perpendicular. The mounting mode can be seen in the attached movie.

    The horizontal profiles are of the 20 mm V-slot type and have a length of 330 mm.

    The vertical profiles are of the 20 mm T-slot type and have a length of 375 mm. The vertical profiles have 4 mm holes at one end at a distance of 10 mm on a face and 35 mm on the perpendicular face - see image. These holes are to tighten the M5 mm screws.

    For the base I chose an MDF board of 18 mm thickness , ensuring the rigidity and closure of the frame. Use base.pdf for execution.

    For side closures we used 3mm aluminum composite panels. I attached the execution drawings.

    Step 2: XY Carriage

    The basic range has a Bowden carriage that can be upgraded to direct drive by adding a direct drive option.

    I opted for a cross design that is very rigid in all directions. It is also lightweight, has a small number of components that are easy to obtain.

    I attached the necessary STL files. I printed all parts in PETG (LightBlue colored, hence the name).

    For the assembly of the parts watch the attached movie.

    The Z-axis sensor is of the servomotor type. It is inexpensive, easy to configure and can be used regardless of the bed surface. To power the servomotor we used a 5V step down voltage converter from 12 V power supply.

    Step 3: XY Rolling System

    The rolling system for the X and Y axes has been designed from scratch and uses mini rollers from the openbuilds. The movement on the axes x and y is very precise and vibration free.

    The engines used are Nema 17 with a torque of 0.59 Nm. The belts used are GT2 type with a length of 1m, requiring 4 pieces. The roller supports are designed with pre-tensioning, but also have tension adjustment screws.

    For belt guides I used 604zz flange bearings and 3D print corner supports from PETG.

    Step 4: Belts & Tensioning

    For belt tension adjustment and keeping the perpendicularity between the X and Y axes we used 4 locks only for belt tension adjustment. Pay attention to fitting the locking system to avoid damaging the rolling path for the rollers. Do not over tight.

    Observe how the belts are arranged in the attached pictures and drawings. Use zip ties to fasten the belts.

    Step 5: Z System

    The Z-axis axle system is designed to be as rigid, light and precise as possible. I placed two 10 mm axes and two trapezoidal screws in the 4 corners of the aluminum bed. The aluminum bed is the support for the silicone heater and also a support for the printing surface which is made of flexible steel sheet and the surface that provides adhesion is made of PEI foil.

    The flexible sheet of steel together with the PEI foil is fastened to the aluminum bed by means of clamps. I prefer grip with clamps and not with magnets because I can warm the bed to 115 degrees celsius to print ABS.

    The aluminum bed is factory leveled with sheets of different thickness, and the two Nema 17 0.4 kgf engines are synchronized with a new g code G34. Thanks to Marlin developers, especially TheLongAndOnly and ThinkyHead users.

    Step 6: Extruder & Runout Sensor

    The easiest way is to choose an Mk8 extruder and mount it as shown.

    We also designed an extruder similar to Mk8 that can be printed and mounted in the same position. Pay attention: the filament path will need to be calibrated using a 2mm drill after you print the body.

    In the extruder's body is mounted a runout filament sensor, which consists of a 6 mm ball and a microswitch.

    The PETF tube will be V-cut and will be mounted at the extruder outlet to provide a friction-free trajectory for the filament, see image.

    The extruder has a detachable casing to clean the gear.

    The filament roll is supported by a support that is mounted in the left-hand side.

    Note: In response to a question from Thingiverse: In this project i propose another solution.I use a 6 mm ball between filament and microswitch. I've attached 2 pictures to help understand my solution. So far it has gone perfectly. Also see the PTFE tube cut in V.

    Step 7: Active Cooling

    For materials requiring cooling, PLA, PETG, etc., we use two 50mm fans together with a laminar air jet chamber. So we create an air curtain of a few millimeters that will cool the last printed layer. Also, if the printer closes with plexiglass panels, the air curtain will keep the air warm inside, making it easy to print ABS.

    The temperature inside the enclosure can be controlled by means of a servomotor and a dash that mixes the outside air with the inside air. These components are provided with the DeepBlue Pro printer.

    The laminar air jet chamber is divided into three sections to make it easier to print. After printing and adjusting, they must be glued.

    For a more linear control of fan speed we used the attached scheme. The components were fixed in the holes provided in the laminar air jet chamber.

    Step 8: LCD

    To control the printer, we use a MKS mini 12864 display.

    For the model we have modified the cable sockets so they can be mounted in the 1.4 Adapter for Ramps. I just shave the key off the ribbon plugs and plug them in 180-deg around. We also use long cables.

    Step 9: Electronics

    For the printer control I used a Ramps 1.4 and Arduino Mega. Because it is a Cartesian system you can use any controller you have available.

    The power supply is 12V and 10A, enough for the printer's needs. For bed heating, we use a 220V silicone heater via a 40A SSR relay.

    Be careful: the aluminum bed must be grounded.

    For cooling we use the cooling system used for layer cooling. The 50 mm fans will draw cold air from outside through the electronics enclosure and then expel it through the laminar air system.

    Step 10: Firmware & Tuning

    Because I used a two nema 17 motors system for the Z axis, I used a firmware that introduced a new G34 command to keep synchronizing the two motors: Marlin-bugfix-2.0.x. developed by TheLongAndOnly on GitHub. Thank you.

    I attached the configuration files I used.

    Tuning procedure:

    • Depending on the type of pulley, stepper motor, driver, belt, etc. used, you will calculate the values for x and y using the calculator section "Steps per millimeter - belt driven systems". Our values: 1.8 degree stepper, 1/32 microstepping, GT2 belt, 16 pulley, and the result are 200.

    • Using the same calculator, you will also calculate the z value, section "Steps per millimeter - leadscrew driven systems" .Our values: 1.8 degree stepper, 1/16 microstepping, 8 mm leadscrew pitch, and the result are 400.

    • For the recommended extruder, Mk8, you can use the value of 95 for E.

    Now you will replace the values in #define DEFAULT_AXIS_STEPS_PER_UNIT { X, Y, Z, E } from configuration.h with the calculated values.

    #define DEFAULT_AXIS_STEPS_PER_UNIT { 100,100,400,95 }

    These are the calculated values. They will be slightly altered after calibration.

    For the value of z offset we can proceed as follows:

    • Using a host we will send "G28" command to the printer. The printer will look for x and y endstop then position itself in the center of the bed and test the Z.
    • Then we will position the hotend at height Z = 0 by "G1 Z0".
    • Now we'll use a piece of paper with which we'll probe the space between the top of the hotend and the bed. The paper has to slip into this space with a slight friction.

    • If it does not come in, or the friction is too high, we will use the software positioning system and we will raise the tip of the hotend by 0.01 mm until the paper is stretched with a slight friction. The value with which we raised the tip will be added with the addition of Z offset value in configuration.h. So if the value with which we raised the tip is 0.2 mm we will change the definition Z_PROBE_OFFSET_FROM_EXTRUDER -0.45 like this Z_PROBE_OFFSET_FROM_EXTRUDER -0.25.

    • If the paper enters too easily, we can still use one or more sheets and try it until the paper encounters a slight friction. We will count how many sheets we have overlapped and add value, with minus in definition. So if I squeezed 3 sheets the value will be -0.3 mm, and the definition will be Z_PROBE_OFFSET_FROM_EXTRUDER -0.75.

    To calibrate the number of steps for the extruder we will do so:

    • Using host we will send "M302 S0" , this command will allow the filament to be extruded at any temperature.
    • Using host we will send "G1 E100 F30" command to the printer, this command will extrude 100 mm of filament.
    • Now we measure the extruded filament and if it is not exactly 100 mm we will correct the value of E from #define DEFAULT_AXIS_STEPS_PER_UNIT { X,Y,Z,E } with : E=100*95/measured value.

    Now we are going to print a cube with the 20 mm side and measure it in all three directions. We will measure the sides of the cube and proceed as above to calibrate the X, Y, and Z values.

    After calibration, in my case, the definition has become #define DEFAULT_AXIS_STEPS_PER_UNIT { 100.125, 100.125, 400.125, 106.6 }

    Also I have activated the skew correction. I downloaded the test from the and I printed. After the measurement we replaced the values, exactly as described in the firmware. After a new print, the test square came out perfectly both in size and geometry. Very happy...

    To calibrate the flow I printed the same 20 mm cube but without top and bottom and infill and with one perimeter. We will measure the thickness of the wall and apply the same idea as when calibrating the extruder steps. If we printed with a wall of 0.48 mm (standard for a 0.4 nozzle) and a flow of 1 and we measured 0.5 mm, the new flow value would be 0.96. This value will be used in your slice program.

    Now we can also use linear advance. First of all, we need to activate this option in configuration_adv.h. Just delete the 2 "//" for "// #define LIN_ADVANCE", save, compile and upload the new configuration.

    For configuration, read the link We used the 1.5 version and we are excited about the results.

    If the Z-axis motors are no longer in syncron then we can use the G28, home all commands and then the G34 command that will measure the deviations and automatically level the print bed by synchronizing the two Z motors.

    Also, the printer is configured to use auto_bed_bilinear leveling. If you want to use this option, use G29 in your favorite slice program.

    In our favorite slicer at the startup sequence we use the following ordering:

    G28; home all axes

    G34; auto align Z motors

    G29; auto bed leveling


    Congratulations!. Now you have a calibrated printer.



      • Optics Contest

        Optics Contest
      • Plastics Contest

        Plastics Contest
      • Make it Glow Contest 2018

        Make it Glow Contest 2018

      36 Discussions


      Question 5 days ago

      Sorry to ask but will there be any fee attached to the DeepBlue 3D Pro plan on your website or it will be free to anyone who wants to build there own 3d printer ?


      Question 10 days ago on Step 10

      Ihave been looking at 3D printers but seem to be hitting the same wall. I have a Mac book Pro and can not seem to find software that allows me to design and can generate the objects into .STl files to send to the printer. What software can be used on your 3D printer that runs from a Mac Book or a Ipad

      3 more answers

      Answer 7 days ago

      You must try Onshape. It is cloudbase in a browser. Very good.

      Ancient Androidmarkalanb

      Answer 10 days ago

      Depending on your needs/skills in CAD, you may like Fusion360 or TinkerCad. I use both depending on the projects.

      Mr WigsAncient Android

      Reply 9 days ago

      I have been using TurboCAD MAC Deluxe 10 with my MacBook Pro.


      7 days ago

      Very good instructable. I play around with 3D printers myself, but I'm too busy these days to pursue some of my concepts. Maybe you or some reader has time to push the evelope. The main design objectives in any 3D CNC type application is rigidity and moving weight reduction. This avoid deformation of the frame and thus improves repeatability and precision. Using Bowden tube filament feeder reduces weight because the stepper motor does not need to be pushed around but it add slop in filament feed control. This is why there is always ambivalence with respect to direct drive versus Bowden tube. What if we could get all the advantages of both? For this you need to transmit power to the print head from a remote stepper through a series of sliding links. This could be achieved using a square cross-section power shaft along which a filament drive gear could slide along the X axis. The drive shaft could itself be driven by a belt assembly with a loop back arrangement (similar to drafting table parallel ruler) so it is free to move along the Y axis. The filament stepper motor would need to drive the belt through differential gears to allow for the Y axis slide independent of the filament drive. Another design would have the belt drive loop all the way to the filament drive gear, doing away with the drive shaft and ensuing friction. Thought I would share the idea. I would have liked to include pictures but somehow this feature does not seem to work for my post.


      10 days ago

      Very nice project, can you show some examples, printed on this device?

      3 replies

      Reply 10 days ago

      Thank you.
      All the parts in the pictures were printed with this printer. We built several printers.
      The following parts were printed on the weekend. The thread is M42x2 mm. The big part lasted 9 hours. I used PETG.


      Reply 10 days ago

      Pretty good quality! Good job!
      I think about making such a printer using your instruction! Also it is very nice idea to make it able to have enclosure. Could you please tell the final cost of this printer if it is possible? Can be approximate price:)


      Reply 9 days ago

      Good evening.
      We sell the LightBlue 3D printer with 479 euro, assembled, calibrated, configured, ready to print.


      9 days ago

      Would love some details on the Dark Blue versions especially the Pro version.


      10 days ago

      We are a startup in the EU.
      The priority for us now is to complete the website With his help we will be able to sell the printers and the necessary parts.
      Yes, the documentation and files created will be published on the site. I used Fusion360.
      When I chose the closed chamber project, I thought about printing PEEK. From here the dividing firewalls, the two-zone design, one cold and one hot separated by the laminar air curtain, the use of the heated bed at the mains power, etc.
      The cost depends on too many variables. The pieces, bought and printed, can cost between 175 and 300 euros for LightBlue printer. I'm thinking of quality pieces.
      For now, we could send our products directly to those interested. For details, please use
      Thank you

      1 reply

      10 days ago on Introduction

      Interesting project. I'm asking myself where I for example can get the base, the side panels and the Al bed from. If I go to a machine ship, I'll pay a fortune. If I do it on my own, it would never be something clean, since my machine shop is not equipped with milling machines etc......

      1 reply

      Reply 10 days ago

      We are a startup in the EU.
      The priority for us now is to complete the website With his help we will be able to sell the printers and the necessary parts.
      For now, we could send our products directly to those interested. For details, please use
      Thank you


      10 days ago

      Very nice!!! A solid overall design. Would you consider posting the original CAD files, and which CAD package did you use? I would like to extend this design to accomodate high temperature PEEK printing. Have you got a Github or similar site?

      2 replies

      Reply 10 days ago

      We are a startup in the EU.
      The priority for us now is to complete the website With his help we will be able to sell the printers and the necessary parts.
      Yes, the documentation and files created will be published on the site. I used Fusion360.
      Please, a little patience.
      When I chose the closed chamber project, I thought about this. From here the dividing firewalls, the two-zone design, one cold and one hot separated by the laminar air curtain, the use of the heated bed at the mains power, etc. Good luck.
      For now, we could send our products directly to those interested. For details, please use
      Thank you


      Question 10 days ago

      Sounds like you have a "Blue" company, with 3 product models, but a search doesn't turn anything up. Do you sell kits for any of the models?