Plan B is an open source 3DP 3D printer. It uses binder and powder to create it´s parts. It can be built for €1000,- ($1300,-) if the parts are sourced right. It uses standard 3D printer parts and electronics, off the shelf inkjet components, 3D printed parts and a sturdy laser cut (or water cut) aluminium frame.
It has a step accuracy of up to 0.05mm and has a printing accuracy of 96DPI (coming from it's HP C6602 inkjet cartridge). The inkjet technology on Plan B is based on the inkshield. It has a printing envelope of 150mmx150mmx100mm and has a layer thickness of 0.15mm to 0.2mm. It's current speed is 60mm/s, though with better firmware this speed can easily be doubled.
It currently prints in special 3DP printing gypsum with matched binder. Additional materials are going to be investigated.
All the information in this instructable is going to be a condensed version of the information I have on my own site: Ytec3D.com/plan-B and http://ytec3d.com/plan-B-building/. For the sake of readability, this instructable only contains the necessary information, no deep explanations of what and why. All files can be downloaded on my site and are free to use, if there is any file missing, please tell me so and I will add this file as soon as possible.
*A special thanks to:
- AMR europe, for the 3DP printing powder and advice on 3DP printing. Without this Focus and Plan B would not have been possible.
- Marin Kaçaj, for spending the past half year helping me develop a decent slicer for Plan B. As soon as it is stable I (or he) will share it.
(Plan B is entered in the Epilog Challenge. If I would win, I would use the laser cutter to make Plan B more friendly for consumer laser cutters, replacing all but a few aluminum parts for laser cut plastic parts.)
Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.
Step 1: What Is 3DP Printing
How 3DP works
3DP uses the same technology used in normal inkjet printers. It prints in a special powder a special binder. The different starts after the layer is done. The 3DP printer will deposit a fresh layer of powder over the previous layer and start printing on the new layer. When all the layers are printed, the printer uses heat to strengthen the part. When this heat cycle is done, the print can be removed and 'depowdered', removing all the powder that is not bound but does stick to the part. This powder is removed with air. When the part is clean, it can be infiltrated with wax, epoxy, or CA glue to add strength.
- 3DP printing gypsum, a fancy mix of gypsum and different powders bound with a binder that contains mostly water, but a lot of mystery. All trade secret of course;
- Ceramic powders with Maltodextrine added, bound with rice wine or vodka [source];
- USG hydroperm or other high quality dental plasters, bound with rice wine [source];
- Sugar and mystery binder.
(For everyone who wants a more detailed analysis of the printing material and binders, go here.)
- Higher accuracy due to smaller and more controllable nozzles;
- No support material needed, the material supports itself;
- Full color potential, Inkjet can print in full color, Plan B is not yet capable of this;
- Excess material can be reused;
- Many different printing materials;
- Possibly cheaper materials.
- Powder printing is by nature a bit messy;
- Part often require post processing;
- Powder printers need to be filled to the height they need to print, regardless of the size of the part;
- 3DP can only print in one material at a time;
- Hollow parts need escape holes to evacuate the unbound powder inside;
- Thin walls and rods are fragile until post processing.
Step 2: Getting the Materials
Before construction can be started, materials need to be gathered. Plan B has a lot of parts that are also used in ordinary 3D printers. Most parts are off the shelf and can probably be acquired locally. I live in the Netherlands, so I usually go to reprapworld.com, but you will have to find your own source of parts if you live somewhere else and don't want to pay for shipping.
- Allen keys for M3 and M4
- Wrenches 5.5mm (M3), 7mm (M4) and 10mm (M6)
- screwdrivers(An electric screwdriver will make your life a whole lot easier)
- Soldering iron
- A hacksaw
- 8mm smooth rod: 4x 500mm;
- 8mm smooth rod: 2x 310mm;
- 8mm smooth rod: 3x 180mm;
- 5mm smooth rod: 1x 265mm;
- 5mm smooth rod: 1x 135mm;
- T2.5 timing belt 5mm wide: 1x 1.8m;
- T2.5 timing belt 5mm wide: 4x 1.2m;
- Aluminium pulley T2.5 16 teeth: 5x;
- LM8UU bearing: 12x;
- 624ZZ bearing: 25x;
- 625ZZ bearing: 2x;
- 16x2mm aluminium tube.
Nuts and bolts (roughly, values may differ slightly)
- M3 nut: 60x;
- M3 washer: 116x;
- M3 cil. screw, 10mm: 40x;
- M3 cil. screw, 16mm: 55x;
- M4 nut: 64x;
- M4 selflocking nut: 207x;
- M4 washer: 471x;
- M4 cil. screw, 16mm: 10x;
- M4 cil. screw, 20mm: 130x;
- M4 cil. screw, 30mm: 44x;
- M4 cil. screw, 40mm: 32x;
- M4 cil. screw, 50mm: 12x;
- M6 nut: 56x;
- M6 washer: 24x;
- M8 nut: 3x;
- M4 threaded rod: 2x 190mm;
- M6 threaded rod: 6x 180mm;
- M8 threaded rod: 3x 165mm;
- M3 threaded spacer post: 4x;
- Printbed spring: 12x;
- HP C6602 cartridge, buy more than one, some will break;
- HP Q2299A carrier for C6602: 1x;
- Nema 17 stepper motor, axis from one side: 4x;
- Nema 17 stepper motor, axis from both sides: 2x;
- Megatronics V3: 1x;
- Pololu A4988 driver: 6x;
- Heatsinks for drivers: 6x;
- Optical endstops: 6x;
- Keypad from reprapworld: 1x;
- LCD screen 20x4 characters: 1x;
- Thermistor 100k: 1x;
- 12V power supply, 20A max: 1x;
- Heatsink plaster: 1x;
- Heating resistors 2.2Ω, 25W, aluminium housing: 8x;
- 16 lead ribbon cable: 5 meters;
Electronics for boost demultiplexer circuit
- Boost demultiplexer circuit board set: 1x;
- ULN2803: 2x;
- HC4067: 1x;
- MC34063A: 1x;
- Resistor 1kΩ: 1x;
- Resistor 33kΩ:
- 1x;Resistor 2,2kΩ: 1x;
- Resistor 0,22Ω: 1x;
- Resistor 180Ω: 1x;
- Inductor 180µH: 1x;
- Capacitor electrolytic, 100µF 16V: 1x;
- Capacitor electrolytic, 100µF 35V: 1x;
- Capacitor 1,5µF: 1x;
- Diode 1N5819: 1x;
- Led 5mm: 1x;
- Boxed header, 16 pins: 2x;
- FFC connector 16 pole: 1x;
- Screw terminal 5.08mm: 2x;
- Header 2x4 male: 1x;
- Header 1x3 male: 1x;
Depending on the version of the board, you will either need (DIY):
- Relay 7x12mm 12V, 1x switching: 1x;
- Diode 1N4001: 1x;
- 4N35: 1x;
- Resistor 1kΩ: 1x;
Step 3: Fabricating Parts
Plan B also has some parts that need to be fabricated, either by yourself or by a third party. The files to the sheetmetal and 3D printed files can be found here: http://ytec3d.com/plan-b-materials/
3D printed parts
The complicated frame parts are 3D printed. This can be done on just about any 3D printer. The biggest part is the GUI holder, the holder of the screen and buttons. This part is 120mmx110mm. All other parts are smaller than 100mmx100mm. My personal preference is PLA, because of it's shrink, but printing in ABS should also be possible. All in all printing Plan B should take around 1kg.
A large portion of the frame is made of 4mm sheet aluminium, with a few 6mm parts. All of these sheetmetal parts need to be cut on an industrial laser cutter or flow jet. Making them by hand is nearly impossible. Look around for machine shops to see what you can find. Most quotes I got were around €350,-.
Printed circuit boards
Plan B also requires an additional circuit to control the inkjet cartridge. This circuit converts 12V to 20V and makes the cartridge's 12 nozzles controllable through 4 pins. Depending on the version you want to use, a PCB will have to be made. Download both versions of the PCB here: http://ytec3d.com/plan-b-electronics.
The DIY version is a single sided home etched PCB. It is bigger and requires jump wires, but it can be made by just about any home etching technique.
The professional version is double sided and needs to have plated holes. This is optimized for professional PCB printing services. It is smaller and only needs the components, but may be more expensive in small quantities. I have an order of these PCB's on its way when this is posted.
Step 4: Assembling the Frame
Assembling Plan B will take most of the time. It is a fairly complicated build. Everything screws together with M3, M4 and M6 bolts. The drawings outline what bolts go where. An electric screwdriver is a wise investment here, doing every screw by hand can be painful at some points. I don't have many pictures of me building it, but what I do have is technical drawings. Lower resolution versions for display and, higher resolution PDF versions can be downloaded here: http://ytec3d.com/plan-b-assembly/.
A good place to start are the pistons. When the frame is being built, it needs to be adjusted to the pistons. Lubricate piston threaded rods here too, once they are in the machine, it will be impossible to reach them.
The spreader is next, it needs to be fitted in the frame when it is being built.
With the piston and spreader done the frame itself can be assembled. All connections on the frame are made using T-slot connections. Push an M3 nut in this slot and use an M3 screw to connect 2 pieces of the frame. Before tightening everything, check if the pistons fir smoothly down the hopper. If they don't, adjust the walls of the printer until they do.
Assemble the carriage, The cartridge carrier is mounted to the carriage with tie rips.
Assemble the X-axis and mount the carriage on it.
Assemble the Y-axis and mount the X-axis with carriage on it.
Make sure all bearing run smooth. If the bearings give resistance, try pushing the bearing by hand to slightly move it or slightly loosen the screw holding the bearing. This will move the bearing in such a way that it gives less resistance. When all bearings run smooth, you can add the timing belts.
Pistons will go in once the electronics are in. They are nearly impossible to mount without running the motors.
Step 5: Wiring and Electronics
Plan B and Megatronics
When assembly is complete the printer can be wired. Most things are wired with either the full 16 pole ribbon cable, or a strip of ribbon cable. The only exception to this is the heating circuitry. Everything from the 12V power supply to the heating resistors needs to be wired with at least 1.5mm², otherwise the wires will heat up too much.
Under every printbed there are heaters. These heaters are 8x 2.2Ω 25W aluminium housed resistors. They are wired in 4 pairs in parallel of 2 resistors in series. A set of 2 under each feed piston and 2 pairs under the build piston. The wire needs to be around 1.5mm², there is quite a bit of current flowing.
The Megatronics V3 sits at the heart of Plan B. It was picked because it had 6 stepper motor drivers, just as much as was needed. It also had all electronics for the keypad and the LCD screen. This way I didn't have to design my own board. The schematic shows what needs to be wired to what. Use the documentation supplied with the Megatronics V3 to determine exactly how things like the screen need to go.
The important thing to configure on the Megatronics is to adjust the microstep settings. This needs to be quarter step. If you use A4988 stepper motor drivers, only the middle jumper needs to be on. For DRV8825 drivers you will have to check yourself, A4988 was still main stream technology when Plan B was designed.
The 12V in connects the circuit to the 12V from the printer. This drives the 20V booster.
The safety line protects the cartridge when the printer is not running. It physically disconnects the cartridge from the 20V. Polarity is really important on the DIY circuit, The diode protecting the relay shorts out when the polarity is reversed.
The inkjet input is where the signal to print is received. It connects to the AUX3 port on the Megatronics. Use 2 3 pin or 4 pin female jumpers to connect the pins 46, 47, 48 and 49 from the Megatronics and the booster together. This is also where the 5V will come from.
The 16 wire ribbon cable will connect on both ends of the circuit through a boxed header. The simplest way to measure if you did it right is to measure the endstop signal wire. If it matches up, the ribbon cable is the right way around. If it isn't, flip it around so it is.
The cartridge carrier connects to the small circuit using a FFC16 connector. Pull out the tab, insert the flatcable with the copper side up and push the tab back in to lock the flatcable in.
The endstop also runs through the booster circuit. There is a 16 wire ribbon cable going from the booster to the cartridge, and the cartridge only uses 13 wires. The endstop requires 3 wires, making a perfect 16. Connect the endstop port on the booster to the X- endstop connector on the Megatronics.
Step 6: Installing Firmware
The firmware is what controls the printer. It is written in Arduino and can be configured and uploaded using the Arduino programmer. This version (unless it is stated otherwise in the firmware) is for Megatronics V3. Pin mapping on different Megatronics board is completely different, so please be careful with this. the Arduino IDE can be downloaded on their site: http://arduino.cc/
Next download the firmware from my site. It can be updated, so small things will change, but many of the configurations described here will stay the same. Download the firmware here.
Many settings are not that relevant for normal users. There are however a few settings that are important to know of.
- In the main tab, the double_direction_offset can be configures. This is for when the printer prints in both directions to speed up the printing process. I haven't configured mine properly yet, so I don't know how much it should be yet.
- In motor_commands, the motors can be inverted. If a motor goes the wrong direction, change the value from 1 to 0 and vice versa to invert the motor direction.
- In Movements, Steps per mm can be selected for every motor. Please bear in mind that the default values should be used and should be correct, otherwise many other setting will have to change as well. (The printer should have 1/4th microstep on all axes).
Next compile the code and send it to the Megatronics V3. Use AtMega2560 as the board. This is the controller on the Megatronics boards. When the firmware is done uploading, the LCD screen should work and should respond to inputs. If everything works as it should, proceed to the next step.
Step 7: Using Plan B
Plan B is a stand alone 3D printer. It doesn't need a computer to functions. The user uses the user interface to give commands to the printer. The files are loaded in the printer through the micro SD card. (The file being printed has to be called "print.txt")
The menu is fairly straight forward. Things to remember are:
- The Enter button moves the menu forward. In the Homing menu, up is confirmation (to prevent accidental confirmation) and in most other cases right is confirmation. Arrows in the menu will mostly indicate what direction does what.
- The Return button Always moves the menu back. It also takes the printer out of manual movement mode.
- The rotary button can be used to navigate the menu or used to adjust a value (such as density)
Modes of the printer are:
- manual movement. Allows the user to manually control each axis. In the gantry movement, up and down control the X-axis and left and right control the Y-axis. The direction is correct when up moves the gantry away from the user and right causes the gantry to move to the right.
Feed movement controls both feed pistons at once. Up and down will cause the left piston to move up and down. Right and left will cause the right piston to move up and down (in that order).
- Homing will home the axes. Gantry homes both the X and the Y axis. The pistons should only be homed when the flags are installed on the pistons. Home all is only there because, it is probably not wise to use it.
- Manual movement allows users to add a thin layer completely automatic. For this, the gantry and spreader do need to be homed. Simply select the desired layer thickness and press right to add the new layer.
- Printing allows users to estimate the required printing time and layers (you will need to multiply this by the layer thickness yourself). The time estimated is usually a few minutes more than it actually takes. Were a user can also start a print. Select the density (usually between 200% and 400%) and press right to print.
- Heating sets the temperature for the printer. This allows users to preheat the printer.
Step 8: Using the Software
Plan B can print using ordinary Gcode, but it prints orders of magnitude faster with it's own special code. This is optimized for printing with a 12 nozzle cartridge. To make this code, an STL file needs to go through 2 different programs. First it needs to go through Slic3r to convert it to specially configured Gcode. Next, it is converted by Plan B converter to special Plan B specific code. This way of making a file may be a bit cumbersome, but right now it is the only way to reliably make the Plan B code. Improvements are under way to optimize the process, making a special slicer that can instantly convert STL files.
The first thing is to download Slic3r from their site: http://slic3r.org/
Slic3r needs to be set up so makes a very specific kind of Gcode. The full explanation can be found here, but the essence of it is to make a file at layer thickness 0.18mm and nozzle size 0.26mm that ONLY contains the outline of every part. This can be done by making most values in slic3r 0 (see imaged or site to see exactly why).The check box detect thin walls is most important here, it NEEDS to be off. If not, Slic3r can collapse double lines into single ones and this will mess up the file in converter.
Next download Plan B converter here. Plan B converter is a self written QT program. It currently only runs through QT, but I am working on it making it functioning stand alone as hard as I can.
Currently, to run Plan B converter, you will need to download QT creator on their site. The good news is, it is free and very useful for making programs yourself, the bad news is that it is quite big and takes some time to download. Open Plan B converter in QT and press the run button (green triangle) to run Plan B converter.
There are a few settings, but most are not relevant to ordinary users. The default settings provide the most reliable results right now. To convert a file, first press the open file. A window will open where you can select the file you want to convert. Then click open to load the file in. Then press convert file. This will also open a window where you enter the file name and location. Press save and converter will start converting the file. It may seem as converter has stopped responding, but this is normal. Plan B converter will take up to a minute, depending on the size of the part, to convert the file.
To upload the part to the printer, load the file converter by Plan B converter on to a micro SD card in the top folder. Then rename it to: 'print.txt'. This step is really IMPORTANT, Plan B will only print a file named print.txt. All other files will simply be ignored.
Step 9: Modifying Cartridges
C6602 cartridges are used for inkjet printing. They are usually filled with ink. Great for paper, but less great for 3D printing. Before a good print can be made, this ink needs to be replaced with binder. My personal experience with simply draining it with a syringe have been disappointing, so I started breaking open the cartridges and properly flushing the sponge.
Do everything on a thick layer of newspaper or above the sink. I never had any spills, but when you have one, I guarantee that you will never be able to clean this ink of. It is so strong that diluting the ink over 100 times still leaves a opaque, clearly black colour.
First, Remove the sticker from the top (absolutely NOT the one from the bottom). This exposes 2 holes. If possible, use a syringe to draw out most of the ink. You can store it for later use or simply discard of it (I know it is a shame, but it is a necessary evil). When the syringe no longer sucks any ink, it is time to move to the next step.
The hardest part is breaking it open. These cartridges are designed to stay shut. Get a few fine flatheaded screwdrivers and a small hammer of big screwdriver. Carefully place the screwdriver on the edge and tap it in facing towards the nozzles (down). Don't go all the way the first time, move your way around and go deeper on every pass. The back should be avoided, it will go when the front goes and needs to be damaged as little as possible.
When the cartridge is finally open, remove the sponge above a sink. Then drain out the remaining ink and squeeze out the sponge. As long as there is water present, the ink will not set.
When the cartridge is clean and dry, it can be closed again and filled with a liquid of your liking. I prefer to add a small amount of coloring so the print is visible. There is a labyrinth on top of the cartridge. Close the top with either the sticker removed at the beginning, or a piece of tape, but leave the hole at the beginning of the labyrinth open, else the cartridge will draw a vacuum while printing.
Then, remove the tab before printing
In the future, if I do continue printing with the C6602 cartridge, I will share information to modify the cartridge so it prints with a supply tube. This way, it is a lot easier to replace it's content.
Step 10: Printing With Plan B
With Plan B assembled, wired, flashed, configured, sliced and all other verbs affiliated with Plan B, it is finally time to start printing. Start to finish printing does currently take longer than most other techniques, but it will improve over time.
We start by filling up the printer. Lower the feed pistons by the amount that needs to be printed (plus extra) and fill the hoppers with powder. Then use compacters (or a spoon) to compact the powder in the hoppers.
Lower the build piston by at least 5mm, raise the feed pistons and move the spreader by hand to spread powder over the build piston. Then move the feed pistons up by tiny amounts and move the spreader from side to side, carefully filling and smoothing out the surface. The middle will fill up faster than the edges, so use a spoon to move the powder to the edges. When the layer looks smooth use the add layer function (twice) to automatically smooth the surface.
Set the printer to preheat, 60°C-70°C, for at least 15 minutes.
Get the file you want to print, put it on the SD card (calling it "print.txt") and insert the SD card in the Megatronics board. Select estimate and let the printer calculate the amount of layers. Using a caliper or a stick, check if there is enough material in the feed hoppers.
Figuring out the density is a bit trial and error. I used 250% in all of the test prints, but this was with quite a bit of ink. I since refilled the cartridge with pure binder and now the prints turn out too weak to handle. Either I need to print in triple sweeps instead of double or the density needs to increase (maybe both).
Right before printing, Insert the cartridge. Then press print to start the print. (it will first do an estimate). The first (few) layers can shift a little, this is not a disaster. If the layers completely shatter it is a different story, you will probably need thicker layers.
When the printer is done, it will enter a heat cycle. This heat cycle cures the binder and makes the part stronger. If the printer somehow crashes at the end, reset the printer and select the temperature manually. After half an hour the print is strong enough to handle, but I usually leave it in for an hour.
Dig part out of bed. Dig powder from around the part. When the part is clear, scoop it up and bring it to either a place that can get messy or a depowdering chamber (I made the latter). Use low pressure air to blow any loose unbound powder from the model.
When the part is completely clean (be sure here) put the part in a disposable container and carefully drop or brush very thin CA glue on the model. Do this in a well ventilated room, preferably with a mask on. The CA will react vigorously and the fumes are not that great to breathe in. A brush is more accurate then simply dropping it on, so getting a bottle with a brush (just for the brush) is a wise investment.
When the part is completely infiltrated, let it dry. It takes up to an hour to dry completely. Alternately, you can spray activator on the model to instantly set it.
You now have a 3D printed model that completely ignores print orientation and support material.
Step 11: Future Improvements
After a year of developing, Plan B is working on a level that is acceptable. There are however still quite a few improvements left. The biggest of these improvements are:
- Different cartridges. The HP C6602 cartridges used on Plan B are not used because they are the best, the cheapest or the easiest to control. They are used because there is nothing else, it is the only Arduino controllable cartridge. At 96DPI and 12 nozzles, it is about the simplest a cartridge is going to be. There are plenty of other cartridges available, such as Piezo inkjet cartridges, which give great control over droplet size, The HP C51640, which has roughly the same type of control, only at 300DPI and around 100 nozzles, and CISS (continuous ink supply system) cartridges, which store the ink in an external tank, making it easier to replace the ink and refill it during printing.
- The firmware lacks (among other things) acceleration. Motors are either on or off. The only place where the printer uses acceleration is when accelerating the X-axis for printing. Motors could easily move at double the speed when all axes had acceleration, while not really affecting the printing quality (inkjet doesn't lose resolution when printing at high speeds).
- The software is a temporary solution right now. It works, but it is far from perfect. New software needs to be written that slices a file directly from an STL file (is under construction).
- The printer should be isolated. The pistons heat up, but all of the walls are made of aluminium, acting as a giant heatsink. By insulating the printer, it will use a lot less energy heating the powder. It will also heat the powder more evenly, since it doesn't drain any of the heat at the walls.
- Add a rough layer to the pistons. The pistons are based on FDM printbeds. This is wrong for 3DP. 3DP needs rough surfaces to grip the powder. At thin layers, the powder will actually break up when the spreader moves over.
There are many small points left to improve on Plan B, other than these points. I will continue working on Plan B and possibly other versions as well. Improving user friendliness, materials, accuracy, cost and speed.
Step 12: Final(?) Thoughts
Focus was the predecessor to Plan B. It was born 2 years ago, simply from a 'how hard can it be' (asked about SLS, the answer, really hard). When it's first goal failed (SLS was really, Really hard), I converted it to a 3DP printer, which to my surprise, worked amazingly well.
The Plan B project was started almost a year ago now. It started at a local Makerfaire, where I quickly discovered just how glitchy Focus could be when it is printing for hours on end. Focus was designed as an experimentation platform, not as a full dedicated 3D printer. Instead of trying to fix Focus, I decided that it would be better to design something better.
A year and several projects and hiatuses later it was finally at a point where I thought it was worth sharing. I was already making test prints half a year ago. The main issue was (and still is) software and firmware. I am an engineer, not a programmer and creating files for Plan B is still a bit of an issue. I have someone working on the software side right now, but it is kind of a mystery when it will be done.
Plan B has some great improvements planned(?) for the future. I can increase accuracy by getting higher resolution cartridges. Make it faster by simply adding acceleration and make double direction work. Make parts stronger by adding a better heater and print in more materials, simply by testing articles from the internet. I can also convert it to an SHS printer, printing in black ink printing in Nylon powder, and using a IR heater to heat the black part to above melting point and keep the white part beneath. This makes the part strong without post processing, though the part still needs to be cleaned.
All of these things sound great, but I am also a bit torn as to what to do with the project as a whole. There are some great advantages (Potential high speeds, No support, Full color potential, Potential of cheap and varied materials), but also some real drawbacks (laborious printing process, post processing, messy). I am going to make some last improvements on Plan B regardless, but in the long run, it really depends on the feedback here whether I continue with Plan B as a 3DP printer, convert it to an SHS printer or simply start with something else. I myself love the technique, but if no one else does, I think I can better spend my time on other projects.
Please give me any feedback on the project, It will help me decide what good improvements are, what other options there are and if it would be worth the time to continue with 3DP printing.
Second Prize in the
Participated in the
Epilog Challenge VI
Participated in the
Teach It! Contest Sponsored by Dremel
1 Person Made This Project!
Berhan Şener made it!