Mostly about my amusement

Author: Jan Dembowski (page 2 of 96)

Prusa MMU for the MK2s

I think I can call the multi-material upgrade of my Prusa Original i3 Mk2s a success. It took me about a day to put together and another day of tuning but I like the results and the prints look good.

Here's what you get with the upgrade kit.

  • A new E3D v6 with multi-material heat break
  • An additional daughter board to drive the extruder motors
  • All of the new plastic parts in ABS
  • Bondtech gears for the extruders
  • Bowden tubes
  • Spool holders for 4 rolls
  • All the fasteners needed

The instructions on Prusa's site are very good. I setup my laptop on the kitchen table, put the printer next to it and got to work. I took my time and spent 7 hours last Saturday just assembling it. A few quick tests and all was right in the world.

The Bowden tube setup is different and I need to get used to it. I had a clog on extruder 2 and had to  unscrew the Bowden tube from the print nozzle to clear it out.

I did have to butcher my Lack table enclosure. I run my printer in the basement and that gets cold. Enclosing the printer guarantees that I'll get better prints.

Less S3D, more Slic3r PE

The one thing I am not thrilled with is the software. I use Simplify3D a lot because I generally get better results. S3D's supports are magical and just pop off. In the past I would use Slic3r PE only when I needed to.

S3D does not yet support the Prusa MMU. There is a single color profile that I found on the Internet and that works well. But for multi-color prints it's Slic3r PE or nothing. This isn't too bad for me because once the bed is level and the z height is adjusted (-0.867 mm on mine, I set the PINDA probe a little higher) I get good first layers.

The default printer profiles generally work. The only adjustment I make is to set the first layer speed to 20 mm/s. After that it's full speed ahead.

The Purge Block

If you look at the image with this post, you'll see that each multi-material print has a block next to it. When the printer changes filament the head moves to the block and prints a 60 mm by 10 mm layer. By the end of that the nozzle is primed and the color can be applied.

That layer of block either gets completely filled in or if there's not filament change a small infill is applied for the next layer. Here's a closer look at the 2 color Moai.

That print has 2 filaments on every layer. That purge block is solid at 60 mm x 10 mm x 60 mm. I don't really think that's wasteful as it keeps the results clean. I may play with those settings to reduce the size.

Here's the fun thing: if I printed 1 or I printed 10 on the same job then the purge block is still the same size. It has to be the same height as the print itself because the print nozzle cannot descend. That would risk hitting something else on the print bed. Next time I'll print more than one and lay it on it's back. That should reduce the purge block and get more use out of the filaments.

Where to Get Objects to Print?

You can make them yourself but Thingiverse is loaded with many good models. There's more than a few that my kids already want me to print. It will be a while before I really make my own.

In the meanwhile I have a printer that can do up to 4 different materials in one go. That's cool and I'm having fun with this hobby.

3D Printed WordPress Bow Ties

Sometimes my hobbies cross over into each other. This year I attended WordCamp US in Nashville and had an idea. Why not download and make a bow tie with a WordPress logo on it?

First I went to Thingiverse and I quickly found this one. I already had the WordPress logo from converting the SVG with Fusion 360 and I began to work on combining the two files.

About an hour later I swore profusely. I had a lot of problems. My PC was a little under powered. Fusion 360 can do amazing things and you can design a V8 engine with it including all the parts. My limited Fusion 360 skills were failing me.

All I wanted to do was take the logo, position it on the tie and export the results to a new STL file for printing. But I'm not really good at manipulating imported objects that way in a tool like that.

Tinkercad to the Rescue!

Autodesk makes Fusion 360 but they also have a 3D editor that lives on the web and runs in your browser called Tinkercad. I imported the two files, positioned the logo where I wanted it and exported it for printing.

It took me all of 5 minutes. The first pass had the logo a little too thin and it broke too easily. It was also upside down; I thought the clip on bow tie would work that way. Sometimes I make poor choices.

Different Colors

