Skip to content

Archive for December, 2015

30
Dec

Octoprint, Astroprint and Wireless – Oh My!

One of the not so nice things about owning a 3D printer is the fact that it’s tethered to your computer. With a USB cable. Probably a short one. And if your computer goes south as you’re working on it at the same time as you’re doing a print job, well, it does tend to expand ones vocabulary.

In some cases a tethered 3D printer means you need to clean your stuff off the table so dinner can have a place to be served. Providing your have an understanding spouse. Who wishes you had a faster printer. And to save you the time, no, this will not work as a ploy so you can BUY a faster 3D printer. Nice try sparky. Don’t ask me how I know this.

According to the USB 2.0 specifications the cable length can be 6ft 7in to 16ft 5in.

My experience with cables is that unless the cable is well made, i.e. properly shielded and decent sized wire inside, you want to stay with shorter cables. But, I’ve seen a 10 foot cable with a USB extension cable jammed together to make a 20 footer plus in some cases. Followed by a question of why the printer “seems” to have an issue printing. Hint, it’s not speed, it’s noise and signal degradation.

I see a lot of long USB cables that would serve better as jump ropes than for reliable data transmission.

If your printer setup is in that particular kettle of sardines and you need a longer cable, do yourself a little favour and look for an ACIVE USB cable. I have a 20ft active cable that works just peachy.

Of course the dream of many is to get the printer released from the computer altogether. As in wireless. And that’s the gist of this article.

When I started down this rather 4×4 rocky road, I had a great a mythical vision and a tankful of dumb. A dangerous combination to be sure but since when did that ever deter anyone?

I started by looking at the problem. Wireless. I have lots of plain RF and RF UART modules. We’re talking short range for the most part. Should be a snap. The Arduino MEGA in the Kossel has spare serial ports so I could shoe horn into the USB port one (TX0/RX0) or I could use some of the unused pins on the MEGA for raw RF.

I modified the Marlin software and stuck these in.

433Mhz

Insert first rude awakening here. The modules I used are one way only. Turns out that the software in Marlin sends an OK after it processes each line of G-Code. When the host that’s sending the GCode doesn’t get the OK, it waits. You know, like forever. While I was burning some of the dumb from my tank, I also found that these things can manage 4KB per second.

To put that speed in perspective think dial up modem speeds. From about 1982. Good. Got that out there.

The Kossel wants 250,000 baud. Time to look for something that will do that. Next up, I tried Bluetooth (HC-05) and I actually got the thing working. Course there was no way in the real world it was going to work at 250K so I started to crank the speed down.

Two new problems reared their ugly behinds. The first is when you get a speed that the Kossel will run at, you find that there’s a delay in the transmission rate in Bluetooth. So you send GCode, the MEGA immediately (it seems like it anyway), sends back OK. The HC-05 does not like to be pestered this fast. Better for slow speed mice and keyboards. Secondly, there’s a buffer in the HC-05 of 20 bytes.

Rude awakening number 2. But I’m on a roll and really burning through the dumb fuel now!

To make this short, after trying numerous other RF “things” I came to the conclusion it is like the engineering triangle. You have cheap, fast, reliable. Pick any two.

Abandoning RF, I decided to tackle a 3D print server idea. Repetier has host software that you can run on a computer that is connected to your 3D printer but it means you are tossing a full desktop/laptop computer at the problem. Fail.

Which led me to the Raspberry pi.

An all in one Linux based SBC (single board computer). Dreamt up by some guys in the UK as a solution to a problem that they seen. I mean all you have to do is connect up a keyboard, monitor, power supply, and a powered USB hub. Heck, a second hand computer has to be in the same ballpark for cost and a heck of a lot more friendly than Linux/Python and Scratch. It’s like “instant water!”, just add water, stir and you’ll have….wait for it…water.

I picked up a Rasp pi B+ Model 1. I didn’t even know there was a model 2 with double the ram and faster speed.

Try to imagine what happened when I put Octoprint on the lowly pi and watch it stutter PLA. Now apparently this combination works for some, but at the same time trolling through the various forums it certainly doesn’t work for a lot of people. I am one of those.

Jason, one of our fellow FVMakers, was kind enough to loan me a Model 2 Rasp pi to try out. Stuck Octoprint on it and was printing in a matter of minutes. Admission, Linux is for nerds, I am a nerd.

