OK Google: Just Call Google Assistant Gigi

With all of the Google Home Assistant users out there that clamor for a better alternative to the “OK Google” and “Hey Google” methods of accessing the Assistant mode on your phone or Google Home device, I have often wondered why calling it “GiGi” wouldn’t be the perfect solution. Even better than that would be to have to say nothing at all, and have those devices just know when you are speaking to the intelligent helper, but there is no practical way to do that, as well as no way to solve the implementation of having it always listening and trying to discern what the always on recording of your life means to privacy and recognition of a question asked of the “machine” vs. asking your dog if it’s hungry.

It seems to me that calling it Gigi makes the most sense. Apple uses Siri. Amazon is Alexa. Microsoft is… Well. Who really cares? Making it a woman’s name has precedence. Gigi is a nice name. Easy to say. Google has 2 G’s in it. Saying “OK Google what is the weather today” is way harder than “Gigi what is the weather today”. Two less syllables, and kids can never say Google right anyway (I have a 5 year old). The default voice for Assistant is a woman, so she can now be GiGi. Or GG, or whatever and it totally makes sense.

Google added manners a while back. Fire up Assistant and say “OK Google what time is it” and it responds. If you say “Thank you” you are saying it to a machine that responds to you with a polite response. But saying “Thanks GiGi” would be so much more personal and like your personal assistant, who has a name, who helps you every day, who is a part of your life, who is respected and valued as something other than a machine, that this just really makes sense.

My assistant needs a name. Google assistant is my go to life automator now, and I’m really tired of “OK Google”. Make her Gigi. Make her real. Do some fun stuff with deep fake Max Headroom type personalities that make her a member of my family or something – appearing in mirrors, TV’s, monitors, my Google Home devices, whatever. Have her follow me and use voice recognition or biometrics that have her travel with me to other people’s devices. Make Gigi have a persona that is removed from the machine, and part of my world.

Sonos Move Review: The Speaker You Have Been Waiting For

I have a bunch of Sonos stuff, so let me start off by saying I am a fanboy of the awesome products that they put out. The audio quality of the Sonos line is great, and when you throw in the convenience of great apps, the convenience of linking all of your favorite streaming services like Spotify, and zones, party mode, and Google Assistant and Alexa integration on some of the newer devices – you just can’t go wrong with them.

Then the Sonos Move came along this week (9/2019).

I went ahead and preordered the move hoping that all of the hype would make this just another solid product in the Sonos line. Let me say, I was completely mistaking. This little Sonos is a game changer.

First off, the setup was a breeze as usual. I just plugged it in, opened the app, hit the + button and followed along for a few minutes of connecting, a quick update to the device and it was now a part of the system. I went ahead and added the Google Assistant integration, and it nicely threw me into the Home app and I was able to add it to the home automation devices there.

First up? Well, this thing is pretty. Great design and looks awesome, wherever you put it – and guess what? It’s called the Sonos Move, and you can put it anywhere!

And that is the game changer. I have had bluetooth speakers of all shapes and sizes. The Sonos Move is the top end of this genre though, at just under 10 inches tall – it’s fairly large and as any decent speaker is, heavy too. With that heft comes BIG sound. I mean like really BIG SOUND. Like I look at it with a puzzled look sometimes wondering how they could possibly have packed that into this thing, that while large for a bluetooth device, is pretty small for what this thing kicks out. This easily fills a large room with great dynamic range, impressive bass, and crisp clear highs. It really is amazing for the size.

But the magic is that this speaker sounds like a million bucks, and truth be told, it’s roughly $400 – so part way there – it’s not cheap. But that is the game changer, it’s not cheap. It has an amazing design, with sexy lines, touch buttons, perfect lighting, just enough grill to see the nice sized speakers, a great handle in the back to grab it and move to the deck, or a nice soak in the tub. This thing is portable, and instead of some tinny semblance of music on the go, you bring bass and great all around sound with you.

