I met programmer and maker, Joe Walnes, through a few local Chicago maker groups. He showed me a really cool web based G-code viewer he wrote to preview his 3D printer G-code. It used WebGL for super smooth motion of the model. It also allowed you to drag and drop your own files right into the page. It worked great, but really only worked with 3D printer G-code. He posted the code on GitHub.
I have a couple programming projects in the works that need a G-code viewer, so I decided to update his program to handle more types of programs. Joe had a really nice UI and design pattern for the code, so I left that alone. He also helped me out with a few issues as I worked.
G-code Parser
A parser is a bit of code that breaks down text into tokens, or the basic grammer of the G-code. He was working with very well formatted G-code so his parser was pretty simple.
G1 X5 Y5 Z6 E0.124
I was dealing with really Fugly lines of G-Code like this, so I needed to totally rewrite the parser.
N100G17G91G1X5Y5Z6M03S1000(comment)G1X5;comment
Graphics Generation
Reprap 3D printers basically use G1 (straight moves) for everything. I needed to add the code to handle G2 and G3 (arc moves). This was a little tricky because there are no arcs in WebGL. I had to break them into small line segments. Joe also treated each Z level as a separate layer. That is nice for printers, but not for general G-code. I changed that and the way the color of the lines worked.
A Work in Progress.
It works on all my CAM generated 3D printer and CNC router G-code, but I want to add code to deal with more advanced features that are often hand coded like incremental moves, machine offsets, parameters, math functions and subroutines.
I will post the source code soon.
Usage
You need a WebGL capable browser like Chrome, Opera or Firefox. I hard to turn on WebGL in my Firefox. I got it to run on my Android phone in Opera, but could not spin/zoom the model with the screen controls.
To view your own files, just drag and drop the G-code into the browser. It will use the zoom settings for the previous model, so if you drop something that is a different size or offset to the side you may need to zoom around to find it.
Inventables announced a filament extruder competition the GE Garage at Maker Faire on 5/19/2012. The contest is to design a machine to extrude ABS or PLA filament from pellets to 1.75mm using less than $250 worth of materials. The extruder must be able to add the colorant as well. The first person to upload a solution wins. Inventables plans make pellets and colorant available to people to play with.
The prize is $40,000 and a desktop fabrication lab. The lab consists of a laser cutter, 3D print and a ShapeOko CNC router. The details are at http://desktopfactory2012.istart.org/
Filament is running about $40-$50 dollars. That is about 5-10 times the cost of raw pellets. This would be a great resource for a MakerSpace, HackerSpace, club or school.
Inventables is now taking pre-orders for Hadron ORD Bots. I will not be shipping anymore kits and Inventables is now the official, authorized distributor of the kits. Go here to get on the list for one of the units. The Inventables kits will also have the following improvements.
Bright Dipped Finish
The previous version looked great, but the matt finish quickly gets dirty and scuffs often looked like sceatches. Bright dipping is a chemical polishing that is done before the anodizing process. The goal is to get the finish quality of a Mag Light.
Open Ended Wiring Holes.
A well wired ORD Bot is a thing of beauty, but once wired some of the parts are trapped by the wiring.
By adding open ended wiring holes, the wires can escape out the sides. This will allow you to completely side off thing like the gantry without removing any connectors.
Wider Extruder Platform.
Deep extruders like some of the Wade’s family of extruders previously had to overhang the front a bit. This adds more depth and an extra hole pattern to give you more options.
Loop Belts
With loop belts you will not have to measure and cut from open ended stock. They will be a lot easier to install and will have twice the grab in the belt clamps.
Build Platform Changes.
Added holes for the ORD Bot heated build platform.
Increased spacing between the wheels. This improves rigidity, reduces the sensitivity and cleans up the busy center area where the clamp and switches. fit.
Electronics Plate Changes
The Electronics plate will now have hole patterns for the RAMPS, ORDuino and Azteez controllers.
There has been a lot of interest in an ORD Bot with a bigger build area. This is the Quantum’s larger brother. This uses the MK1/MK2 heated built platform which is about 214mm x 214mm. You can go larger, but you are on your own.
The name is not yet determined. I wanted something similar to Quantum that conveyed a larger volume. A search of units of volume reminded of one of my favorite units “The Firkin”. Not only does Firkin sound cool, it is part of the FFF (Furlong/Firkin/Fortnight) unit system and it is a measure of beer. The other suggestions was Hadron, which is very similar to Quantum but larger and means thick or stout in greek. Firkin is cool, but Hadron is more family friendly.
They share all parts except the MakerSlide length, the handle and the build platform.
The ORD Bot made its debut at the Chicago HackerSpace, Pumping Station One. They host a monthly DIY CNC night that is open to the general public. I have been going for about 6 months and it is always a lot of fun and you meet some great people. Last night’s event was very well attended with about 30-40 people. Many of the people were there for the first time and found out about it via the Hackaday blog post. They usually have a 15-20 minute presentation and then everyone starts breaks away to work on projects or discuss ideas.
I was drafted into the presentation role to present the ORD Bot. It was received very well. Everyone liked the simplicity and clean look to it. Just about everyone picked it up to hold it in their hands. You don’t see people just spontaneously pick up someone else’s 3D printer very often. I guess when it is small, cute and has a handle, it is just asking to be picked up.
Up until then, the ORD Bot had never actually tried to do a full print. I had a lot of trouble getting the PLA filament. I had some get lost in shipping and two orders canceled due to lack of stock. I had some scraps of ABS that I used to test the extruder and I had run all the axis motors. I had done all my testing on a desktop PC at home and brought my laptop to the HackerSpace without all the software. I hooked into the PS1 Wifi and got the nessesary software.
This is the software “stack” I ran. Sprinter was already loaded on the Arduino. I used Slic3r to create the G-Code. I used Printrun (Pronterface) to interface with the printrer. Jeremy from tinymachineshop had a similar setup on his Makerbot and had Slic3r setup in about 3 minutes with the settings I needed. He also donated a length of black PLA
I decide to run the 20mm calibration cube STL that comes with RelicatorG. Slic3r generated the code in about 1 second. We spend about 5 minutes running PLA through to clear out the old ABS. The first attempt immediatly had a problem with the Y axis. I releazed that the set screw was never tighten on the pulley and it was just running on shaft friction. I tightened the set screw and the print ran great. I probably could play with the retract a little.
We were amazed how quiet the machine ran. You can compare it to the background voices in the video. There is even a Makerbot in the background about 10 feet away you can hear. I am not sure why it is so quiet. I think it might be because there is really nothing to resonate. All the flat parts are pretty small and pretty well bolted down.
The completed part measure about 20.015mm square. The layering looked quite even. There were several 3D printer owners in the room and they all commented that it took many hours of trial and error to get the quality I got on the first try. I am sure the tools have evolved a lot since they started and they helped by giving me the good Slic3r settings.
I took a bunch of pictures, but I left my camera at home. I will post more soon. Here is a picture of the part I took later. If anyone else has some pictures, please send me a link.
I was invited to this really cool event called ORD Camp. ORD Camp is unique, yearly event put on by Inventables and Google in Chicago. It brings together 200 people with a far range of interests. The common thread is a exceptional passion for what you do.
You are encouraged to bring a “creation /invention” you are working on. I did not want to bring the 2.x laser because it is hard to move around, it takes up a lot of space, and is not real conducive to just operating in the middle of a room. I will probably bring the camera slider, but I really felt like using the opportunity to create something new and cool with the MakerSlide material.
I was recently inspired by this Kickstarter Printrbot 3D printer. It seemed like a real ‘outside the box’ look at 3D printers. Brook of printrbot contacted me recently about collaborating with some of the people he is working with on some projects which got me more inspired. I decided to try a similar concept using Makerslide.
MakerSlide has these main features. It is a linear bearing. It is a structural element. It is accurate and it is cheap. The concept is, if you keep some of this laying around and have access to a few tools, you can quickly brainstorm an idea and fabricate it right away. This project was hashed out in about 3 hours, fabricated in about 2 hours and assmebled in about 2 hours. That includes cutting all the custom parts.
The result is the ORD Bot 3D printer platform. The structure and linear bearings are 100% MakerSlide. The motion is smooth, ridged and accurate . The parts are cheap. This uses less than $60 dollars worth of MakerSlide rail, wheels and idler pulleys. The rest are off the shelf items or fabricated by CNC router, laser cutter, 3D printer or other means.
A huge feature of this design is the scalability. It can scale in X,Y, Z or any combination by simply using different lengths of MakerSlide. All brackets stay the same. You might need to change belt lengths, but all the belts are open ended belts, so you don’t need the exact length, just some belt stock. The lead screws also need to change if the Z changes, but that is standard cut threaded rod. The version I built is probably as small as you would ever want to go, so I called it the Quantum ORD Bot. The build area is slightly larger than a standard MakerBot.
The frame is extremely ridged. Cut squareness does not matter very much. Every parts has multiple adjustable points and does not rely on the quality of any cuts. Parts can be aligned with a square and bolted down.
Feet.
I initially had some screw on leveler feet in the design, but after some design tweaks, extra bracket were going to be needed to mount them. I made these feet out of HDPE. They are soft and will not scratch any surface. I added the holes at the bottom to get a little spring to them, but I also think it brought in a nice design element. The rounded end and three point contact make them self leveling. The rear feet also act as a secondary brace for the Z axis.
Handle.
The handel is not required, but adds a lot of strength, can be used to mount electronics and also serves as a gauge for alighning the uprights. If you use a handle and scale the X axis you would need a hew handle. An alternative is to use a standard 20×20 t-slot piece across the top.
Scaling
Here is the build area increased by 100mm in each direction. I put a 20×20 extrusion across the top instead of the handle. I just did it as an example to show a more easily scaled version. This cost would be $4 higher for the MakerSlide about $3-$4 more from Misumi, about $2 more for longer lead screws and about $5 more for the longer belts. You would also need a bigger build platform (not shown). The total increase is easily less than $20. The increase in Z weight is about 4 ounces (0.1kg). At very large widths you might want to add a second Y axis extrusion, but that would just be a repeat of the existing one.
Prototyping
The pictures above are mostly renderings. Here are some real pictures of the prototype. I cut all the parts on my CNC router. I could have used my laser cutter, but I wanted to make a few counter bores for some screw. I don’t think that is needed, but it looks cool. I also used some optional non laser cuttable materials like carbon fiber and HDPE.
I came up with this idea about 6 days before the ORD Camp date, so I was a little rushed. The biggest problem was lack of motors. I also was so busy that I really could only allocate about 6 hours to the project. I let the delivery time of the motors set the schedule so only worked an hour or so a day over the week.
This design is very strong. I could stand on it or hang from it without damaging it. It is quite light at about 6.25 lbs. I am very happy with it and hope to get some good feedback at ORD Camp.
Where Are The Wires?
The element I really liked when I did some initial renderings was the clean look. I knew it would quickly turn into a RepRap hair ball as I wired it, so I decided to take advantage of the built in passage ways in the MakerSlide. I drilled some holes into the faces in some areas to pass the wires from extrusion to extrusion. The wires to the gantry had to be exposed because they move with the gantry. I put the wires into an extrension spring. This is a 1/4 O.D. 0.018 wire springs. If you stretch a spring the diameter reduces. I used this feature to mount the spring. I drilled holes slightly less than 1/4″ and stretched the spring through the holes. When I released the spring the diameter expanded to fit snugly in the holes. I tried to find a tap that matched a spring pitch so I could just thread the spring in, but couldn’t find a match. This mod falls into the “its not worth doing, unless you overdue it” category. I also wanted to reinforce the extreme rigidity look, by using carbon fiber parts, but the budget limited me to just the small thin parts. Again, this was overkill and just for fun.
What is Next?
If there is any interest, I might add this as a kit to the Makerslide store. I would like to quote all the carriages and brackets in aluminum, so I don’t have to fabricate much. I would probably need a 50 piece buy to justify the work and cost.
Here is the ORD Bot running at 160mm/sec, but the current print speeds are exceeding 400mm/sec with 1000mm/sec rapids. The limiting factor right now is the extruder, but we have preliminary prints close to 500mm/sec.
I just got my production boards for my Pololu compatible relay driver. This is a little plug in module that can be used to drive off board relays. It uses the signals that are normally used for step and direction to control two relays with the voltage that is normally used to power motors.
Pololu stepper drivers are great little items. They are inexpensive and very easy to use. You only need a step and direction signal to control them. If you use them in sockets, as I show here, they are portable between projects and experiments. If you accidentally smoke one, you only need to replace the single driver.
There are a lot of carrier boards for these. There are Arduino shields and many other applications. Often, it would be nice to be able to drive a larger external load like a spindle or blower. You can then use the existing step and direction signals to drive the relays. It uses the voltage normally used to drive the motors for the coil voltage. The only wiring required is two wires to the relay.
I chose to put the relays off board because the real estate was pretty limited and I wanted to provide the voltage isolation for AC powered devices. I am also a big fan of DIN rail mounted relays. They are very reliable and inexpensive. They are easy to swap around and have some nice features. The relays shown have a LED indicator and also a manually test button that moves the contacts. The relays shown are about $10 each, including the DIN rail sockets.
I got the boards from Gold Phoenix in 2 sheets of 50. They were not cut out, only V scored. Fortunately I have access to a depanelizer at work and was able to easily separate them. I probably could have snapped them apart too. The depanelizer looks similar to this one. Two slowly spinning sharp disks chop them apart.
The boards have all the components required to drive the relay including a supression diode. I am using a pretty hefty transistor here, but you could substitute a smaller one.
Control connection via terminal blocks or 25 pin ‘D’ connector.
Filtering on all step and direction signals.
Motor disable/enable feature through ‘D’ connector or external switch connected to terminal block.
Socket Mounted Stepper Drivers
The board uses low cost socket mounted stepper drivers. These can be Pololu A4983/A4988 drivers or open source Step Stick drivers. These are easily replaced if ever damaged without any rework to the PCB. A compatible relay driver is planned that also fits this socket. This will allow up to (2) relays to be controlled per board. These are controlled via the set and direction pins associated with that axis and uses the existing terminal blocks for that axis. This is perfect for a spindle on a CNC router or assist air on a laser cutter.
Cooling Fan
There is an integral cooling fan for the stepper drivers. It mounts directly to the board and has a dedicated power connection. It is mounted high enough to allow heatsinks to be mounted to the drivers. This will allow the drivers to run at their full potential of 2 amps per coil.
5V Power Supply
There is a 1 amp 5V switching power supply on board. This will not get hot like a linear regulator due to the voltage drop from the motor supply. This can optionally be 3.3V if your controller requires that. All other items on the board are 5V – 3.3V compatible.
Rotary Switch Resolution Selection.
The resolution of the drivers can be independently set via rotary switches. The resolution is selectable between full step, 2x, 4x, 8x and 16x microstepping. These and the control connector are flush mounted to one side for easy bulkhead mounting.
Control Connector.
The board has a dual pattern for the control connector. There is a pattern for standard 5mm pitch terminal blocks and a pattern for a ‘D’ 25 pin male connector. The ‘D’ connector has a standard pinout for direct PC connection for Mach3 or EMC. The terminal block is perfect for direct connection to laser controllers like the Thunderlaser DSP controller or an Arduino microcontroller.
Filtering.
All step and direction signals are filtered with a RC filter and a schmitt trigger. This is ideal for a noisy environment like a laser cutter or CNC machine. The RC filter frequency is high enough to allow 1uS pulse control of the drivers.
Motor Enable/Disable
You can enable or disable the motors via the ‘D’ connector or via an external switch connected to a terminal block. This can allow hot motors to cool off or allow you to manually rotate them.
The Buildlog.net Open Source Laser cutter/engraver just added 3D printing to it’s capabilities. The printer system uses the existing CNC motion system of the laser cutter along with standard RepRap electronics. A quick release plastic extruder carriage is added to the existing gantry.
The upgrade project is called the Chimera Project because this is a hybrid of two self replicating machines. The parentage of the parts gets a little blurred. A Chimera is a animal descended from two genetically different animals. The laser is self replicating by making all its non off the shelf parts. Adding 3D printing takes that another step forward. The electronics were packaged outside the enclosure for development, but will be moved inside soon.
Changing modes is quick and simple. Swap the control cable, attach the extruder carriage and you are ready to print. You can even leave the printer carriage in place if you don’t need to use the full width machine when laser cutting. The total upgrade cost is less than $200.
The RepRap electronics can actually control the laser cutter with no modifications to the hardware or software, but the lack of acceleration parameters in the RepRap control system limits the speed the laser carriage can move before it becomes to jerky.
Already in the works are a tangential knife cutting head, Pen plotter and Dremel tool head. The entire system is open source and well documented. Starter kits for the laser are available and the 3D printing parts are coming soon.
Yesterday, MakerBot announced they are offering the new Plastruder MK5. The extruder is designed for reliability, low maintenance and ease of use.
It features and all stainless steel hot end that is precision machined to tightly screw together to prevent any leaks. It gets rid of the Nichrome wire heater and replaces it with two power resistors. The resistors draw a lot of power an must be used with a relay board.
The feeder uses the MK5 drive gear that has been available for while and gets rid of the idler wheel. Instead, it uses a thumbscrew adjustable Delrin plunger. he feeder uses the same DC motor as the MK4, but there is a NEMA 17 pattern for the planned upgrade to a stepper.
The design is of course on Thingiverse. It is for sale and in stock at the store for $189.