See, at this point, I was down to less than half a tank of dumb. Things were indeed looking rosy. Ah ha. I thought I had the solution. Nah, just setting myself up for the next head banging session.

I ordered a couple of Rasp pi’s MODEL 2’s from Adafruit, along with various Wifi adapters.

Then I got a WooToo powered USB 3 hub from Amazon so I could power everything. You read that correctly.

The pi runs off 5V input but cranks it down to 3.3V internally. The USB ports on the pi are severely underpowered and I’m told there is a fuse on the input to the pi that makes sure you don’t draw too much current via the USB ports. I don’t want to find out.

So how do you know you’re sucking too much power? Turns out the pi, if you plug it into an HDMI monitor and boot it up, will show a colour rainbow icon towards the top right of the monitor. I had a Wifi adapter, USB keyboard plus mouse and I was seeing this “blinkin'” icon during my tests.

The Raspberry pi only has 600ma of current available and that is shared for it’s four USB ports. So the design team on the pi made some rather goofy choices since USB standard is 500ma per port. But hey, it’s Linux. So hackable. You can modify the pi’s boot up config to give you 1.2A. Course at this point you just might need a fan. To cool the pi’s voltage converter because I don’t think it was ever designed to handle that amount of current.

Finally down to a reserve tank of dumb, I finally sat down and started to read specs. Because the internet is full of such accurate information.

If wireless 3D printing is your goal, here’s what I found works, reliably. And fast. Notice which one is missing? Good.

There are other Wifi adapters for the pi. I tried several different ones, all of them a LOT smaller than the Ourlink one. First thing I found was they drew more current and the range on them was pathetic. Great if your router is in the same room, not so good otherwise. And really, these dongles all cost about the same anyway.

The Kossel doesn’t plug into the PI’s USB ports. It goes into the powered hub. I found when I had the Wifi dongle and Kossel plugged into the pi, the LCD display on my Kossel would flicker. I don’t see this as a good sign.

Now that I finally had all the hardware, it was time to try out the software. First I tried Octoprint. Download it from a precompiled IMG (image), dumped it onto a microSD card and good to go.

Right. In an alternate reality.

See the catch is the microSD card. Although some SAY it will work on as little as a 4GB card, forget it. Get a 8GB card and make darn sure it’s a CLASS 10 card. The Rasp PI site says class 6 is a good trade off, but I found the class 10 cards work better than the class 6 cards do. The main difference is the class 6 card works slightly better when dealing with lots of small files. Whereas the class 10 handles larger reads and writes better. GCode files aren’t all that small…

Some class 10 cards also sport UHS-1 (3) as in ultra high speed. I had a lot of trouble with some of these cards and I can’t find any info from Rasp themselves that say they even support this higher speed card.

The next order is an SD card formatter. No, not the one that’s built in your computer. One from the SD manufacturers. And if your card supports it, use the option to optimize the card format.

Good the card is formatted. Now you need the downloads:

Octoprint
Read the text on the site, if you’re using Wifi you need to edit a file on the SD card after you write it.

or

Astroprint (astrobox)

Oh wait, how do you get those images on the SD card? Right you need more software…

For Windows – Win32DiskImager

For Mac users – ApplePIBaker

Essentially select the image, select the card, write. Make a coffee while it’s doing it.

If you wrote Octopi and you need Wifi you’ll need to edit a file on the card.

In my case the easiest one to get running is Astroprint. It starts up as an open access point, you connect it to, configure it to connect to your Wifi router, reboot it. Do a few settings, good to go.

Octopi, not so easy. Lots more settings, not mobile or tablet friendly. But there’s vids on setup works a lot like Repetier Host.

I’m not going to review the two packages, but I’ll tell you that Astroprint is a fork of Octoprint. The main difference is in three areas. Complexity, control, and features. If you want MAX control and feedback from your print job, Octoprint. Hands down. Octoprint will even do time lapse videos of your print job, not to mention realtime video streaming of your job (about 5 or 6 seconds lag).

If you want to send a GCODE file, start the printer, then go about doing something else. Astroprint. Hands down.

Both of them are easy to access via your LAN or WAN if you want to open up a tunnel in your router and use an access password. They use Apple’s Bonjour (zeroConfig, mDNS). This is built in every Mac out there, but you need to install it in Windows. If you use iTunes in Windows you probably have it already installed. Or you can download it directly here