Just as before with my WordPress coin, I wanted the bow tie to be one color and the logo to be another. My working printer does this like so:

  • Print using one color filament till the 59th layer. I used a tool to figure that out.
  • Move the nozzle to the corner and the print away from the nozzle. The nozzle is 200° C and that will melt any plastic it is near.
  • Beep loudly. This is an important step as the 3D printer is in the basement.
  • I remove the old filament and insert the new color.
  • Log into Octopi via my iPhone's browser and tell the printer to resume.

That's it. The bow tie came out well and I printed a few more. Did I mention that I sometimes go overboard? I printed 9.

Opensource All of The Things

The bow tie I downloaded is licensed via Creative Commons – Attribution and Thingiverse provides an easy to print attribution card HTML. Which I could not incorporate into this post except as a graphic and a link.

The 3D printer community is mostly opensource and these were printed on a Prusa i3 clone. I used Simplify 3D to slice the file into gcode but there are some really good opensource slicers such as Cura and Slic3r. I've had some bad luck with Slic3r but I think I sorted that out now.

If you want to play with this modified bow tie then you can download it via Thingiverse. Or create an account in Tinkercad and play with it there. It's an easy thing to do and is lots of fun.

WordPress Is About Responsibility

Your WordPress site (or any web site you put on the Internet) has value. Take care of it, it is your front yard and what the neighbors see. It’s your front office where you invite people to talk or do business with. Own it and take responsibility for it.

Recently on the WordPress support forums, I (not wisely) got into a security conversation. No great minds were changed, nothing new was discovered and nothing was accomplished.

In the hundreds of words exchanged, there was one tidbit sent my way that caught my attention.

Do you really think that it makes sense to expect these people to know/care about — and stay on top of — new/old security risks, manual plugin updates, manual core updates, etc.?

Yes, I do. 100%. Unequivocally.

I didn't reply there as the topic dissolved into a conversation about "blame".

I don't do blame, I'm about responsibility. Blame is for children, blame is for "It's not my/their fault" comments. Blame isn't about taking ownership, it's not a reason for something that happened. Too often blame is about excuses.

This isn't a new thing for me, I blogged about it 9 years ago. There's no shame in not having the technical ability to to maintain your site.

Software is a moving target

I recently went to a work event and one of the things repeated often was that security isn’t a state that you achieve. It’s a posture and is a response to a moving target.

WordPress powers over 28% of all web sites and that number is growing. Just as it is with popular office software and home PC operating systems, that number makes WordPress sites a very attractive target to go after. That’s why WordPress takes security very seriously.

But it’s a less than perfect world out there. Plugins and themes may not get the scrutiny that the core WordPress does. Patches happen all the time. When a minor number release of WordPress is pushed out, unless you or your host did something to prevent that, your site will update without you having to do anything.

Plugins and themes don’t update automatically, that’s turned off by default. That’s also where many sites get exploited.

Learn how to maintain your site

It’s still not a big list.

  1. Learn how to schedule backups and store them off of your WordPress site.
  2. Routinely log into your site to update plugins and themes. Or add a plugin to do it for you.
  3. Learn how to restore backups onto a blank installation.
  4. Or consider paying your host or a service to do these things for you.

Many hosts support WordPress and (for a fee) will do that maintenance for you.

Take responsibility but ask for help when you need it

I’ve not seen any surveys but I would guess that easily 80% of WordPress users don’t know how to do steps 1 through 3 above. I would also wager that half of those users rely on their host provider more than they realize.

That’s fine because most of those users may not lose sleep if they lose their blogs. People start blogs and forget about them all the time. For companies and organizations, a lost or compromised site can hurt their reputation.

If you need help or Very Bad Things™ happened, then you’ve got some options.

  1. See if your host can help you. Many host providers do offer WordPress support, sometimes for a fee.
  2. Hire someone, but be wary. I personally like companies that have real people, who interact and have a real reputation. WP Site Care is one such company, there are others. Don't just use Google, ask people who may know. Go to a local WordPress meetup and ask around.
  3. Post a support topic at the free, 100% staffed by volunteers, support forum. Notice that I put this one last?

