Pwdr Model 0.1
Description
More information on: pwdr.github.com
Hardware
The Pwdr Model 0.1 consists of chassis, tool head and electronics. The printer entirely consists of off-the-shelf components. It has a simple design and can be built within a couple of hours. The machine is easy and affordable to build and modify. Building a Pwdr Model 0.1 machine costs about €1000,-.
Software
The accompanying software for the Pwdr Model 0.1 converts the CAD model in a printable format. This file is then uploaded to the Pwdr Model 0.1 micro-controller. The machine is controlled by easy-to-use software that allow full control of the printing process.The Pwdr Model 0.1 software has been based on open source tools like Arduino and Processing.
Materials
A whole new range of materials become available for experimenting with open-source rapid-prototyping; for example, when using the 3DP process: gypsum, ceramics, concrete, sugar, etc. And when the SLS process is fully supported, plastic materials like ABS, PP, Nylon and metals become available as building material.A Hewlett Packard inkjet cartridge is used for the deposition of binder. The cartridge can be refilled with custom binders using a syringe. A custom binder of 20% alcohol and 80% water has been proven to work.
Specifications
- Maximum build size: 125mm x 125mm x 125mm
- Print resolution (3DP): 96DPI
- Minimum vertical step size: 50μm
- Speed (depending on printed part): ±1 minute per layer
Instructions
Hardware
The printer consists of two bins (#1 for storing powder, near electronics and #2 for building the part), which move up and down respectfully during the printing process. The powder is bonded using a standard inkjet printer head.
Steppers
The steppers that accommodate the movements are controlled via stepper boards that send the correct voltage and current. When a stepper ‘misses steps’, the maximum current must be adjusted. Turn the white pot-meter of the corresponding stepper board clockwise to increase the maximum current.
Note: when the maximum current is set too high, the stepper is bound to overheat. When this happens, disconnect power and let the stepper cool.
Drive belts
The drive belts transmit the movements from the steppers to the carriages. To tighten them up, just turn the adjustment screws. When the belts are extended completely, adjust the belts length at the belt clamps.
Printer head
The printer head that deposits the binder is a standard Hewlett Packard C6602A cartridge. It’s connected to the Arduino micro-controller via a custom protoshield board that supplies the correct voltages to the nozzles.
The nozzles are prone to breaking when a wrong voltage is applied. Therefore, the power supply to the protoshield should only be connected when printing.
To avoid powder to stick to the nozzles, please put a small sellotape strip in the front of the cartridge. To enable refilling of the cartridge, remove the label on top of the cartridge; it covers the vents. A syringe with a custom binder can be mounted in the front vent, as described later.
Software
Two pieces of software are used for the printer control; the firmware running on the Arduino micro-controller and control software running on a computer. The control software handles the conversion of the CAD-model to a print file as well as the communication with the printer.
Micro-controller firmware
The firmware running on the Arduino micro-controller controls all actuators. The print file is stored on it’s internal memory. This means that every new print file must be uploaded to the micro-controller using the Arduino IDE. The print files are made by the preprocessor.
Preprocessor / Pwdr_GUI_V2.0
The client software is written in Processing. To run the program, you need the Processing environment. When the client software is run, it opens in the preprocessor mode. Here, you can choose the model you want to print and convert it to a print file. The print files are saved in the folder ‘Arduino/PwdrFirmware’ along the main firmware file. To upload the print files, open the Arduino IDE and click ‘compile and upload’.
Note: the client software needs a serial line for communication with the micro-controller. Fill in the correct serial port number on line 87 of ‘Pwdr_GUI_V2.0.ide’, the available ports are shown in the verbose output of the Processing IDE when the file is run. When the correct port number is edited, it’s possible to compile the program to a standalone version which doesn’t need the Processing IDE to run.
Control software / Pwdr_GUI_V2.0
When the button ‘print’ is clicked in the preprocessor, the client software switches to control mode. Here, you can jog the various actuators and control the machine. To start a print job, simply click ‘print’.
Printing workflow
Make sure that the power supply is disconnected
To prevent the ink cartridge from burning, the power supply for the cartridge (and preferably the power supply for the stepper too) must be disconnected when data is sent to the Arduino micro-controller.
Convert model to printable data
Open the Pwdr_GUI Processing program. Make sure the Arduino micro-controller is connected. Run the program. Fill the correct serial port number (listed in the Processing verbose window) in on line 86 of Pwdr_GUI_V2.0.pde. Stop the program and run again.
Open up the file that is due to be printed. Click ‘convert model’. Make sure the file has a height divisible by 12. Otherwise, a verbose message will be shown. Click ‘send print file’. The two files with print data (‘PwdrPrintData.ino’ and ‘PwdrPrintDataUpper.ino’) are now saved to a folder called ‘Arduino’.
Note: Currently, the only way to change the parameters is by hardcoding them in the Processing parameter declarations (saturation, file height, etc.). These parameters are included in the print file that is send to the micro-controller.
Sent printable data to micro-controller
Open the machine’s firmware (‘PwdrFirmware.ino’). When opening, the two print files should be displayed as tabs. Click ‘compile and upload’. The firmware is now compiled and sent to the Arduino micro-controller.
Note: Currently, the only way to change the parameters is by hardcoding them in the Arduino parameter declarations (step-sizes, margins, etc.).
Clean machine and reset position
Thoroughly clean the machine using a vacuum cleaner, brushes, etc. Degrease the roller using cloth soaked with alcohol or thinner. Makes sure the guidance rods are lubed and the belt drives are tensioned correctly. Move the XY-carriage , by hand, to the far end (opposite of the motors) of the machine. The X-carriage should touch the axis of the roller stepper.
Filling up with powder and binder
Adjust the position of the pistons using the control software. Fill the bins with powder and make sure to tap it quite firmly so a very solid base arises. Press extra hard on the powder near the edges. Scrape the excess amount of powder off. You can move (when the power is disconnected) the XY-carriage across the bins to check whether enough powder has been applied. Make sure to move it to it’s initial position afterwards.
When the binder has run out, premix a solution of 20% alcohol and 80% (demi) water. Put the mixture in a syringe and fit a 22G needle. Stick the needle in the vent op top of the cartridge and remove the syringe’s piston so the binder can flow freely in the cartridge. Make sure no binder leaks out of the cartridge.
Connect power
Now the program is uploaded to the micro-controller, it’s safe to connect the power to both the stepper and cartridge supplies. But first, run the ‘Pwdr_GUI_V2.0’ program, click ‘print’ and wait for the verbose message ‘Safe to connect power’.
Note; Each time software connects with the Arduino micro-controller, it’s rebooted. During reboot, random voltages are applied to random ports, possibly hurting the ink cartridges.
Deposit a number of layers fresh powder
Because the hand-filled power has another porosity and density than the machine-laid powder, deposited a number of layers (±5) by the machine. Click the button ‘make new layer’.
Initialize XY-carriage position
Initialize the position of the XY-carriage by clicking the ‘initial position’ button. The XY-carriage moves to the starting point. When for whatever reason this position should be changed, use the jog controls. When the position has been adjusted, click ‘reset positions’.
Start print job
Now, the machine is completely ready to start printing. Click ‘print’ to start the print job. The verbose messages show the printing progress.
Note: When something is wrong and the printing process should be canceled immediately, press the emergency button on the prototype board (the button with a black cross). After this, disconnect power and close the control software.
Finish print job
When the print process has finished, deposit a few layers on top of the printed product, this helps binding the last printed layers. Leave the printed part to rest a couple of hours to let the binder fully penetrate and bind the powder.
Remove printed part
When the part has hardened a couple of hours, it’s safe to remove it from the build platform. Use a brush to carefully remove powder from the edges. When the parts outline has been fully revealed, use a scoop or spatula to carefully take out the part. Make sure not the apply load or torque on the part. When the part is eviscerated, remove excess powder with a brush. The part is now ready for post-processing (e.g. sintering or fixating using cyanoacrylate).
You must be logged in to post a comment.
Hi!
I'm really interested in your project. I working in science and rapid prototyping is near laying field.
I have some questions and at first my interest is about printhead. Why do you use C6602A cartridge, not other one? It is from not usual printer, so I think it's not too easy to buy. Maybe, your choice is because of some voltage conditions? Can you tell more about it? And how do you understood how to control this printhead?
And what about SLS? Do you realise it or not yet?
Hello,,, I am from China like 3D
printer hobby,,, want to seek your help,,, I really want to buy a Pwdr Model 0.1
machines, but know that the sale of the company, I will pay for,,, don't know if
you can help me to buy, if not,, you can put this machine, all the parts list to
me,, or where can buy to,,, there must be software,,,, very much looking forward
to your reply,,,, thank you..You are the person who I like
Great project! I downloaded the GIT repository but I don't see any schematics how to wire the HP printhead to the protoshield. I looked in the Fritzing file as well. Also, do you have any plans to make the protoshield available for purchase? I really want to just experiment with the printhead before building a machine.
Thanks! Well, the schematics aren't great yet. I'll include some more pictures on Github soon. If you're mainly interested in the printhead, please take a look at the InkShield (http://www.thingiverse.com/thi....
Meanwhile, I'm planning to make a protoshield for the printer, stay tuned!
Hi, amazing work!
I'll probably build one once i find all the needed parts.
I was lurking on the github project and found not much information about the electronics, primary about the shields you'r using for the steppers and the wiring for the print head.
Can you point me to the right direction?
I would like to start experimenting a bith before comiting parts money to it!
Thanks
Hey this is awesome!
I just wanted to point out that the write-up on this page is... verbose. Most of us know how steppers, drive belts, and arduino software work. Perhaps include this information in a help file attached to the page, but keep this page for the more critical details?
It probably doesn't matter, but yo
u don't want people to miss important details because they stopped reading halfway through.
Conversely, it is often frustrating for those of us wanting to get into areas of tech we are not terribly familiar with when instructions make lots of assumptions about the readers' knowledge, like your "Most of us know how steppers, drive belts, and arduino software work"! Often I give up reading an article because of that...
Another open source project powder printer in Russia http://www.open3dprinter.ru
I am curious about the alumina parts you created. What were your sintering conditions? Did you analyze any material parameters of finished parts? Any parameters of the particle size distribution?
The used alumina powder was AKP-15 (mean particle size, out of my head
±0.7mu), bonded with the standard inkjet ink (basically water). The parts were sintered for 2 hours @1100°C (heating up and cooling down @2°C/minute). After sintering, the parts were far too brittle to be analysed, you can only gently pick them up. Biggest problem was that the AKP-15 is far too f
ine for roller distribution. More experiments are due in September. But, why you're asking? :)
Have you tried any of the non-Zcorp materials that the University of Washington has been prototyping? See http://open3dp.me.washington.e....
This looks great. I'm curious, how does the bed stay level when moving up/down? It seems like they're just floating there on the motor shaft?
Congrats, great product.
Can you get in touch with me regarding 3D printing Event, 23 october, Dutch Design Week Eindhoven, http://3dprintingevent.com/con... :)
I can't find an e-mail or twitter addres.
See info on our blog about your product, http://3dprintingevent.com/uni...
This is really cool. well done.
Hopefully this will be the seed of many iterations!
I am wondering how the powder is distributed between each layer.
lowering of the bin doesn't seem to include the leveling of the newest layer of powder.
Thanks very much for bringing the technology to the open source community.
Just want a clear understanding of the mechanics.
The overall tech lends itself to many materials,
and also has the advantage of not requiring support structures in the models
as the powder not bound still supports the boun
d powder.
I look forward to seeing more on this tech!
The powder is distributed using a counter-rotating roller. This device is a litte hard to see, but behind the inkjet head, a shiny rod is visible; the roller
And you're absolutely right about the opportunities for this machine/technology, a wide range of materials can be used
Very cool! I'd also like to see something created on this machine. I suppose that with this technology, it will eventually be possible to do full color printing like zcorp.
Can't wait to see more of this!
This is pretty neat! Do you have any examples of prints made with this printer yet?
License

I'm working on getting the software working with an arduino mega. The software never wants to load a 3D model. I'm giving it .stl, but looking through your documentation I can't find any specification for the file format is needed for the input 3D model, what formats does it support? This is the output in the console when I try to load a .stl file.:
WARNING: RXTX Version mismatch
Jar version = RXTX-2.2pre1
native lib Version = RXTX-2.2pre2
[0] "COM7"
C:\Users\Mobi\Documents\Processing\processing-1.5.1-windows\processing-1.5.1\Pwdr_GUI_V0_3\0003_StandardCube.stl
Could not find a method to load C:\Users\Mobi\Documents\Processing\processing-1.5.1-windows\processing-1.5.1\Pwdr_GUI_V0_3\0003_StandardCube.stl
Exception in thread "Animation Thread" java.lang.NullPointerException
at Pwdr_GUI_V0_2.loadModel(Pwdr_GUI_V0_2.java:323)
at Pwdr_GUI_V0_2.mouseClicked(Pwdr_GUI_V0_2.java:273)
at processing.core.PApplet.handleMouseEvent(Unknown Source)
at processing.core.PApplet.dequeueMouseEvents(Unknown Source)
at processing.core.PApplet.handleDraw(Unknown Source)
at processing.core.PApplet.run(Unknown Source)
at java.lang.Thread.run(Thread.java:662)
There is a problem with some STL files. First, the file must be in ASCII format. And secondly, you need some kind of luck. I have not been able to analyse why models don't load. It's not the complexity, hence this model (http://www.thingiverse.com/thi... always works.
Please join the discussion on GitHub, where you can also find the latest version of the software: https://github.com/Pwdr/Pwdr-M...