Running your browser and typing in astro.local or octopi.local will bring up each servers control pages. So you can control the printer, upload files to the sd card to print, or directly to the SD card in the Kossel…well, Astroprint doesn’t always like the SD card in the Kossel so I don’t have one in mine.

It’ll take a few seconds to connect to the pi server, if you need it faster, I don’t know what you’d do to speed it up. If Octoprint is busy with a print job, I found I can make it stall for a split second when I connect. I have a hunch that because it’s streaming live video that sucks all the CPU power up from the pi.

Astroprint does no do live streaming but offers you the option of plugging in one of those old USB cameras like Logitech makes and selecting to do a still capture at that moment.

A popular feature of Octoprint is the time lapse photo ability. It takes a series of photo shots as your print is happening. These look great on YouTube when compiled into a video but beyond that I don’t really see much of a use for it. Plus the jpeg streaming that the pi does tends to tax it’s wee little processor. Even the PI 2. Enter overclocking for the PI. I don’t do it.

Using either server via a browser is simple, but Astroprint is far better designed for mobile browsers. Octoprint doesn’t have the same capability. Thus controlling your printer from a phone or tablet is easier with Astroprint.

One of the better reviews I found online for Octoprint vs Astroprint is this one. The thing to keep in mind that it’s more like an arms length review. There’s no lifting the hood to see what makes it tick, nor any real world tips or techniques. Or things to watch out for. I like to kick the tires on these things and see what rattles.

I ran each one for a month and put both through their paces. In my humble opinion neither one of them is perfect. Both have flaws in different areas. Therefore you have to examine each to figure out exactly what the most important parts are for you and then use that setup.

In addition I found that you really don’t want to leave them running 24/7. I have my PI 2 setup along with the Kossel on a power bar. When I want to print, I power them all up at the same time. Both Octoprint and Astroprint work more reliably for me that way. In not doing that, I found the Octoprint would lose it’s connection via USB to the Kossel, and Astroprint would screw up the controls if I cancelled a print job. REBOOT….:-)

There are still things I am trying to figure out, one is the amount of SD card space left when you send a design to print. Octoprint makes this easy, Astroprint I have no clue. It says nothing about available space that I have found.

Lastly, for whatever reason, printing from the computer via a USB cable is faster than having the PI with the servers to do it. It makes zero sense at all to me why this should be, but timing the same print job always takes less time coming from the computer. Just weird.

There are other 3D print servers that run on a PI as well but not free of cost. Like PrintToPeer. While the software appears to be open source, you need an account with PrintToPeer so need an internet connection where you send your STL file, they slice for you, then send it back to your printer for printing. Judging from the web site it looks to be aimed more at commercial applications than home users.

Setting aside the cost of whatever a PrintToPeer account is, connecting to the internet so I can control a LAN based 3D printer sitting 10 feet away me means they must have found my empty dumb tank and possibly a few others and overfilled them for their own use. Words “self reliant” have been lost on these guys. I just don’t get it. But they aren’t the only ones doing this net/cloud based stuff for your local control. Honeywell and Accurite do as well. They should pay you for doing their market research.

Hopefully you got something from all this info, because I’ll tell you straight out that the water’s pretty murky when it comes to print servers. There’s a lot of time when you feel like your row boat only has one oar. Hence when you see the caption that says, “Untether your 3D printer for $35”, you want to do a oar count.

28
Dec

3D Benchy – Netfabb – Printer Torture Test

Apart from replacing a nozzle on my Kossel, recalibrating it, testing PETG (which is weird stuff) and doing a LOT of PLA printing, I’ve also been testing wireless printer control options. Specially AstroPrint and OctoPrint. But I’ll leave those for another day.

Today, it’s once again, Benchy time. Benchy, for those who have never heard of it, is a 3D printers worst nightmare. It’s small, complex and shows any weak areas in your printer setup/calibration in a heartbeat. Frustratingly so.

I printed one, ages ago when I was cutting my teeth learning the in’s and out’s of 3D printing. It printed, but it wasn’t nice. It’s out at the FVMaker space if you want to see it. Take a look at the photo and you can see the bow has some areas where the PLA shrank and you can see the bridging is a mess.