Here’s why I put my favorite one at the end. There are no customers there, only users. If your site is on fire and you need it back ASAP then that’s just not a good option. I’ve been supporting and helping to admin those forums for years and they are top notch.

Those forums are staffed by unpaid volunteers working on their free time out of the goodness of their own hearts. Would you tell your CEO that’s your support model? You could do that. Some people have that misunderstanding and it often ends poorly. They don’t get the support they need and sadly, WordPress loses a user who didn’t realize what they were getting into.

A little self-education goes a long way. Don’t be afraid to ask questions about your WordPress site. At the end of the day it’s your responsibility. Learn and create a plan to maintain it and keep it running.

Don’t accept blame for what happens to your WordPress site. Take responsibility instead.

A 3D Printed Dial

I had a broken dial. I also have a 3D printer, so rather than epoxy the heck out of the old one, I designed and printed a replacement. One finished 3D printed part was produced with just a few hours of work.

My pool has a salt cell that uses electrolysis to convert salt in the water into chlorine. You manually set the level from 10% to 100% generation but I usually leave it alone at it’s maximum setting.

That dial literally has one job and it broke. It was flush with the panel so rotating it meant scrolling the right exposed side. Built out of cheap injected plastic though it did last for 7 years.

In Fusion 360 I started with a stub to make sure I sized the knob holder correctly and ended up with a knurled dial that protrudes from the machine. My process isn’t very good and I learn through “what’s that feature do?” For example, the knurling was put on my making a sketch, extruding and cutting it out of the dial then creating a circular pattern out of that 120 times.

The effect came out great. My first pass has knurling that was too shallow (0.5 mm). Until I printed it out I couldn’t see that I had made a mistake. Once I saw it I went in the designs time line, deleted the sketch (which also deleted the pattern) and re-did it again. The new knurling rocks.

The last iteration was missing something. I put on the face a cutout to show that turning it clockwise means more, counter clockwise means less. The original dial had that printed on the face but my cutout is more prominent. It also meant I got to try something cool on my design.

I started with PLA but when I got what I wanted I printed it in ABS plastic. Here’s a photo of the iterations.

Yes, I could have fixed the old dial with some epoxy. That would have molded the broken part nicely. But it’s not often I get to use one of my toys in a real world way like this. 2 days of on/off fiddling got me the part I really wanted.

Next time can it yell “Danger Will Robinson!” instead?

Yesterday I went to work at a data center in NJ. I don't often go as the round trip is more than 5 hours on the road. I had to do some heavy lifting and I wasn't sure if I had access to the last place I needed. So my pal walked me to the man trap there so I could check.

Man traps worked like this: I badged into the trap, the first door closed me into a small room. I badged to a second door, added another type of mandatory authentication and the second door would open. If it didn't work then the first door will unlock and I would have had to exit and try again. Or I just didn't have access and I wasn't getting in.

I did this. The second door opened. Sweet! I walked through and waited for my friend to join me.

Once I closed the second door on the data center side, the LCD panel lit up RED and the speaker started loudly repeating these words.

PIGGY BACK ALERT! AN ATTEMPT TO PIGGY BACK INTO THE DATA CENTER WAS MADE!

That happened. It was loud. It did not stop, it just yelled at me on a loop.

The stern recorded voice just kept repeating that. I was in the data center and the door would not open to let me exit. There was an emergency open door exit button for safety but there was no way I was going to set off that alarm too. I was not in any danger.

I had to call my pal on his cell. He was on the other side of the man trap and he could not come in either. The speaker was on both sides and we were both getting yelled at by a recording.

In short, I put that section of the data center into lock down mode.

What happened was that the first door's handle was not quite in the fully reset position. The door was locked magnetically (I checked) but it wasn't considered fully closed. When I went past the second door pandemonium was the result.

A security guard came and reset the system. He was a good sport about it and it happened to other people before. I tried a couple more times just to be safe. It was all good now.