There are a ton of features packed into this amazing unit. Google Assistant and Alexa are built in, and they work just as well as the dedicated devices in the house we own. There is a set of microphones that magically adjust equalizer settings when you tote it into a new space that dynamically adjust the sound of the unit for the surroundings. The charging ring is a simple affair that charges the unit at lightning speed and acts as a additional stabilizer in it’s “home” spot at 10V, 2.5 amps.

The battery holds a ton of juice and has easily taken all day listening jams without a top-off and has been left alone on stand-by for days, only to come right to life when summoned by the mobile app or PC. You can also hook up a USB-C cable, and depending on the power supply, can charge in that fashion though somewhat slower.

There is a dedicated bluetooth button on the back side for pairing and switching from wifi to bluetooth. This makes it worth every penny. I have seriously grabbed this thing while on bluetooth, walked to my car, thrown it on the seat and rocked out on the way to my destination just as happy as if my awesome truck stereo had been on – all without skipping a beat. Oh, and wait until my camping neighbors hear this thing! They are going to LOVE me! 😉

I’m all in on this new speaker from Sonos. I’ll be buying another to pair for stereo and taking it to the pool, in my car, trips to the park and beach, to picnics with friends and outside while I garden and wash the car. This thing is amazing. I bought into the Sonos ecosystem long ago, and it just keeps stepping up a notch, making me oh so happy that I am the fanboy that I have become. This changes the game.

HOW TO: PID Auto-Tuning for Ender 3 and Other 3D Printers

Swings in temperature for your 3D printer’s hot end, such as the Ender 3, is just plain no good for quality print results. Steady, controlled heat is what you are looking for and getting it right can be great for your print results. PID auto-tuning is a way to control the temperature by using an algorithm to determine the values that the printer uses to heat and maintain temperatures. Below you will find the instructions to set your PID values. This method is going to change the values that are stored in your printer, and used every time it heats. This method is great for setting the PID values if you use very similar filament, and cooling most every time you print. If you use a lot of varying filament, or use cooling on some and not on others, you will want to modify your slicer printer settings to set the PID values for each configuration. Lets take a look:

  • First off, use a terminal command processor to send commands to your printer – such as OctoPrint, Repetier Host, or Simplify 3D.
  • Start your printer in a cooled state, with the material you are going to use (such as PLA) primed in the hotend – either from a previous print or heat the printer and push through a few inches of filament and let it cool back down
  • Start the cooling fans if you intend to use them as part of the results you want from the PID test. Send the command M303 E0 S205; to the printer for a temperature of 205C – change the S value to whatever target temperature you are looking to get stable heating for like this:
M303 E0 S205;
  • The printer will take about 5 minutes or so and run through the auto-tune test.
  • When it is complete, Marlin will spit out the test values for P, I and D looking something like this near the end of the output:
Recv: PID Autotune finished! Put the last Kp, Ki and Kd constants from below into Configuration.h
Recv: #define DEFAULT_Kp 27.44
Recv: #define DEFAULT_Ki 3.60
Recv: #define DEFAULT_Kd 52.26
Recv: ok
  • Now tell your printer that you have new defaults, sending in new values for the PID values that you received from the test. In my example I send it the values like this
M301 H1 P27.44 I3.60 D52.26;
  • And it returns a success looking like this:
Recv: echo: p:27.44 i:3.60 d:52.26
Recv: ok
  • Next up, you will want to save your settings to the firmware, or the next time you cycle the power, you will lose the settings, so send the save settings command like this:

There you go, you should be all set to go with stable PID settings that make your printer produce better prints . A couple of quick things to note:

  1. I have seen some varying settings and re-running the whole thing a few times will give you interesting variations in the values returned. The first time I ran this on a printer, the resulting values produced oscillating temperatures (around +-4 degrees C) which is a little too much. You are looking for tight temperature ranges – I was happy with the settings above that roughly stayed very solid in the 204-206 degree C range. Re-running the test a few times you may find a set of values that really tighten it up for you as well.
  2. Remember, if you are swapping in another brand of filament, a different type of filament (like going from PLA to PETG), or using fans vs. no part fans, you will want to either re-run this test and store them in firmware to use until you change them again, or send the M301 command in your printer profile with each of the values for P, I, and D for the configuration each time you go to print. This method takes a little more work, but ensures that the settings are correct for the config you are intending to use.