IMG 0366

Keep in mind I’d done a lot of 3D printing up to the point when I first printed the 3DBenchy. So I assumed that the print would be a walk in the park. Nope. More like a stumble in the dark.

First thing I found was Slic3r didn’t like it. For some reason I couldn’t fathom, other than Slic3r, like most open source software, isn’t perfect and makes its own limitations fairly obvious. Secondly it showed me that there is a direct correlation between printing speed, PLA brand and PLA temp. Every printer I have looked at will get to some point where it does the best job it can given its current settings. Go above or below those and quality becomes an issue. My Kossel is no exception.

At the time I thought I could slow the print down because laying hot PLA over hot PLA was part of the problem. So that was about as wrong as one can get. What you really need is cooling somehow. My Kossel kit like everyone else’s has no provision for cooling. Thus, on small quick prints you are doomed before you even start.

Second, but only slightly less important is the PLA brand I print with. Some brands flow fabulous. And some don’t. You need to find the temp they work well at and remember it. Some brands will print and flow well, but tend to ooze every time you get near a border jump. Strings are the indicator. Thus the secret is, which is not brain surgery, find a brand you want to stay with and tweak the daylights out of it for your printer.

I’ve done numerous software (Marlin) tweaks for accuracy and trust me, you can tweak Marlin until you’re blue in the brain and it still won’t be perfect. For example, tweak the Z setting, it will affect the X, and Y. And vice versa. It would be super nice if there was a way where it could tweak itself sort of like a marble in a funnel concept so it would be 100% accurate. But it’s a delta printer, pendulum swinging plastic squirter. Be happy if you get close to accurate.

Anyway, back to Benchy. I’d just replaced the nozzle in my Kossel. No, I didn’t wear it out, the PLA broke off inside the printer head and I had to take the whole thing apart to get it out, just as easy to replace the nozzle. I spent a little more time than usual re-calibrating the printer to get dimensional accuracy. So when 3DBenchy appeared on Thingiverse, I thought what the heck. I’ll try it. Again.

Just checking on Thingiverse, 386 people have printed the little brute out. Wander through some of the prints made and you’ll see some good, not so good and prints (where the person is pretty happy) but it’s a good thing that plastic floats because Benchy wouldn’t hold out the water.

Screen Shot 2015 12 28 at 10 47 48 AM

Or:

Screen Shot 2015 12 28 at 10 48 54 AM

Or:

Screen Shot 2015 12 28 at 10 52 11 AM

Only this time, I changed one thing. I added a fan. No, not on the print head, a big 100mm fan off to the side of the bow so it was blowing right down the bow line of the boat.

IMG 0866