I'm just glad the local cops weren't called. That would not look good on my next employee review.

I think she gets it from her Mom

My daughter and a lot of her friends have begun to follow different K-pop bands. Putting aside that none of them understand Korean, they like the visuals and the beat of the music. And some of it is sung in English.

My daughter is crafty and I don’t just mean her attitude. Today she’s attending a birthday party and her friend is a big fan too. She took a small binder and using a word processor on the iMac made a 50+ sheet printed on both sides compendium of the bands they follow. Complete with the current band member bios.

BUT WAIT! THERE’S MORE!

She made stickers with the color laser printer and set them on the pages using Velcro. That way they can be re-positioned in different sections. The holes on each page and insert were done with a single hole punch.

She made folder inserts from stiff color paper and put printed material on and in them. She solicited her other friends to email her content and dolled that up too, formatting it so it printed and inserted correctly with the rest. She made a K-pop quiz complete with the answers in the back.

To make sure it’s a “living” book, she put all the document files and images on a USB drive that she’s included with the binder. That way the new owner can add or change the content as she sees fit.

I don’t know what to say. She draws and does crafts better than anyone I know.

Here’s a gallery of the book before it was given. I’m gobsmacked about all the attention to detail for this. She pulled all the images from online fan sites and formatted all the data.

I can’t wait to see what she does next.

3D Printing the WordPress logo in two colors

My 3D printer only supports having one filament loaded at a time and that generally means the objects I print is one color. I wanted the WordPress logo (naturally) and two colors would be cool. I can print pieces in different plastics and assemble them but sometimes you want one piece. Good news! My printer’s open source firmware supports changing filaments before the print job is done. That let’s me start the base in one color but switch to another before the print is completed. Here’s how I did it.

I downloaded the WordPress logo to my PC via Wikimedia in SVG format. SVG is a vector format for images that can be scaled without losing sharpness. I loaded that into Fusion 360 and deleted the text to the right and just kept the round logo.

In Fusion 360 I scaled the logo to 50 mm diameter. I then extruded the white portions in the logo to 3 mm. The circle outline and the space between the parts of the “W” were extruded to 1.5 mm. I exported that to an STL file and loaded it into Simplify 3D. This is where it gets clunky.

For slicing 3D prints into a format the printer can understand I use software named Simplify 3D. It’s not opensource (or cheap) but it’s very extendable and saves me a lot of time.

Simplify 3D supports scripts that use regular expressions to locate text in the generated G-Code output file and make substitutions. In the generated code it also comments each layer of the print so there’s a “layer 8” text where I want to insert printer commands to swap filaments.

Figuring that I needed to modify layer 8 was a pain. There’s probably a well documented way to do it but I sent my G-Code output file to Octopi. I loaded the file but did not actually print it yet.

OctoPi comes with a built in G-Code viewer. I moved the slider up until I found that layer 8 was where I wanted the change filament commands inserted.

I then deleted that file from the OctoPi, went back to Simplify 3D and in the process settings I went to Scripts -> Starting Script and added this to the “Additional terminal commands for post processing” field.

{REPLACE "\n; layer 8, Z = " "; layer 8\nG28 Y0 X0\nM300 S0 P1000\nM25\nG92 E0\nG28 Y0 X0\n; layer 8 "}

And generated and updated G-Code file with additional commands that I sent to Octopi. I loaded up a spool of blue filament and began printing. Midway through the print the extruder moved to the home position (but did not change it’s height) and waited for me to change the filament. Once I did that I loaded Octopi’s web page on my phone, logged in and clicked “Resume”.

The resulting prints came out well and I repeated the process with the white filament first. The bottom is one color and the top is another at just the right place.

This hardly took me anytime at all. It’s not a fauxgo, it’s a legitimate SVG (well, I hope it is) representation of the WordPress logo. The blue is a bit off but I can be forgiven for that. The PLA material is listed as “Egyptian Blue” and it’s the closest I had on hand.