That’s it for today, if you have a comment or tip leave it below – we would love to hear from you. Happy printing!

HOW TO: Calibrate Ender 3 Extrusion

Calibrating your 3D printer’s extrusion rate is a great way to really dial in the quality of your prints. I find that when using the same brand filament I can get away with calculating the extrusion once, and checking it now and again to make sure I’m fairly close. When introducing a new filament or type (like switching from PLA to PETG for example) you probably want to run this quick check again and make sure you are within a few percent for the new stuff. Calibrating is easy, and if you use Octoprint or Repetier Host or Simplify 3D and can send terminal commands, it’s just this simple:

  1. Set your extruder to relative mode by issuing a M83; command
  2. Next mark your filament 120 mm from the entrance to the extruder with a Sharpie
  3. Then tell the printer to extrude 100mm of filament using the G1 E100 F100; command
  4. Now measure the amount of filament yet to enter the extruder. I had 30mm left over. That means that 10mm is not extruded, though the machine settings think it has. So lets fix that now. (If you have 20mm yet to enter the extruder, congrats. You are done and can go get a tasty beverage.)
  5. Lets find out what the current steps/mm setting is on the printer. Enter the command M503;
  6. You will get a bunch of settings returned, and we are looking for the M92 output, mine was:
    M92 X80.00 Y80.00 Z400.00 E93.00
  7. So lets calculate what we need here instead. I had 30mm left over. So 120mm-30mm= 90mm. My printer is pushing 90mm through, thinking it is 100. That is a 10% difference, and pretty significant. The original output above shows that my extruder steps value was 93 (see E93.00 above.) Lets calculate the correct value. A quick formula for this is (original step value x 100) / actual distance. In my case, this is (93×100)/90=103.333
  8. Lets set this value as the new extruder step value with the command M92 E103.333;
  9. And save those settings to the board with a M500;
  10. Now your extruder should be set, so lets test! Run through the instructions again by measuring another 120mm and running the
    G1 E100 F100; command one more time and you should be pretty darn close.

Happy printing! Leave a comment below if this helped your or you have feedback on your results.

How To: 3D Print PETG on an Ender 3