And then I just let the chips fall where they may… for printer settings… this is what was suggested:

  • Scale: 1:1 (unmodified in size, from bow to stern #3DBenchy.stl measures 60.00 mm).
  • Layer height: 0.2 mm
  • Infill: 10%
  • Print speed (extrusion): up to 50 mm/s
  • Print speed (travel): up to 150 mm/s
  • Print nozzle diameter: 0.4 mm

The Benchy web site gives you the dimensions that your finished print should be. Pull out your digital micrometer and prepare to drive yourself nuts. If you’re so inclined…

My only variations were that I set the infill to 25%. It’s my default infill I just left it. The speed I left to what I normally use for print jobs. I didn’t slow it down or speed it up.

I first tried slicing the 3DBenchy.stl file in the download but Slic3r had some issues with it. Like 3,000 errors that were “fixed”. I never understood what this error was so I figured it was time to figure it out.

I have a group of friends who live in this 3D world and they said it’s that some of the triangles in the objects overlap. Slic3r has trouble dealing with that so it tries to repair them. They also strongly suggested that if that happens, don’t let Slic3r fix them, use a piece of software called NetFabb to do it.

So….. off to find Netfabb. I downloaded the BASIC version. Ran it, did some registration that was required and then opened the Benchy file. It takes about 5 mouse clicks to fix an object:

1. Click on the + icon.

Screen Shot 2015 12 28 at 4 42 10 PM

2. You’ll see some results show up in the dialog, some in RED. Click the UPDATE button to fix those.

Screen Shot 2015 12 28 at 4 42 29 PM

3. You should now see 1 shell as you see below. If you see more than 1, well, don’t use the file…

Screen Shot 2015 12 28 at 4 42 41 PM

4. At the bottom right corner, you’ll see an Apply Repair button (skip the auto repair button). Click it:

Screen Shot 2015 12 28 at 4 42 50 PM

5. A new dialog will appear asking you what to do with the old design. Toss it:

Screen Shot 2015 12 28 at 4 42 59 PM

6. In the “parts” list right click on the “part” and a submenu will appear. Select Export as STL.

Screen Shot 2015 12 28 at 4 43 19 PM

Netfabb will use the same name as the file you loaded but will add (repaired) to the name. I see this as a good thing. Oh, Netfabb might also pop up one more dialog to ask about the “accuracy”, just click the okay button to have it fix that too. Usually only happens on some STL files.

Open this new repaired file in Slic3r or whatever you use for slicing and there should be no repair error messages generated.

I have used Netfabb now a number of times to fix Thingiverse files or files that I have modified that give the slicers fits. The basic version has worked perfectly every time on those troublesome STL’s.

Here’s the old Benchy (hard to see the mess of the bow):

IMG 0365

And the new Benchy with the fan running:

IMG 0870

While they might appear similar in the photos, when you physically look at them in your hand, it’s day and night.

So there you go. Small prints benefit from cooling. You don’t always need to mount some uber fan on the print head, and NetFabb can be your best friend.

23
Dec

The Papa Light

I was building some 3D printed lamps for the studio and I ended up with a bit of a miscalculation. The original idea was to print a single layer cone and then print a space ship atop of it. The lamp would shine up from the bottom and it would look like the spaceship was hovering with light coming down from under it.

So the concept was good. The execution left something to be desired. A lot. Really…

I printed the cone in luminous green and it turned out perfect. 120mm in diameter at the bottom. 38mm at the top. Beautiful.

Then I designed the “space ship”. Yeah. 100% senior moment there. It turned out perfect:

IMG 0735

Except it weighed about a pound. Because I had a lot of infill and some pretty solid areas. Sigh. So rather than chuck it out, I set it aside. And went on with the lamps.

Couple weeks later I’m talking to my brother and I mentioned my snafu. He piped up that he wanted a nightlight for his grandson. I could see the space ship being repurposed in hurry…

IMG 0733

I designed a stronger cone base for the space ship and even put a name on it. This base was going to hold up that space ship no problem.

When my brother showed up for the “build day” he brought along some 12V Canadian Tire LED strips. These are ones that you normally put under the hood of your vehicle so if you need to open the hood at night you have some light. These puppies run off a pair of 12V batteries so completely portable (with double sided mounting tape too).

IMG 0761

Amazingly enough when we bent the strip around the inside of the space ship the LED’s lined up perfectly with the holes (12mm) I had in the ship. A real bonus.

I made another electronic on/off switch the same as I’d made for the Tardis project earlier and I let Roland solder up the connections. He’s become quite proficient with a soldering iron so I don’t have to worry about cold connections or missed joints. Must run in the family.

IMG 0762

After a couple of hours we had the basis ready for testing. Stick in a 12V DC adapter, hit the button and presto. Worked perfect.

IMG 0763

Since it was late in the afternoon when we did this, I turned off all the shop lights and took a photo of the night lamp.

IMG 0765

Definitely lit up the area pretty good. Away Roland went with the lamp.

A few days go by and he gives me a call. Laughing. Says, we didn’t build a night light, we designed and built a light house. He says when he tried it at home in a completely darkened room, the LED’s shone out the holes in the ship and display circles of light on the walls in his condo. So bright he didn’t need room lights.

Opps…

If you look at the photo above you’ll notice circles of light on the wall and on my hot air work station. Ah yep. Kind of missed that. Way too bright.

He came back to the shop again and I printed up some orange stoppers for the light tubes in the space ship, and a much better bottom to keep his grandson out of the inner workings. We toned down the brightness a LOT.

IMG 0786

I’m kind of hoping he takes some pix of it when it’s in the grandson’s room because I don’t have any photos of the extra mods we did.

But all this has been interesting because I never realized how much our eyes can adjust to darkness and how little light we need to see anything in low light conditions. I built an alarm clock for the bedroom to replacing the aging one in there and with the 4 LED’s on the ESP8266 and the Arduino (and GPS) it lit up the bedroom…LOL