There’s probably an easier way to get the layer accurately without using Octopi but it works. If I find an easier way then I’ll update this post.

What I really want to do is print the badges for the WordPress teams such as Support, Docs, training, etc. That’d be cool and I may do that this weekend.

This all came about because my brother got his 3D printer working in two colors on the same layer. His printer has two extruders and can print one color next to the other on the same layer. My printer does not do that but I’ll catch up. Competition is good. 😉

Pi Zero W makes for a compact Retropie box

Of course I did this with a Pi Zero W. 😉

One of the reasons I like the Raspberry Pi is that it lets you take hardware and turn it into a dedicated purpose based appliance. Cheaply! And one of those uses is to make a retro game system. I've used the Raspberry Pi Zero before but I was hampered by the fact that it lacks network and Bluetooth access. To get that you need to purchase a USB hub, wifi dongle and if you want it an Bluetooth fob.

The new Pi Zero W addresses that and adds both wifi and Bluetooth on the small package. Once it's setup all you need is an HDMI cable and power. That's it.

Here's how I did it with an 8Bitdo Bluetooth SNES style controller.

  1. Download Retropie for the Zero onto another Pi Zero (non-wireless one, I have a few). I could not get the image to boot on the new device so I setup a hub with a wifi dongle and keyboard on an old version.
  2. After the image reboots to resize the file system then F4 to get out of Emulationstation and on the command line run this command.
 sudo apt-get update ; sudo apt-get -y upgrade ; sudo apt-get -y dist-upgrade ; sudo apt-get -y autoremove 

That will take a while to run and you will need to read part of the upgrade and press Q at a point. That annoys me as those commands should run unattended. Meh.