Printing beyond PLA on an Ender 3 can be tricky. Here are a few tips to get you started with printing PETG, a filament that is stronger and has some qualities like better heat resistance than PLA. If you head into a print with PETG using your stock tried and true PLA settings, you may be up for a surprise – it just isn’t that easy. After some testing, here are some tips that will help you get started:

  1. SLOW it DOWN – Running PETG through your Ender 3 is going to be troublesome on many prints running it through at the stock 60mm/s. You need to slow it down. 40mm/s may work, but 30mm/s is probably the sweet spot for this machine and filament. This one is going to be the key to your success. You might get lucky on some prints, like cubes or anything that is pretty continuous in laying down a layer, but for anything with even a bit of complexity, just slow it down.
  2. GET the TEMP RIGHT – This one is going to vary. You can choose a nice test cube and start at the low end of the temp range for the PETG you buy, let it print for a while, and up the temp by 5-10 degrees. Keep track of what you are doing, and when you are done give the layers some pressure with your thumb and find out where the strength and layers are really holding tight. If you head too high, you will get a solid print, but you will end up with stringy prints that take a lot of cleanup or just plain fail. Also, you will note that when you start getting to that sweet spot, the color will start to change from a milky white to clear. This is when you are getting the temp right. I find that most PETG likes it HOT! Try 250C – this may just be your Ender 3 sweet spot too.
  3. FAN all DAY LONG – Sure, let the first layer or two go down without a fan to get a nice adhesion, then blow on! Let the fan run on high, add better cooling by printing a better cooling duct for your machine (I like the PetsFang on Thingiverse – even went with the dual blower version).
  4. BED HEAT – PETG does not require a heated bed, and you may not need any heat there if you have a nice sticky magnetic mat or tape or the like but on glass and some other surfaces you may find that getting the surface up to 70C will help a bunch with keeping the print down, without warping or just plain coming loose.
  5. CLEAN the NOZZLE – Going from PLA to PETG or any other high temp filament is a huge bump up over what you have been using for PLA. Heat up your hot end to 250 degrees and let it sit for 15 minutes and clean it very thoroughly – pulling off everything you can find, even wire brushing around before you get started. You will not be happy if you skip this step and find an overnight print that has lumps of that awesome orange PLA that has dripped into your new PETG piece of trash.
  6. FLOW – Increase the flow (OK maybe decrease – but usually increase). PETG needs it hot, and if your hot end doesn’t keep up (slowing it down as I said in #1 helps a BUNCH) it will lay down layers that don’t have enough material. Use your slicer to increase the flow to 105% or more and see if the layers go down happier. This one you will need to test yourself. If you are doing a bunch of PETG prints, you may even want to calibrate the machine to the filament and your extruder to get it just right.
  7. THINK SUPPORT – Here you may want to just rethink some of the support that you are planning on printing for your model. I have found that the support blocking in Cura is useful for PETG sometimes – eliminating support that is unnecessary and causing you stringing issues that bleed into the quality of the finished product. Mess around here and find out which supports are going to work, and which are failing you. Another great thing to look into (in addition to standard brims potentially) is the ability to support your support with support brims – lol. Check it out in Cura 4.x, you can add brims to your supports while keeping skirts as your starting layer.
  8. BABYSIT those first few layers – and give them a a helping hand if need be. The first few layers are key to a great print. Babysit them for a while and use tweezers and clippers to remove anything that you can easily remove without stopping the print. Often a bunch of stringing or pulled over support issues can be solved by removing the offending clumps early on, making new layers take over and saving your print. This goes for any type of filament, but taking the time with your PETG will pay off even more in my experience.
  9. Lastly, use a profile for your slicing software that has some great extrusion and speed settings for retraction. This one should get you going for PETG if you are using Cura:

TOP 10: Best Ender 3 3D Printer Upgrades

Have a Ender 3 Printer, or getting one soon and want to know which upgrades you might want to take a look at? Well here is my list of the best of the bunch, in the order that, in hindsight, make the best upgrades. Some are better at making your prints turn out, some are for ease of use, some are just plain fun – let’s take a look:

  1. Upgraded extruder arm mechanism – this is the first thing you should do if you plan to print more than just now and then. Even then, you will want to do this in the long run. The plastic arm included in the stock Ender will wear and does not have the strength that an aluminum upgrade will give you. Upgraded extruder arm mechanism – this is the first thing you should do if you plan to print more than just now and then. Even then, you will want to do this in the long run. The plastic arm included in the stock Ender will wear and does not have the strength that an aluminum upgrade will give you.
  2. Glass Bed – A glass bed is just the best surface you can get (followed closely by #3 below). Get a glass bed and a can of Aqua Net Extra Super Hold hairspray and never look back. Perfectly smooth bottoms, no more dents in your stock build surface from improper leveling, and a great all around performer when it comes to adhesion.
  3. Removable Magnetic Build Surfaces – OK, the truth is, some days I think this is better than glass. I have 2 Enders, so I don’t have to choose. The removable magnetic build surface gives you a super easy way to remove prints, rarely needs cleaning because it sticks so darn well, and you will never drive a spatula into your arm trying to get a stuck on print to come loose.
  4. PetFang Cooling – This is a 3D print you can do yourself, for a nice improvement on finished products. The instructions take a bit to figure out which ones you need to print (and it depends on if you do #5 below) but it’s so worth the time.
  5. Dual Fans on the PetFang – While you are on #4, go ahead and add 2 fans to the Fang. If you get into PETG or just want great results on overhangs and no stringing, boost the airflow and rejoice.
  6. OctoPrint – Get a Raspberry Pi, an SD card, and install OctoPrint. Best thing you can do. Drag and drop files, monitor your progress on a PC, install some plugins to make everything more better, add a web cam and record that 3 day print. Just so much value here. Get this one done soon.
  7. Upgraded Rollers – Print these rollers out, and grab a few bearings for other fun projects while you are at it. This upgrade reduces drag and lets your filament be free to roll on! This Thingiverse link has a great wall mounted version, which I added to my space where 16 rollers now live to feed the printers. Awesome look, and they work really well. Print them at 50% infill or up for a nice solid roller and mount.
  8. Filament Guide – Get a guide to keep that filament away from your Z axis screw and the rollers on the motor. I like this one (
    https://www.thingiverse.com/thing:3275225 ) because you can stick it in when you forget (every time for me) and it stays nice and secure – also bonus is screwless install. Print an extra for the day when you break it off wresting with your printer or something nearby.  
  9. Firmware Upgrade – Grab an Arduino and upgrade your firmware to the latest Marlin code for advanced features and the most important runaway thermal protection. If you leave your printer alone a lot to do it’s thing, move this one up on the list.
  10. Main Board Gen L Upgrade – Pretty thrifty way to upgrade your printer to take cool upgrades (see steppers and auto bed leveling). The Gen L won’t really make your prints any better, but you can add more to the firmware and upgrade the steppers.
  11. Upgraded Steppers – You can do this with add-on chips for the stock Ender board, but I have heard that you don’t get much with that route. Adding the Gen-L above and upgrading your steppers will give you super quiet motors (your existing ones become very quiet). I used the TMC2130’s – on the X and Y only. You can replace all 4, but I went with 2x 2130’s and 2x A4988’s (direct replacements of the stock ones that come on the original). This gives you a pretty quiet machine, and leaves the Z axis a little noisier – which you only notice on homing, and makes for a great audio cue when a print starts to take a look and make sure those crucial first layers go down right.
  12. BL or 3D Touch – Here is one that you can print a mount from the Fang kit above and add auto leveling to your machine, and after doing so you may wonder why this is so far down on the list. I added this to both of the Enders, and really it is one of the best upgrades you can do but learning about leveling first really is handy – manually. You will learn a bunch of stuff about your printer and 3D printing in general that will help you troubleshoot a pesky print, and pays off if you don’t have that knowledge already. After you have that figured out, do this one.
  13. Color Touch Screen – I did this one on one of the 2 Enders I have and I love it. It is a nice upgrade that does absolutely nothing other than makes you smile. It’s a fun weekend project, has some wow factor, and if you do OctoPrint above, you will rarely if ever touch it. But it’s cool.

There it is, the complete getting started list. Leave comments below if you have a must have upgrade, or want to share your experience. Check out the Teaching Tech channel on YouTube for many guides on how to install this stuff, his content is superb. Happy Printing!

3D Printing Layer Shift Troubleshooting Tips

Nothing is less fun than finding that your long print on you 3D printer has failed due to shifting. Here are a few tips to look into if you find that you are having a shifting issue with your printer.

  • Check your belts. If you have belts on your specific printer, make sure they are really tight. Look at your print and determine which axis is shifting. Focus on that belt. A great tip here is to mark your belt and motor gear when you start a print with a sharpie, and see if you are getting slipping. Tighten. Repeat.
  • Check for missed steps. Same as above, mark your belts if you have them. This will show you what might need some tightening.
  • Check the voltage on your stepper motors. Find out what the voltage should be for your stepper motor drivers, use a multi-meter and make sure you have enough voltage heading into them (my Ender 3 for example has upgraded TMC2130 steppers, the correct voltage for these is about .76V)
  • Try different infill patterns. Some patterns jerk the printer around so much that it just can’t keep up, and you will get a shift. Start with a simple infill pattern in your slicer and see if it helps
  • Use a different slicer. I have used Cura, and found that some prints just don’t behave with whatever infill I use, due to the sliced output file. I keep Slic3r on my workstation and load it up there, usually with “different” results – sometimes a complete success, other times with clues to what might be tweaked elsewhere
  • Move the object in your slicer. Sometimes people have success with just moving the object off center in the slicer before exporting it to the printer. Try this if it’s small, otherwise make sure you go through the list above first – or risk printing some plastic trash
  • Slow down the print. My printer defaults to 60mm/s print speed. Some of the objects that I print just don’t like that speed, so slow it down! Try 40mm/s or something and see if your results vary.
  • Replace your stepper. Find the offending stepper driver, and replace it. If you don’t have another on hand, swap the offending axis driver with one that seems to work in your machine and print a test to find out if ordering a replacement might be in the cards for you

Do you have tips that would help with figuring out shift issues with your 3D prints? Let us know in the comments below. Happy printing!

How To Set the Date/Timezone on a Raspberry Pi or Ubuntu Linux

Need to set the date to your local time on a Raspberry Pi, Ubuntu Linux, or really most any variant of Linux? Here’s how to get it done: type the following at the command prompt:


This will show you the current date and time like so:

Wed 20 Feb 22:53:10 UTC 2019

sudo ln -sf /usr/share/America/Denver /etc/localtime

This will create a symbolic link, and if you need to set it to somewhere other than Denver Colorado, lol, just type it out to the slash before “America” and hit tab to find your region and locale. The -s is what takes care of making the symbolic link for you, and the f removes the existing destination file, making it all permanent. The sudo command will bump up your privileges to execute the command, and you will be asked for the root password.

HOW TO: Multiple 3D Printers Using OctoPrint 2019 – Raspberry Pi and Ender 3 Step by Step

OctoPrint is a great project for setting up 3D printers to control from a web based interface. Even when only using a single printer, the advantage to connecting a Raspberry Pi to your 3D printers is amazing:

  • Great UI to see your printer and it’s status
  • Allows you to connect to web cams to see progress, locally and remotely
  • A bunch of great plugins to control and monitor your printers – do fun stuff like post updates to a slack channel to keep track of prints and so much more
  • Drag files to print to the web interface instead of messing around with SD cards
  • Easily view print status, cancel prints, organize your upcoming prints
  • Check and modify temperatures, flow rate, feed rate, motors and fans
  • Issue GCode directly to the printer
  • Update the firmware of your 3D printer, directly from the OctoPrint interface
  • Learn a little Linux, and do that Raspberry Pi build you have been thinking about

Here is a step by step guide to get you up and running on OctoPrint using multiple 3D printers:

  1. Install OctoPrint
    1. Download the latest image found HERE
    2. Burn the image to an SD card using ETCHER
    3. Install PUTTY or use another SSH client (your OS may have one)
    4. Insert the SD in your Raspberry Pi, and power it up!
    5. Connect to the Pi using Putty – you may need to figure out it’s IP using your router admin interface
      1. PROTIP: Optional – configure your router to give the MAC ID or your Pi a static address and/or name to make it easier to connect in the future
    6. Follow the instruction above with one printer connected and verify that OctoPrint can control your first printer
      1. PROTIP: Get comfortable with OctoPrint first, use it for a print or two if this is your first time, as some things will make more sense later
      2. PROTIP: Install some plugins before copying below, in some cases this will make things easier down the road
      3. PROTIP: When you are done and happy with a single printer, create a backup in OctoPrint, and download it to your PC just in case
  2. Out of the box, OctoPrint can connect to multiple printers, but not to control them all at once – so we need to login to the Pi and get started copying some files and change some things to get new instances of OctoPrint running for each of your printers. The following details show 2 printers being connected, it certainly works for 3 or more – up to the performance limitations of your Pi – mileage may vary, but 3 works without a hitch for me
    1. Copy the OctoPrint directory
      1. cp -R /home/pi/.octoprint /home/pi/.octoprint2
    2. Copy the config script
      1. sudo cp /etc/default/octoprint /etc/default/octoprint2
    3. Modify the config script
      1. sudo nano /etc/default/octoprint2
        1. PROTIP: Ctrl-X to save when you are done in nano, Y to confirm, enter to confirm file name
    4. And change the port and arguments  to look like the 2 lines below (leave the “DAEMON=” line as it is, it is used by each of the new Octo-instances)
      1. PORT=5001
        DAEMON_ARGS="--port=5001 --config home/pi/.octoprint2/config.yaml --basedir /home/pi/.octoprint2"
    5. Copy the init Script
      1. sudo cp /etc/init.d/octoprint /etc/init.d/octoprint2
    6. Modify the init Script
      1. sudo nano /etc/init.d/octoprint2
    7. Change everything here to be octoprint2 (EXCEPT the DAEMON= line again) and save it like so:
      1. #!/bin/sh### BEGIN INIT INFO
        # Provides: octoprint2
        # Required-Start: $local_fs networking
        # Required-Stop:
        # Should-Start:
        # Should-Stop:
        # Default-Start: 2 3 4 5
        # Default-Stop: 0 1 6
        # Short-Description: OctoPrint2 daemon
        # Description: Starts the OctoPrint2 daemon with the user specified in
        # /etc/default/octoprint2.
        ### END INIT INFO# Author: Sami OlmariPATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
        DESC="OctoPrint2 Daemon"
    8. Reload the init script
      1. sudo systemctl daemon-reload
    9. Let’s make it start every time automatically after booting
      1. sudo update-rc.d octoprint2 defaults
    10. Without a reboot you can just start it now
      1. sudo /etc/init.d/octoprint2 start
    11. And check the status like so:
      1. systemctl status octoprint2.service

That’s it! You should be able to log into your OctoPrint service on your Pi now via a remote browser from your PC. If the original (use the ip you determined before) was using the default port, you connected like this
And now your new printer should be ready to go on port 5001 like this:

Remember, the IP address above is an example, you need to figure out what IP your Pi received on your network.

OK, bonus time now, this is optional, but makes things handy in the OctoPrint UI to figure out which printer is connected to which USB port. When the Pi boots, for example, USB0 may be assigned to printer 1, but next time to Printer 2 – so lets create some settings that make it easier to figure that out in OctoPrint.

  1. Use Putty, or whatever, to get connected again if you are not already there to the Pi
  2. Plug your printers in and fire them up
  3. Check out your udev info to figure out some of the differences between the connected devices to make some changes later. Here, for example, we can take a look at USB0:
    1. udevadm info -q all -n /dev/ttyUSB0 --attribute-walk
  4. Then, for example, take a look at USB1:
    1. udevadm info -q all -n /dev/ttyUSB1 --attribute-walk
  5. These commands will spill a bunch of info that you will need to differentiate each connection, my file below is just an example, but usually you can use the “idVendor” and “idProduct” and “devPath” attributes as the differences.
  6. Look at the first section with these attributes for EACH of these commands and make note of the attribute values for the 2 commands. If at least ONE of the 3 is different from the other 3, you are good to go and use the example below. If they are the same, you need to look through the attributes to fine ones that differ and include those
  7. OPTIONALLY – if you are familiar with “diff” you can pipe the commands to files, then use diff to show the differences and use it’s output to figure out what attributes you will use in our rules file below like this:
    1. udevadm info -a -n /dev/ttyUSB0 > devInfoUSB0
      udevadm info -a -n /dev/ttyUSB1 > devInfoUSB1
      diff -u devInfoUSB0 devInfoUSB1
  8. OK. Almost there. Lets create some rules! Now we just need to create symlinks to those attributes to some names that we can see in OctoPrint to make it easy to figure out what the heck we are connecting to. On the Pi, lets do this:
      1. cd /etc/udev/rules.d/
        sudo nano 99-usb.rules
  9. And paste/enter something like this in the file, ctrl-x to save again like above (remember, these are MY settings – use your attributes and values that we figured out above – there should be 3 lines in the file, the 3rd is an EXAMPLE for a 3rd printer, so if you are just doing 2, there should be something close to the first 2 lines): I have 3 printers here, I called them ttyEnder3_1, ttyEnder3_2, and ttyMonoMini. Name yours whatever makes sense to you for your printer types.

    1. SUBSYSTEM=="tty", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", ATTRS{devpath}=="1.1.3", SYMLINK+="ttyENDER3_2"
      SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{devpath}=="1.3", SYMLINK+="ttyENDER3_1"
      SUBSYSTEM=="tty", ATTRS{idVendor}=="2974", ATTRS{idProduct}=="0503", ATTRS{devpath}=="1.1.2", SYMLINK+="ttyMonoMini"
  10. BONUS: Set your timezone if you haven’t already on the Pi before we reboot and take a look:
      1. cp /usr/share/zoneinfo/America/Chicago /etc/localtime
      2. OR like this:
      3. ln -s /usr/share/zoneinfo/America/Chicago /etc/localtime
  11. Either way you set that, if you are unsure of the zone, type up to the point you need to change it, and hit tab a couple of times for your options… So typing this:
    1. cp /usr/share/zoneinfo/
      will display this
      Africa/ CET Etc/ Greenwich Japan Navajo PST8PDT US/
      America/ Chile/ Europe/ Hongkong Kwajalein NZ right/ UTC
      Antarctica/ CST6CDT Factory HST leap-seconds.list NZ-CHAT ROC WET
      Arctic/ Cuba GB Iceland Libya Pacific/ ROK W-SU
      Asia/ EET GB-Eire Indian/ localtime Poland Singapore zone1970.tab
      Atlantic/ Egypt GMT Iran MET Portugal SystemV/ zone.tab
      Australia/ Eire GMT0 iso3166.tab Mexico/ posix/ Turkey Zulu
      Brazil/ EST GMT-0 Israel MST posixrules UCT
      Canada/ EST5EDT GMT+0 Jamaica MST7MDT PRC Universal
      And the same goes for the rest of the command to get yours right.
  12. Lets reboot, and browse to your URL’s again above, and configure each one to find the new device names in the serial settings.
    1. Click the Wrench icon in OctoPrint
    2. You should be in Printer->Serial Connection->General
    3. In the Additional Serial Ports box, lets add some rules to pick up the new device links, mine looks like this: 

Hit save, refresh your browser, and you should have new, way better names in your connection drop-down like this to differentiate your connections:

And that is it! I hope you find this helpful, let me know in the comments below if there are missing steps, or if you have better/other ways of doing some of the things here. Happy Printing!

Should I Buy a Curved Monitor

I recently had that question, and came up with the answer – Sure! In fact, I jumped in and bought 2. Was it a good decision? Is it better than a traditional flat screen setup? Does it make sense for anything other than gaming? What about the cost? Here are a a few thoughts on the subject, and a link to the monitors that I went with:

First of all I was surprised that the price for a set of curved monitors was so low. Sure the Samsung LC24F ones that I picked up aren’t the top of the line, but they are really nice for the price. I added 2, sitting on monitor stands at just under eye-height. At first, there is something strange about curved monitors, something that you notice standing up and looking at them way more than when seated in front of them. These monitors look great in the space and add a nice futuristic look to the setup.

So what about in real-world everyday use? The odd thing about good curved monitors is that you don’t even notice. The content on screen sort of wraps into your peripheral vision and makes it easier for you to slightly turn and look at the content, but you really don’t notice the curve at all. Only when you think about it or stand up do you see the curve again.

I would definitely make this upgrade again, in fact I am thinking about adding a 3rd, and may even mount it above the 2 in place now. I have things that I like to monitor, but don’t really interact with that would be nice to display on another monitor while using the 2 below for everyday dragging and dropping windows around for productivity. The mounts on these monitors come right off, and they have the standard mounting hardware on the back to make things easy.

Now if I could just get my employer on board, and get a few of these in my work station… Until then, I’m enjoying the switch to curved and think you should give it a shot too! What is your experience? Share below!