Introduction: Troubleshooting Printrbot Play's USB Connection

Are you struggling to get your Printrbot Play (1505) 3D Printer to be recognized as a USB device on your computer? Can't get Cura to show the Print to USB option? Ready to pull your hair out? I did, and the struggle is REAL!

Follow along as we go on a journey to get our Printrbot to talk with us!

Step 1: It's All GREEK to Me! Let's Verify We Have the Same Problem...

To make sure we are all on the same page fire up your Printrbot Play and launch Cura 1.5 version (15.04.06) and not the 2.x unsupported version (at least at the time of this writing March 2017).

In Cura load a sample 3D object (like the Printrbot logo "printrbot_testprint.stl" found in the required downloads). I use the Cat Ring since it is a quick test and my daughter shares them with her friends at school.

Look at my screenshot and if you have the "save toolpath" with retro 80's 3.5" disk icon then your Cura doesn't see your Printrbot either! If however you get the "Print with USB" with the glorious up/down [Brackets] around the vase icon then you are in better shape since at least Cura sees your Printrbot Play!

If you haven't already looked at Printrbot's older and newer

Step 2: Here Is a Checklist of Things You Should Have Done Already...

I would just print out this list and just put a checkmark next to each item as you confirm that you've already tried this. This will save some head smacking later when you find the culprit! If it turns out to be something else please add it to the comments so others may benefit from your wisdom!

Power and USB cables:

  1. Is the Printrbot on? Sadly this isn't an on/off switch. This is the barrel plug found plugged onto the lower right hand side of your Printrbot.
    1. Verify the Green Light on the Power Adapter Brick is on.
    2. Verify that the Printrbot Play Printrboard Green light is on (good excuse to carefully knock the Printrbot over).
  2. Is the Micro USB cable fully inserted into your Printrbot? This is the USB cable next to the power plug.
    1. This is a PAIN to do so look carefully while you have your Printrbot knocked over as you pull out and reinsert the Micro USB cable into the USB port on the Printrboard. The slightly smaller rounded side goes towards the Printrboard while the longer side with the 2 mini cut outs for the holding pin to help hold your cable are pointed towards you. The reason why the USB cable feels like it is upside down is because the printrboard is mounted upside down for ease of access.
    2. The design of the Micro USB connector is prone to failure. You may want to add a 3D printed USB cable support block to help take the weight of the cable off the USB connector. There are several different designs on Thingiverse.
    3. The newer Rev F6 board has the option to come with a full size USB Type B connector (like the ones on USB printers) that is fairly indestructible, unlike the Micro USB which can be easily damaged and may need replacement (just note that before you upgrade boards to the F6 that swapping out boards may require you to do soldering for pins like the ICPS that are no longer included).
  3. Is the Type A USB 2.0 Male end of the USB cable plugged directly into your computer?
    1. Do not plug it into a USB hub.
    2. If your computer has both the older USB 2.0 ports and USB 3.0 ports (blue interior) plug it into the USB 2 port. Both should work, but eliminating USB 3 and USB hubs can help us isolate the problem for this USB 2 device.
  4. Have you tried another USB cable? Sometimes a broken USB cable is the issue.
  5. Have you UNPLUGGED all the other USB cables from your computer except for what is absolutely required (like a USB keyboard and mouse for some desktop users).

