Oasis 3DP

A powder and inkjet 3D printer based on HP45 inkjet technology

Similar projects worth following
Oasis is a powder and inkjet 3D printer (3DP) that uses older inkjet technology to print an object. HP45 inkjet printheads jetting binder are used to bind powder locally. This part can then be cleaned and treated to create an 3D object.

3DP can print in several materials to get several results:
-Gypsum: For full color parts if printed with a color. Infiltrated with CA afterwards;
-Sand: For sandcasting molds;
-Sugar: For edible prints;
-Ceramics: For printing stoneware. Parts need to be fired afterward;
-Metals: With a lot of post processing;

Oasis is not my first attempt at using inkjet to 3D print powder, and this is not my first project using the HP45, but Oasis will be my first serious attempt to merge the 2 in an accurate, reliable and modular 3D printer.

Oasis (and my other 3DP printers as well) were developed to add powder and inkjet 3D printing to the list of open source 3D printers.

How 3DP

'3DP' also going by the names 'binder jetting' or 'powder and inkjet printing', is a technique that uses inkjet and powder to fabricate parts. 3DP printers consist of a moving inkjet printhead, a build area, and a way to deposit new layers of powder in said build area. The example below uses 2 hoppers and a spreader. The left hopper supplies the powder and is called the 'feed hopper', the part is built in the right 'build hopper'. A spreader can move between these hoppers to transfer powder from one to another. The order of operation for 3DP printing is as follows:

  1. The inkjet head deposits binder wherever the part needs to be. Where the binder fills the powder, the powder solidifies;
  2. The build piston lowers by the layer thickness, the feed piston raises enough to fill the build area completely;
  3. The spreader spreads the powder from the feed hopper to the build hopper;
  4. The spreader returns and the printer starts at step 1 again. This is repeated until the part is finished.

After this printing, the part is allowed some time to dry. It can then be removed from the printer and gently cleaned. After this the part can either receive further processing, or be used directly.

Why 3DP

3DP is quite unlike FDM and SLA. It's biggest advantages are:

  • You do not need support material. The powder is added one layer at a time, and the powder from the previous layers supports the next layers. All the unprinted powder can be reused infinitely.
  • A wide range of materials can be printed. While FDM is limited to plastics, and SLA requires light sensitive resins, 3DP can print most materials that come as powders.
  • Color can be printed. Because 3DP uses standard inkjet technology, it is possible to add color, simply by printing dye alongside the binder.

3DP is not perfect though, There are some drawbacks that need to be considered:

  • Powder printing is inherently messy. Very messy.
  • All prints require post processing, ranging from simple cleaning to firing or infiltrating. Untreated parts are very fragile. This also limits maximum size of parts. The part needs to be able to survive post processing.
  • All of the print area needs to be filled with powder. While the excess can be reused, a minimum amount of powder is required to print at all.
  • 3DP prints only one material at a time.
  • Hollow parts need escape holes to drain unprinted powder.

What 3DP

There are a variety of materials 3DP can print. The only thing these materials have in common is that they are powders. In most cases, a glue is added to the powder. Examples of this are PVA, sugar or maltodextrin. The binder is generally an inert liquid, like an alcohol/water mix. I have seen people printing directly with Vodka or Rice wine (Rice wine smells amazing). While I do not posses a full list of possibilities, a range of know materials is provided below.

  • Gypsum (with PVA) and a water/glycol/potassium sulfate mix is used on Zcorp machines. The material safety datasheet gives insight into what the powder is. Gypsum allows for full color prints. The printed parts are cleaned and infiltrated with a wax or resin afterwards to give the parts strength. (Powder / Binder)
  • Sand (for sand casting molds). ExOne specializes in this. By printing in types of sand with special binders (Furan, Phenolic and silicate binders are mentioned) you can create detailed sand casting molds that can receive metal without special post processing.
  • Metal can be printed with a special binder. The part is printed in fine stainless steel with a glue in the binder. After printing the part can be infused with bronze in a kilt, turning it into a full density metal part. ExOne and several others do this technique. (A good example is this video)
  • Ceramics can be printed by adding glue to the powder. Most of the available information uses maltodextrin and powdered sugar to make the ceramic powder printable (most recipes 4-1-1 ceramic, sugar, malto). A 10%-20% alcohol/water...