The purpose of this is to get the underlying Raspbian OS up-to-date.

  • When you’re done run sudo shutdown -h now and swap the old Pi Zero for the Pi Zero W. Unplug the wifi dongle, you don’t need it anymore. Boot up the Pi Zero W with the keyboard attached via the USB adapter.
  • Once it boots up press F4 to get back to the CLI and run these commands.
  •  cd RetroPie-Setup sudo ./retropie_setup.sh 

    And select "U Update all installed packages" with your arrow keys. I don't know if that step is necessary but I do it out of habit. I like making sure I have the latest updates. That will take a long while too and reboot when it's finally done.

  • Update your new 8Bitdo controller to the latest firmware. On my Windows PC I updated my SFC30 to firmware 2.71.
  • Boot your Pi Zero W and press F4 exit Emulationstation and manually run the retropie-setup script again. Follow these instructions to connect your 8Bitdo controller and don’t forget to do the UDEV part. Reboot as needed.
  • Transfer ROMs via the wifi to your new device. I find that NES, SNES and Genesis games work well. MAME is a bit of dicey but older games played satisfactorily.
  • Connect to HDMI TV and have lots of fun.
  • The final parts list came out to this.

    Pi Zero W $10
    8Bitdo SFC30 Bluetooth controller $30
    Pi Zero Case I used one I 3D printed
    Mini-HDMI cable adapter $20
    2A micro USB power adapter $8

    I already had the cables and power supply but I'm trying to be complete. Not counting the case it's ~$70 for this one player setup.

    It's not a Raspberry Pi 3

    The overall experience is good and if you limit your retrogames to the older 8bit systems then you'll like it. But the Pi Zero W doesn't have all the CPUs and RAM of the bigger Raspberry Pi 3. The good Neogeo games won't play well. Sometimes sound suffers due to CPU use. Lag is a thing.

    But if you have the technical know how this beats the Nintendo Classic by a mile.

    I am a creature of distractions (3D Printers are AWESOME)

    For Christmas one of my brothers purchased for my family (read that as “for Jan”) a Monoprice Maker Select v2 3D printer. This is a re-branded Wanhao Duplicator i3 V2.1 device. I had been looking at 3D printers for months (of course I was!) and Ed’s gift caused me to give him a big well deserved hug.

    We used to hug all the time but in the past that would end up with one or both of us on the floor and our parents yelling “STOP FIGHTING!”

    3D printers are good for easily fabricating small plastic objects from your computer. I’ve been using mine to create a few small items and print lots of free designs from Thingiverse.

    An introduction! What are 3D printers?

    They’re computer controlled precision hot glue guns but instead of a glue bead it sets a small line of melted material. And they print on a small area or bed.

    3D printers are a complicated version of a glue gun

    Photo by _bekahhogue

    A hot glue gun takes a solid glue blank and the metal tip of the gun warms up. This melts the end of the glue stick and you apply a bead of glue by squeezing the trigger. Melted glue is extruded out the nozzle and onto whatever you want to  put glue on.

    3D printers do exactly the same thing but it typically uses a thin plastic filament. The nozzle takes a 1.75mm filament, melts the end and extrudes it via a 0.4mm metal nozzle. The nozzle is attached to a pair of rods and a drive belt. The drive belt (the X axis) is moved by a stepper motor.

    The height of the nozzle (the Z axis) is controlled by another pair of stepper motors. The nozzle outputs onto a horizontal heated bed which has a stepper motor to move forward and backwards (Y axis). That’s all you need to output melted filament to print one layer at a time.

    The bed is heated because the extruded filament needs to stay put. That heat helps keep it in place and adhere to the bed. When the printer tries to put layer on top of layer, the old material has to be where it thinks it is. In the past people have used glue sticks, hair spray or blue painters tape to coat the bed and get their print to adhere. My printer’s heated bed came with a layer held on by adhesive called BuildTak.

    Printing Materials

    3D printer material is a spool of filament and that comes in a variety of materials. My local Microcenter carries Inland filament in crazy quantities and I’ve stocked up already.

    The easiest one to get started with is PLA or PolyLactic Acid, and yes I had to look that up. This material is based on sugar cane and when melted doesn’t produce toxic fumes such as ABS plastic does. PLA is easy to work with but it’s not as temperature resistant or durable as ABS. If you printed a cup holder and left it in your car in the summer then there’s a real possibility it will become deformed when it gets hot.

    ABS is acrylonitrile butadiene styrene (and I looked that up too) and it’s the same material as many plastics in your household today. It’s a great material but the fumes are toxic and it’s prone to splitting or warping when printed. It’s temperature resistant once printed.

    PETG (Polyethylene terephthalate) is an alternative to ABS. It’s durable and temperature resistant. I think it’s safe to use for applications such as food but it’s also finicky and I’ve not yet dialed in the settings to get really attractive prints in PETG yet.

    There are other materials as well as a wood filament that you can sand and stain. I’m still a novice and I primarily print in PLA.

    Slicer Software

    When you download or create files for your 3D printer they will most likely be STL files. 3D printers generally cannot process those. The files need to be sliced into layers and code for each layer.

    My printer is an open source Prusa i3 clone and uses G-Code to accept commands that tell the printer what, where and how to extrude melted filament. The file format for 3D prints is typically STL format which the printer doesn’t handle. You need to use software that slices your model into G-Code.

    There’s a few but a quick one is Cura. This is one of the open source software slicers that lets you set the set parameters for the print job. It’s free and easy to use. And after a couple of weeks I broke down and purchased Simplify 3D which is closed source and licensed to me for my one computer.

    Non-open source code isn’t something that I prefer but this commercial software saves me a lot of time. Cura is very good but I print a lot and a half hour here and there adds up.

    Printing designs

    You can print via a USB cable to the printer but I don’t think that’s a good idea. Instead save your G-Code output to a microSD card and via the printer menu print from that card.

    Printing from your PC could be risky. If your PC goes to sleep or reboots due to a scheduled update then you’ll waste a lot of plastic. Some print jobs take hours to complete.

    What next?

    I printed many things from and for my printer. I’ve also setup OctoPi, changed the printing bed and other things besides. But all that is for another post. This one is almost 1,000 words as it is. 😉