Cura Application and USB Drivers:

  1. Verify you are running the Cura 1.5 (15.04.06 version) and not the 2.x versions. You can do this on the Mac by going to your applications folder, finding Cura, selecting it and choosing "Get Info" from the File menu. In the version section you should see 15.04.6. On WIndows you launch the Cura program and in the upper lefthand corner of Cura it will say Cura - 15.04.6
  2. Verify you have a 3D model loaded in Cura. Menu Bar > File > Load Model File or use the folder with steam tower vase icon to load a sample STL file. The Print with USB or Save Toolpath button is greyed out if there is nothing to 3D print.
  3. Windows users - Make sure you download the Printrbot Play USB drivers. They can be found here: http://printrbot.com/project/play/ Windows 8.1 and 10 users should get prompted by Microsoft to download these drivers, but all the same I would. Printrbot also recommended this guide and this how to install unsigned drivers article. The nice thing in Windows 10 is that when you plug in your Printrbot Play you should get a system chime that Windows detects the device.
  4. Mac users - There are no USB drivers and your Mac won't even detect the Printrbot Play as a USB connected device. You can launch the Apple utility "System Information" and verify this little fact in the Hardware > USB section. So don't freak out that it isn't listed.
  5. If you had the wrong version of Cura you should download the "Required Downloads" from Printrbot's website: http://printrbot.com/project/play/
    • The contents are:
      • Mac Users Folder:
        • Cura-15.04.6-MacOS.dmg (this is the app)
        • Play.GettingStarted.ini (this is the file that tells Cura what your Printrbot Play settings are)
        • printrbot_testprint.stl (this is the Printrbot logo test file you should print)
      • Windows Users Folder:
        • Cura_15.04.6.exe (this is the Cura program)
        • Play.GettingStarted.ini (this is the file that tells Cura what your Printrbot Play settings are)
        • printrbot_testprint.stl (this is the Printrbot logo test file you should print)
        • serial_install.exe (USB Printrbot Play's device driver install wizard for Windows users)
    • For Windows users I used the default installer option of Cura 15.04.6 and left check marked the Install Arduino Drivers and the Open STL files with Cura. In reality I don't think the Printrboard is an Arduino board so I'm guessing even if the drivers are installed they'll get ignored. STL is the 3D file format standard that everyone uses. Think of it as ASCII Text vs the newer OBJ and AMF formats which has cool features like textures, change filament, etc. that aren't supported on the regular Printrbot Play.

Cura's Printrbot Play (1505) Settings:

  1. Verify Cura has Printrbot Play selected as the 3D printer, and not some other printer. Launch Cura, go to the menu bar and under Machine you should see "Printrbot Play" checked. If not select it. If it isn't listed we will need to add it.
  2. If you already have a Printrbot Play machine setting and want to rule it out as a culprit you can use the rename machine option in Cura >Machine >Machine Settings dialog and use the "Change Machine Name" to call this "OLD Printrbot Play"
  3. "Add new machine..." to create a new Printrbot Play Machine to test with. Menu Bar >Machine >Add new machine... and use the configuration wizard. Chose Printrbot and then Printrbot Play. Afterwards, go back to the menu bar >Machine and verify Printrbot Play is checked.
  4. Load the Printrbot Play's Profile File. Menu Bar >File >Open Profile >navigate to the required downloads folder from Printrbot and choose Play.GettingStarted.ini. This is the Printrbot settings for Cura telling it items like print speed, temperature, support type, filament and nozzle size.
  5. Verify the Printrbot Play 's Machine Settings Serial Port sees your USB port. On Cura's Menu Bar choose >Machine >Machine Settings... look for the Serial Port. It should be set to AUTO. Click on AUTO and verify you can see /dev/cu.usbmodem and /dev/tty.usbmodem. If you are having connect issues there is a good chance you'll only see AUTO and /dev/cu-Bluetooth. This means Cura can't see the Printrbot because it isn't identifying itself as a device on the USB ports. The difference between the TTY option and CU is that TTY allows more than one device to share your Printrbot and CU means exclusive "calling unit" access.
  6. Load the Printrbot model file called "printrbot_testprint.stl" This is the sample file in the Printrbot required downloads. Menu Bar >File >Load Model File... >navigate to the required downloads folder and choose the STL file.
  7. With the Printrbot Play on and USB connected verify if the Print with USB icon is a choice. If all you get is save toolpath then go ahead and save your test stl print as a file named, "auto0.g" on your hard drive that we will use for the micro-SD test.

Let's print using a Micro SD card:

  1. To figure out if this is a USB connection problem or a Printrbot Play printer problem we need to figure out if your Printrbot Play is capable of printing at all. So go dig up or buy a Micro SD card (be careful to not grab the larger Mini SD card since that won't work). This card is sold at most electronic stores as storage for mobile phones with MicroSD slots.
  2. Use a SD Card reader with a slot or adapter for Micro SD and connect it to your computer. Most likely your MicroSD card came formatted as exFat and that you don't need to do anything special.
  3. From Mac Finder or Windows File Explorer look at your Micro SD card and move any files off of it.
  4. Copy the "auto0.g" file we created earlier. This is the Printrbot sample file saved as toolpath from Cura. Printrbot's tech support has a technote on it you may want to reference.
  5. Put this MicroSD card into your Printrbot's MicroSD slot with the shiny connectors facing up (because the printrboard is mounted upside down the reader slot is also upside down). Here is a link to Printrbot's youtube video https://youtu.be/VSZKVlVf90w (note that the printer is filmed facing backward so the micro SD slot is solo slot away from the USB and power slots).
  6. Turn on your printrbot with filament already loaded. Wait for what seems like a really long time and then when the Ubis hot end has reached the temperature specified in the Cura G-Code file it will start 3D printing. If it doesn't then your problem has nothing to do with the USB connection. You can continue to follow the steps below. If it does print fine then I would try a new USB cable and a different computer to isolate what the problem may be. You could also live with it and use this as your new workflow printing from MicroSD directly!

Printrbot Play's Reset Button:

  1. UNPLUG the Printrbot Play's power cord! You do not want to get shocked!
  2. Turn the Printrbot Play on its side so you can easily see the Printrboard motherboard that controls your Play.
  3. Look for the reset button and verify you can press this without electrocuting yourself. A pencil tip eraser will work. You'll want to turn the Printrbot back on and press this reset button to see if that is all that was needed. Be sure to click on the test model or move it to force Cura to check the Printrbot's status and hopefully change Save Toolpath to Print With USB. If that makes no difference in Cura then proceed on to surgery.

Messing with Printrbot Play's Guts:

  1. If you haven't already contacted Printrbot Support I would go ahead and open up a support ticket. Unlike most hardware, Printrbot is cool with you hacking, but all the same go ahead and contact them as well as posting in their old user forum and on Reddit in a plea for help!
  2. Make sure you have a wiring schematic that matches your board. Download the assembly instructions from Printrbot to make sure you can reassemble your Printrboard when we are done.
  3. Take out your phone and take several pictures of the wire configuration from different angles. Skipping this step means you'll be creating a nightmare later when you try to figure out what gets plugged back in where and in which direction! Take careful note of which way the connectors fit and the color order of the wires. Your wire color order isn't necessarily the same as someone else's (why Printrbot doesn't adhere to higher wiring standards with one way plug and play connectors I have no idea).
  4. Take out some masking tape (like the Blue Painter Tape you use for the build plate) and number each of the wires connector sets with a little piece of tape. This will speed up the reconnection when you go to look for the next wire to plug back in and will help you keep the identical looking X, Y and Z motor wire sets correctly identified. Use the label names in the wiring diagram and printed on the board as a guide for the labels.
  5. Take note of which Printrbot Play Printrboard you have. There will be some text with the board version. This will be important to know when talking with Printrbot Support or posting in user forums. My Printrbot Play Model 1505 White came with the Rev F5 board (bought in 2015).
  6. If your Printrbot isn't connected to a powerstrip I would go and get one since you'll be turning it on and off frequently. Kind of crazy the Printrbot didn't come with one, but get one and make sure the Printrbot Play is the only item on the power switch.
  7. Take a look at the center of the Printrboard and look for the BOOT pin connector. If there is a terminal block on it REMOVE IT. This terminator keeps your Printrbot from having USB control. It should be placed back on the HV pin set behind the Y-Stop (see wire diagram for details). The pin was probably left by accident on the BOOT pin when doing a bootloader or firmware update.
  8. Wire pulling, one connection set at a time. You will be pulling a connector, powering on the Printrbot play and checking Cura to see if the Print With USB bracket icon comes back on (be sure to click in Cura to make sure it wakes up to check - I move the test model to verify this).
  9. Most likely the wire set responsible is related to the fan or the extruder hot end and has nothing to do with the XYZ motors. In my case it was the ICSP ground for the Upper Fan1 which means I'l be muddling my way through the Fan wiring next. You should download a wire diagram of the Printrboard you have. I'll post the F5 version I have in the screenshots. There are differences between the boards with pin and fan connectors. If it turns out to be the extruder you'll want to look at swapping out the Ubis 13S Hot End (see my other Instructable on how to unclog your Ubis Hot End and look for the section on swapping out the part with a new one).
  10. If you have now pulled all the connector wires and still not resolved this you'll probably want to pull out your hair. The next steps would be to try flashing the firmware next or swapping out boards with another Play (or a new one from Printrbot) so you can bring down 2 machines. I had a nightmare of a time flashing my firmware so I don't recommend it for the feint of heart. If I do it again I'll write an instructable but you may need to toggle between Macs and PCs, and if you use GitHub to grab the firmware you'll need to copy/paste the firmware into a standalone text file (you can't run it as a downloaded file).

If any of these steps worked you should have seen Cura switch from the Save Toolpath icon to the Print with USB icon when you refreshed Cura.

Just moving the model on the virtual build plate should do it, but if in doubt quit, relaunch Cura and load your 3D model, turn on your Printbot Play, hit the reset button on the Printrboard.

If you are stuck remember that Printrbot Play has a $35 Bot Spa diagnostic service where you mail them your Printrbot Play and they'll figure out what the problem is..., and what it will cost to repair it. https://printrbot.com/shop/bot-spa-treatment

Step 3: If It Turns Out That Pulling the Black Wire to ICSP Solved the Problem...

I added this extra detailed step to address my specific problem in hopes that it may help others...

Printrbot's Upper Fan's black wire connection to the ICSP Ground

If it turns out that pulling the black wire from your ICSP port allows your Printrbot now allows you to USB connect your Printrbot to Cura know that you aren't alone!

On some Printrboard configurations for Play, Simple and others the black wire powers the upper fan and is important for keeping the upper end of the Ubis Hot End fins cool enough that your Printrbot can still feed filament to the hot end below. Why it stopped working is because the connector isn't connecting to Ground, it is hitting the Reset. Why the design puts these two pins next to each other where this FUBAR could happen I'll have no idea.

Here are the steps in fixing it.

  1. Verify that puling the Black Wire does indeed turn off your upper fan, but more importantly now allows you to chose the option Print With USB when you are in Cura.
  2. Take a look at the Black Wire's molex/dupontconnector and notice there is probably some wiggle room where the wire got jammed up to where it is now connecting to the wrong pin.
  3. Read up on how to rewire a Molex connector. Here is a video on doing it the write way. I ended up using a very small flat head screwdriver and wrenching back the plastic tab holding the connector in. I then tugged to pull it back out in one piece. It is obvious to me that this is a CHEAPLY made connector and that any manhandling from a hobbyist like me could have easily caused this short by having it touch the RESET pin on the ICSP/ISP/SPI connector and created the USB connection problems.
  4. Don't cheap out and just try to ground it somewhere else. I tried putting the black wire on other ICSP connectors and even on the EXP1 connectors and ran into USB disconnects, slow fan speed, having Cura's Print with USB icon go on and off. Nightmare. Take the time and rewire it right. Maybe get the right Molex crimper and 6 pin connector that prevents shorts like this.
  5. Lesson? Don't trust that the wires aren't touching other pins. Maybe this is why Printrbot dropped the PIN connectors being soldered on the F6 board, but going with higher quality connectors would probably have said them a fortune in support costs and sending out new boards, etc.


So what is ICSP?

ICSP stands for In Circuit Serial Programming (it is also called ISP or SPI) and it is the 6 pin connector on the Printrbot next to the MicroSD slot and the EXP1 on the Rev F5 and earlier Printrboards. This connector offers the ability to have another device to do both the programming and the testing of the board. It is used by Printrbot to upload the bootloader to the Printrboard (a micro-controller).

If you were unable to update the firmware via USB you could use an ICSP connection to the board to accomplish the same task. Printrbot no longer solders this connection port on its Printrboards as of the F6 version so if you need it you'll have to solder it yourself where the empty ICSP pins are located.

The six pins are:

1 - MISO - Master In, Slave Out (used when Reset is held to send code to the master microcontroller)

2 - VCC - Voltage Power Supply (Used for sourcing a total of 200mA. I'm guessing this is so you can program an unpowered board. As for the name Vcc: V stands for voltage, cc stands for power supply)

3 - SCK - Serial Clock (used to sync data transfer)

4 - MOSI - Master Out, Slave In (used when Reset is held to send code to the peripherals)

5 - RESET - While Reset is triggered the Microcontroller stops responding to other inputs outside of ICSP.

6 - GND - Ground (Used to sink up to 400mA of power which I guess is all our Fan needs).

Step 4: Where to Get Help for Your Printrbot...

Here is a list of places you can go to get help with your Printrbot:

My other Printrbot Play Instructables:

How to Update Your Printrbot Play 1505 Firmware

How to Unclog Your Printrbot Plays Extruder

Forums:

Printrbot Community hosted on ZenDesk: https://printrbot.zendesk.com/hc/en-us/community/topics

Printrbot Group on Reddit: https://www.reddit.com/r/PrintrBot

The Printrbot Talk Forum: http://www.printrbottalk.com/forum

Printrbot HQ Help:

To submit an official Printrbot Support Request Ticket: https://printrbot.zendesk.com/hc/en-us/requests/new

The I give up $35 Printrbot Spa Treatment where you send in your Printbot for them to look at: https://printrbot.com/shop/bot-spa-treatment

Microcontroller Contest 2017

Participated in the
Microcontroller Contest 2017