Read more »

Adobe Portable Document Format - 77.43 kB - 09/08/2018 at 10:54


x-zip-compressed - 6.98 MB - 09/09/2018 at 15:30


Oasis full package

A full zip of the current project WITHOUT 3D source files, but with usable 3D files. 20180717.

x-zip-compressed - 29.41 MB - 07/17/2018 at 16:47


  • Phase 2 in progress

    Yvo de Haas09/08/2018 at 18:53 0 comments

    Phase 2 sounds really ominous. All I am doing is turning a DIY 2D inkjet printer into a DIY 3D one. Now that I am talking about it, things are going really well. An overview of the progress.


    The pistons are 2 90x3.5mm PVC tubes. The design called for 90x3mm aluminium, but I had some supply issues. The effective size of the pistons is around Ø83mm by 100mm high. This will be plenty for material testing. Once I need bigger prints I will design a better hopper with more volume (or another printer with a bigger hopper).

    The software for the 4th axis turned out to be a bit of a nasty surprise. The Arduino CNC shield has 4 stepper motor drivers, but that 4th driver is a lie, at least with default GRBL. I now run a special ( Version of GRBL that supports the 4th axis while giving up some spindle support. I can not run both pistons at the same time and this version is GRBL 0.9 (currently 1.1) (which required some tweaks in my software) but both axes move and provide feedback. I will upload wiring diagram and include the firmware with correct configuration when I can. Once I get around to writing instructions I will dedicate a section to wiring and configuring the GRBL driver. It has slowly grown to be quite complex.


    The spreader is now mounted and wired up. The CNC driver board I use does not have powered outputs, so I have made a tiny mosfet based circuit to power the spreader. I have attached the spreader to the coolant pin (which is controlled by spindle commands, yay alternative GRBL). Sending the M4 command starts the spreader, M5 shuts it down. The spreader itself uses a 12V 25mm gearbox motor at 300rpm. I have 120rpm available if 300 is too fast.

    SVG file reader

    In the  last log I said that I would only write a parser for SVG files myself if nothing else worked. As it turns out I lied. I wrote a parser (I had a weird day, don't judge). It only takes Slic3r SVG files, which only use straight lines and have layers. It runs just about as fast as anything else in python does (dead slow), but so far it gives clean layers. This is a great relief, because the parser was the last potential issue (lets hope).

    On the software side all I need to do now is write the code that makes all the 3D printing motions and prints the right layers at the right time, but that is peanuts compared to the SVG parsing.

    See below, a GIF of software reading an SVG of a gyroid.

    Next log

    All I need now is the adding the right code to move the pistons, and to print the right SVG slice. I also need an overshoot bin, which is easily built. When those parts are done, there should be nothing stopping me from printing in 3D. Then I can start playing with materials and binders. I have added a new package of software to the files for anyone interested.

    The next log should be interesting. It won't be too soon sadly, I have a few full weekends, so expect a bit of radio silence for 2 week.

  • Commencing phase 2

    Yvo de Haas08/31/2018 at 18:40 0 comments

    2D printing is now almost working. It is not perfect in several ways, but it is capable enough that I am convinced it will work for 3D printing.

    What was wrong in the previous log:

    • 1 mask was flipped in the firmware. This caused the wrong row to start when the right row entered or exited the print area, cutting off 4mm of odd or even on either side of the print. The mask was flipped the right way around. The print improved immediately.
    • one of the Base 64 en/decodings is the wrong way around, sending the nozzles in order 6,5,4,3,2,1 instead of 1,2,3,4,5,6. I have dug quite deep, but have not found where. I then decided that I was lazy and flipped it in the software. This turned diagonal lines from jagged to perfectly straight. 
    • head needed to be cleaned with alcohol before printing. The ink in the heads dries quickly, and within a minute the head becomes clogged. Simply wiping it with a paper towel helps, but cleaning it with a paper towel soaked in 70% IPA worked wonders. It gives about 30 seconds to start the print. Not ideal, but workable.

    There are a few small things left to be done before I can print well enough for 3D:

    • The first sweep after starting up sometimes does not print. This is firmware side and has been there since the first tests. I know where the problem happens, and have fixes ready.
    • The first sweep of a print is offset by around 0,5mm. This seems to be some encoder drift from the motion between the home position and the other smaller movements. All other sweeps in a long print line up perfectly. The exact nature of the problem remains a bit of a mystery.
    • At least 1 pair, probably 2 pairs of nozzles are swapped. I will do a few tests to narrow down which. If I can also identify the nozzles that are swapped with, I will fix, else I will simply disable for now.
    • Software DPI setting. The software does not yet have all checks in place to change the nozzles per inch sent to the printhead. I will add this during phase 2, where it actually becomes important in the SVG parsing as well. Firmware side already handles it fine.
    • mystery exit on occasion. Haven't had it for a while, but the code has mysteriously exited with a code I cannot find right now (-10#... with around 12 numbers (negative)). The problem is gone for now, but I will keep my eyes open.

    There is also one issue I will not be fixing for now. I cannot properly send lines of code while the printhead is printing. Somewhere in the mess of code, probably in the Python side, the software refuses to send code fast enough. I have had other mystery issues where some threads do things instantly, while others take forever, and these same threads at other times run fast. The short of it is that I am limited to 1000 lines of inkjet code. With DPI working and set to 150, I can easily print any print I have had on Plan B with room to spare. I already had to send long dithered images before I was reaching the limit of the buffer. This is why I have decided not to pursue any fix for the 'cannot send while moving' problem until I am done with phase 2. 'First make it work, then make it better'.

    Phase 2 has now started

    In phase 2 I will be converting Oasis from a working 2D printer to a working 3D printer.

    For this I will need to complete the following tasks:

    • Designing and building 2 powder pistons. The most obvious thing I need is 2 hoppers, 1 feed and 1 build. These are going to be small, around 80-100mm in diameter. Small because every square centimeter of hopper also needs to be filled with powder, and I want to test around with powders a bit. Round because it is a shape I can buy off the shelf. Bigger hoppers will be designed eventually.
    • Spreader wired up and working. The spreader is in place, it only lacked the motor when I was building it. I have to print a pulley, attach the motor to the spreader, and wire something into the GRBL driver so I can make the spreader...
    Read more »

  • Let there be ink

    Yvo de Haas08/26/2018 at 18:48 0 comments

    Finally, after months of writing small sub systems, I can now fully print with ink.

    It still has a whole heap of improvements left for now:

    • I cannot upload code while moving (dependent on a few handshakes that are not in place yet) so I am limited to 1000 lines of inkjet per sweep. No jolly wrenchers for now :(
    • There seems to be some off by one and odd even errors in both the Arduino side and the Python side. Also some ringing that I have a hard time placing where it comes from. Will play with the dials a bit once the code runs smoothly.
    • The code still takes forever loading an image (though I do not care at this stage, might use something like pypy later)
    • The head has a hard time properly starting, hence the missing lines (though it has been sitting drying out for over a month, it will be fine)

    Next post should take less than a month this time.

    (PS. Also think of the hilarious amount of effort I spent the last few months, essentially building a crappy 2D, black and white inkjet printer.)

  • Software (still) in (slow) progress

    Yvo de Haas07/17/2018 at 16:45 0 comments

    This will not be the log that will show a working machine. I wanted to update my status because it is a month since my last log, and else people think I have stopped. I am getting there. I actually have the entire connection with GRBL working and stable, and already have a good link with the HP45. Here is a small list of what is left to do:

    • Link preheat, set position, and DPI buttons;
    • Make python capable of testing the printhead and display status;
    • Make the python program capable of sending inkjet lines (and testing that);
    • Loading an image;
    • converting that image to inkjet lines;
    • automatically print those lines.

    After that milestone I will modify Oasis for 3D printing. That "SHOULD" not take that long since it is not adding much to the software side, but I have been wrong before.

    Have an interface:

    Now the news, good for me, bad for the project. Summer has arrived, and I need vacation. So the coming few weeks I will not be working on this project. No logs, probably no answers.

    All the files in their most current state are now updated on my website:
    None of it is final version, but it is last work I will do on it in several weeks.

    Until next time, when I hopefully can show a working machine.

  • Software in (slow) progress

    Yvo de Haas06/06/2018 at 17:41 0 comments

      I have been very busy learning Python the past few weeks. It was already on the list, and now that I really need it, I am forced to learn it with a project the size of Oasis. While progress has been steady, I have had to learn Python basically from the very basics. 

      The software I need to write has to do a few things.

      1. I need it to import images, vectors or 3D files;
      2. I need to convert said files to inkjet and motion codes;
      3. I have to connect to the GRBL motion controller and send commands to it;
      4. I have to connect to the HP45 controller and send commands to it;
      5. Use this control of both controllers to make a proper inkjet image and/or part

      This control software will be programmed in Python and PyQT. My choice for QT is not based on any good research, I just have a little familiarity with it. A concept of the window is below:

      But programming on Oasis controller directly quickly led me to conclude that I needed more experience. I left the Oasis controller for a while. I needed to learn all aspects of the program I need to write separately (and some incredibly basic Python stuff as well) so I thought of 2 smaller programs that I need to try and write before I will start on the big one.

      The first is an image converter. I need to load an image, show what was loaded, convert the image so the inkjet will understand it and then render that image as well, to check for errors.

      The second is a serial command terminal. Nothing fancy with automatic baudrate and connections, just, serial connect, send and receive. This proved difficult enough to take a week, simply because I knew practically nothing of python. The second one is is done. I have called it serial commander, and it works good enough that I now have confidence that I can write an interface with both the GRBL and the HP45 controller.

      That is all for now. I hope that the image converter will be done a bit quicker (after the coming weekend maybe), after that I can make a proper plan on how to program the Oasis controller, and then start the final coding on that.

  • Movement and ink

    Yvo de Haas05/13/2018 at 10:33 0 comments

    The frame is mostly assembled, and the first wiring is in. We just had a few holidays here, so I have to wait on some parts, but there is movement. This movement is coordinated by a GRBL motion controller with 2 TMC2100 motor controllers. Right now my computer is just sending raw gcode through a gcode sender tool. Later I will make the software send these commands.  My first prototype of Oasis really screamed when it was moving, this is surprisingly quiet. I might swap the drivers, just for comparison later. The printhead and inkjet will be installed later, when the rest of the wiring is complete. 

    Speaking of the inkjet controller. I haven't even posted pictures of it yet. Last thing I mentioned was a mistake in the routing. For now I have jumper wired on my PCB to fix the issue. A new revision is ready when I find no more issues. Since then I have started programming the printhead. 2 issues, 1 bad solder joint and 1 programming mistake cost me a day of troubleshooting, but I now have the printhead working mostly the way I want to. I will spend the next week or so adding more blocks that read the encoder and read and buffer the data coming from a PC

    That leaves me on software. If I were a wiser person I would have started on it already. I am not. I can't push it ahead of me for much longer though, I am rapidly approaching a point where I need the code that links the motion controller and inkjet controller together. When I finally start on that I will let it know.

    First draft of CAD and firmware is now also available for download (still no github :( )

    New files are available here:

  • Construction in progress

    Yvo de Haas05/01/2018 at 20:38 0 comments

    I made it to the finals. Yay. I was already past the point of no return on this project, but it is nice to have a hard deadline to work towards.

    First there is a bit of news on the PCB's. I found a major flaw where a pin that requires digital is hooked up to a pin that only does analog read. I have upped the revision and made the changes, but I will not publish it before I have done a full test of the printhead. Who knows what else I might find. While testing I managed to destroy the microcontroller with dangling wires, which cost me a few days while I was waiting on replacements. I will continue with the PCB's shortly.

    All major parts have arrived in the last week. A notable point. The Hiwin linear rails I bought from Reprapworld work fine, but they discovered that the separate carriages they sell are not compatible. I have altered the design to run on one carriage for now. It should be fine, the carriages are plenty strong on their own. Printing is also done. A few tiny issues were resolved after printing, but so far all parts came out great. No support will be needed to print the parts, which is always nice. The parts will be blue. The design was green, but I changed it to a color I liked more.

    With all parts in house, I could not help but start assembling. This is a prototype, and not optimized for assembly, so I will not give full instructions right now. For now, my main focus is making this machine work. So with that said, enjoy a few photo's of me assembling Oasis.

    One major mistake was found. The gantry is moved with two belts, one on the front (free) side and one on the back (fixed) side. Under the bed runs a shaft that connects the two. On the front side the belt attaches to the gantry on the bottom belt. On the back side the top belt attaches to the gantry. This means that when the motor turns, both belts pull the gantry in opposite directions. In hindsight this is a really stupid mistake, but then most mistakes are stupid in hindsight. I will fix this by redesigning the front side to attach to the top belt as well. 

    When this booboo is fixed, I will upload the Step files to the printer, but first I want to make sure all parts will work. In the next major log I hope to have movement.

  • PCB's have arrived

    Yvo de Haas04/20/2018 at 17:36 0 comments

    A short log, while I am making a start on the mechanics.  The PCB's have arrived. I would have populated the boards and done some tests, but in en extreme case of murphy's law, I have lost the one bag of components I need the most. The missing components are scheduled to be found after I have ordered a new batch of said components somewhere this weekend.

    I am also ready to order the big frame pieces, start on 3D printing and some other tiny things I need to do before I can start the assembly. Expect some progress on the frame in the next few weeks as well.

  • A start on the frame and gantry

    Yvo de Haas04/12/2018 at 19:24 0 comments

    Oasis would not be much without a frame and a gantry that moves the head. The last few weeks, while the PCB's are under the way, I have worked on the frame of Oasis. because 3D design has few milestones that would be log-worthy, it has been quiet. To reiterate, the design is done in Solidworks (2014). I would love to learn fusion 360 or something more open source at one point, but I am not going to learn it for a project of this scale. Solidworks is something I have available and I am good at.

    Right now the frame, gantry and some printbed related parts are almost ready. I hope to be ordering the parts somewhere this or next week. The actual hoppers are not done yet. These can be added later and the first few months I can work without a hopper. All green parts are 3D printed and should be supportless.

    The printer is designed around a few standard parts. The frame is made from 30x30mm and 30x60mm aluminium extrusion (Slot width 8mm, center hole M8). A lot of other 30mm aluminium extrusion should be compatible. The linear rails are Hiwin MGN12H. The timing belts are GT2, and the stepper motors are Nema 17. Most of these parts are fairly standard in 3D printing land. I also tried to keep as few bolt sizes as possible. Right now I have: DIN 912: M3x10, M3x20, M4x12, M4x20, M4x30, M6x12, (M6x16), M8x30; DIN 963: M3x10, M3x16, M4x16; DIN 7991: M6x12.

    Printhead carriage

    The printhead is arguably the most interesting part of this project. Right now I have the 3D printed carriage for the printhead and controller, and the frame and bearings to mount it to the gantry. The gantry moves in the Y-direction. The carriage is mounted to the gantry using  2 Hiwin linear bearings (MGN12H). To lock the printhead in place, I am using a latching mechanism that locks around the printhead when it is moved up. The big arm that reaches to behind the printhead is to mount the encoder and to pick up the cable


    The gantry is the frame that moves in the printhead in the X-direction. The center of the gantry is a single 30x60 aluminium extrusion (from Misumi, but others should work too). On either end there are bearing blocks that allow the gantry to move in X, one using 2 linear rail carriages (fixed side), and one using a simple round rod (free side), not to over define the gantry too much. Both sides will have a timing belt. On the aluminium extrusion there is the guide for the carriage cable, and the encoder tape that the carriage uses. Also on the fixed side there is the motor that moves the carriage, both endstops and a cable pickup.

    The spreader mounted on the back of the gantry is used to spread the powder from the feed hopper into the build hopper. It is a Misumi rotary shaft. This way I can get a part that is really accurate, but I will try to find an alternative for people without access to either a lathe or Misumi later (remind me if I forget).

    Main frame

    The Main frame holds all components and is made from 30x30 and 30x60 aluminium extrusion. I have considered making a frame from a sheet material, but I have done that 3 times now, and I have never been really satisfied with it. The frame has become a bit more complicated than I would have wanted, but for a prototype it is going to be fine.

    To mount the gantry, there is a linear rail, mounted upside down on the back. It is this orientation to keep dust out of the rail. In the from is the 12mm round rod that supports the free side of the gantry. The free side rod is under the build surface to protect it from most of the dust. The belt for the X-direction is at the height of the free side. On the fixed side it goes up first, using a set of idler rollers. 

    A start has been made on the build surface. It will consist of a plate of HPL (or something else rigid 6mm'ish thick). At the end of the build surface is the opening where the...

    Read more »

  • PCB's everywhere

    Yvo de Haas03/25/2018 at 18:37 0 comments

    I spent the past weekend designing several PCB's. The number on the boards is 3.00, which suggests there are 2 more versions (there are). Both older versions have too many additional components. One is just expensive because of it, the other has given unknown issues that weren't there before. I decided to make a bare bones controller with only the essentials that have worked so far. All boards mentioned are 40x80mm, the smallest I can make the board and make it easily fit behind the printhead. Smaller is possible, but I nether want nor need that right now.

    I will try to keep the Files updated when I publish logs. If I forget remind me. For now I will keep the files on my site until I figure out hop to properly use Github.

    A download for the PCB's can be found here:

    Driver board

    The driver board hold all components that interface with the HP45. There is nothing new compared to the previous log, so I won't go into too much detail. The TLC59213's are the high side drivers used to power the primitives. I have experimented with double driver chips to solve some issues with the number of primitives that can fire at once. Because this did not seem to fix it, I have not included this. The 4017 and 4081 with level shifter is perhaps not the most elegant or compact. solution, but it has worked incredibly well so far. The nozzle test circuit also leaves room for improvement, but I first want to make this printer work, then make the circuit better. 

    The driver board interfaces with the controller through 2 16 pin headers. The power arrives on the controller board. This is also to easily add some specific features later. 

    Controller board

    The controller board holds a Teensy 3.2 right now. It can talk over SPI and USB serial through headers or USB port. Normal serial is not connected to the header and can be used, but is not on a header of it's own. The board has all Teensy I/O pins (including the ones on the back of the teensy) broken out to the 2x 16 pin headers. I am not using all these pins right now, but having them on the board might be useful to add stuff later. Also on the board is a 5V regulator to turn the 12V into 5V (So the teensy regulator does not have to struggle). Finally, there is a header for the encoder that is used to synchronize the printhead with the gantry.

    Encoder strip used

    The encoder used is the Avago HEDS-9740#150 with 150 lines per inch optical strip. I tried a normal encoder but this was way more compact. This stuff is normally used in inkjet plotters, so it should do well in my printer.


    While I was at it, I made a breakout board in the same size for future experiments. It directly breaks out all the high side pins to 2 2x20 headers. 1 ground on each header is included.


    All PCB's will be reviewed until this weekend. After that a Batch of every PCB will be ordered.

View all 13 project logs

Enjoy this project?



Joeri wrote 3 days ago point

would color printing be an easy addition to this printer?

  Are you sure? yes | no

Yvo de Haas wrote 2 days ago point

The size of the printer is as it is so I can have a row of printheads, or another printhead that has CMYK. Oasis in it's current configuration cannot. It needs a faster printhead driver that takes 5 printheads before I can print in color, but that would be possible. All other additions are software.

  Are you sure? yes | no

Donovan M. wrote 09/07/2018 at 12:49 point

Nice work! It reminds me of the powder 3d printer that printed a velociraptor call in Jurassic Park 3

  Are you sure? yes | no

nomoria wrote 07/17/2018 at 01:56 point

Really nice job!

Can't wait to see the actual results!

  Are you sure? yes | no

Involute wrote 05/02/2018 at 19:00 point

Do you know the status of 3D Systems' patents on this technology?

  Are you sure? yes | no

Yvo de Haas wrote 05/02/2018 at 20:48 point

I would not know exactly if the CISS would last for more than a liter, but I do know HP themselves make a CISS head with a attached container around half a liter (I think), so it should last in to that order of magnitude handled well.

I would have to look for the patent, but if I am not mistaken, one of the key patents expired after December 2017.

  Are you sure? yes | no

Involute wrote 05/03/2018 at 01:00 point

Thanks.  When do you expect to make your first print?

  Are you sure? yes | no

Yvo de Haas wrote 05/04/2018 at 06:12 point

Difficult to say exactly. All critical parts arrived yesterday (will post a log soon) so mechanically it will take a few weeks. But I will still need to program the head, and write controller software. I do expect to be finished before the finals of the Hackaday prize.

  Are you sure? yes | no

Involute wrote 05/02/2018 at 18:59 point

When do you expect to make your first print?  Also, wouldn't you expect the CISS HP45 to last for more than a liter?

  Are you sure? yes | no

fik3 wrote 03/19/2018 at 15:32 point

Interesting project but how do you replace ink ?

Do you use cartridge till end but that could damage it ?

  Are you sure? yes | no

Yvo de Haas wrote 03/19/2018 at 21:50 point

The HP45 is a fairly easy printhead to fill. It does not have a sponge but a hollow chamber that is kept at a slight vacuum using a spring. Filling it simply requires a hole to be drilled and capped after filling. This hole can also be used to drain the head. Alternatively, I have heard of draining the head using a centrifuge. Only challenge is keeping the preload on the spring while filling it.

I also plan to either buy or modify CISS HP45 heads (Continuous Ink Supply System). These have a small tube leading to them to feed new ink to the head. This way you can print from a tank and directly see the level.

The head has indirect ways of detecting that it is empty. The head has a temperature sensor. If this spikes quickly after a burst of inkjet, you can assume the head is empty. All of the energy will not be deposited in the ink, but remains in the head. If the head gets past a certain temperature, there is an error. If this happens a few times in a row, the head can be assumed to be empty.

  Are you sure? yes | no

Elliot Williams wrote 03/18/2018 at 21:47 point

I really want to see this work. :)

  Are you sure? yes | no

peter jansen wrote 03/17/2018 at 18:31 point

This is a really exciting project.  A long time ago I tried to jet photopolymer from an HP cartridge (with thermal heads), then from an Epson cartridge (with piezo heads).  You likely already know this, but the commercial systems that do this tend to use piezo heads with really large apertures, so that the liquids are easy to jet, don't have to be put through thermal cycles from the thermal heads, etc., and it just seems really challenging in ways that aren't entirely clear to me (not being a materials science) to get it to work well and repeatable, and to do it inexpensively.  Really interesting project, I'm excited to see what you come up with, and if you're able to get it working!

  Are you sure? yes | no

peter jansen wrote 03/17/2018 at 18:32 point

Also, have you thought about using a thin UV curing binder that's easy to jet, and then briefly curing each layer? 

  Are you sure? yes | no

Yvo de Haas wrote 03/18/2018 at 18:19 point

I am aware of the benefits of using piezo inkjet as opposed to thermal inkjets. Piezo generally lasts longer and has more flexibility on the fluids it can handle. However, thermal inkjets are not completely unreliable and piezo inkjet also has limitation. Several piezo systems cannot handle conductive fluids and piezo heads also fail or clog.

When you take into account the added cost of piezo heads (≈€150, Xaar 128) versus thermal heads (≈€15, HP45, excluding driver) and the fact that the Zcorp powder and inkjet printers also use HP printheads (HP only do thermal inkjet as far as I know), the HP45 seems like a reasonable head to use. As soon as you get into more exotic binders, the thermal inkjet does indeed start to become a limit, but most older powder and inkjet have used fancy water and alcohol mixes for a long time. I have already tested thermal heads to work on my older machines and I think it will be a good starting point for a new machine. 

I have considered several projects using piezo inkjet heads and UV resins (including your suggestion), but so far, I haven't done any. The scope of this project will not include it to keep the project manageable, but a followup might.

  Are you sure? yes | no

Krzysztof wrote 03/17/2018 at 15:09 point

How long does typical printhead like this last? Will it be able to jet out 1L of water/alcohol without breaking?

  Are you sure? yes | no

Yvo de Haas wrote 03/17/2018 at 18:10 point

I think 1L will be a bit much. The head only has 42ml of storage on it's own. I am not entirely sure if the life isn't more, I think the heads are refurbished and refilled after they are taken back, but 1L seems a bit much. 

Having said that, the head will not fail in one go, nozzles will start to break, and that is something that can be measured. Original printers using the head will just refuse to print, but you can compensate for broken nozzles in the software.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates