Home / Software

ProtoCycler Command Center

Are we missing something? Still need help? Contact support here

Currently available for Windows (Mac coming soon), this application lets you fully interact with ProtoCycler. While not required for operation, it is required to do the following:

  • Full manual control of ProtoCycler
  • Switching plastics
  • Loading new plastic settings for automatic use
  • Monitoring your extrusion in real time
  • Automating experimentation through scripts, data logging, etc.

Please keep in mind that like the rest of our support pages, this page will be getting constant updates over the next few weeks - so if you don't see something you were looking for, send us an e-mail and we'll try and get it up ASAP!


Download and Installation

To use the desktop app, you need to download and install it. As it requires Java to use, it will install that as well if you don't have a new enough version. Last but not least, as ProtoCycler uses Arduino based firmware, you'll need the Arduino Leonardo drivers to talk to ProtoCycler. These are also included in the application, but may take more effort to install based on your version of Windows (see below).


There are two versions - one for 64 bit computers and one for 32.  You need to download the right version of the installer below - to find out if your computer is 64 bit or 32 bit (Win 7 And Vista), use this link - if you're on Windows 10, use this link. Then, use the below links to download the appropriate installer.


Our installer is a little old school looking, but it works great! It's got a few stages based on if you already have Java or not. 

  1. There's a license agreement. We're not lawyers, but a good dose of common sense should be all you need.
  2. Once the license agreement has been agreed to, it will ask you where to install the software. Unless you really know what you're doing and why, leave this as is.
  3. Next, it will check for Java - specifically, JRE 8 or greater. If you don't have it, that's OK, it will install it for you. Either way it will let you know what's going on before moving on.
  4. Last but not least, in what seems like almost lightspeed, everything else will install. Then the installer will just sit there, saying it's complete, waiting for you to close it (you can close it now). If you're curious, click "show details" - it will show you what it actually did, but basically we made sure you had java, copied some drivers for Arduino, and then installed our program.
  5. In your start menu, you'll see the "ProtoCycler Command Center" app by ReDeTec Inc. You can create shortcuts and put them on your desktop. If you ever get sick of the app, you can uninstall it the normal ways.

Arduino drivers

We rely on the Arduino drivers to talk to ProtoCycler. If you know for sure you've used an Arduino Leonardo before, everything should just work. But, if when you plug in ProtoCycler and turn it on, your computer complains that the "device did not install correctly", you'll need to manually install the drivers. Don't worry, it's easy! If you have Arduino software on your computer already, just follow this guide exactly.

If you don't, navigate to Windows Device Manager (Start>Control Panel>Hardware) and find the Arduino Leonardo / ProtoCycler listing. Right click and choose Update driver.

At the next screen, choose "Browse my computer for driver software", and click Next.

Click the Browse... button. Another dialog appears - navigate to the folder with the software that you just installed, will which be "C:\Program Files\ReDeTec Inc\ProtoCycler Command Center" (Program Files (x86) on 64 bit systems). Select the drivers folder and click OK, then click Next.

You will receive a notification that the board has not passed Windows Logo testing. Click on the button Continue Anyway. Finally, a window will tell you the wizard has finished installing software for Arduino Leonardo. Press the Close button - and you're done!

Use and Feature guide

Now that you've got the application installed, read on below to see how to connect to ProtoCycler, and what all you can do with it!

Overview - The main controls of the application

The ProtoCycler Command Center

Log This is where any logging information like connection status, status updates, control inputs, etc, gets recorded.

Connection Used to select, and then connect to, the COM port for ProtoCycler.

Commands Used to send individual, one off commands to control things like PID values when experimenting in Manual Mode.

CSV Graph Graphs, in real time, all of the inputs and outputs of ProtoCycler. The raw sensor readings also appear here. Note that, to keep things easy to read, some measurements are scaled (PID values, for instance, are usually translated vertically on the graph, and magnified - see below).

Data Logging Allows you to save the graph as a CSV file.

Real Time Data Acts as a sort of legend for the graph, as well as letting you turn graph elements "on" or "off", and last but not least shows the real time value of one of the measurements. To turn graph elements on or off, just click on their colour, and they'll get grayed out.

Main Controls Allows you to manually control all of the main elements of ProtoCycler, including the temperature, pressure, pulling speed, fan speed, and desired diameter.

Scripting Allows you to load script files that can send automated commands - including data logging and full control over the unit - to automate experimentation. See below for full details!

Getting started - Connecting to ProtoCycler

The first step is to ensure your ProtoCycler is plugged in to both the computer and the wall, and powered on. If your computer complained that the device did not install correctly, see the above section on installing Arduino drivers.

With everything plugged in, open the desktop application.  Select the correct COM Port for ProtoCycler (which can be found through the Device Manager, or trial and error), and click "Connect". Then, on ProtoCycler, navigate to the "connection status" menu and click connect there as well. If the connection is successful, ProtoCycler will say "Connected!", and you will see a number of lines appear in the log.

The important lines here are "Server Confirmed" and "ProtoCycler Connected!", as well as making sure your serial number matches the one on your ID plate if you've just changed your firmware. That's it! You're now ready to monitor extrusion, log data, experiment in Manual Mode, or get adventurous with scripting and settings.  Always remember to disconnect before you shut off ProtoCycler!!! Failure to do so may cause the Desktop App to freeze...never fun.

Manual Control

Manual control allows you to control all aspects of ProtoCycler during extrusion. This is great if you're looking to improve upon some of the pre-done settings, experiment with new plastics, or just want to learn more about extrusion and how ProtoCycler works. Maintenance stuff like switching plastics, changing your nozzle, and checking the sensors can also be done in manual mode.

The first step to getting started with manual mode is to connect ProtoCycler to your computer with the Command Center. Once you're connected, navigate to manual extrusion on your ProtoCycler, and click "begin extrusion". As soon as you do, the graph and CSV should spring to life! To send commands to ProtoCycler, there are two options. The first is to use the sliders on the right side of the application, which control temperature, auger speed/pressure, puller speed (no feedback), fan speed, and desired diameter (with feedback). However, there are many more parameters involved with extrusion, and each one can be changed using the application or scripting - see the advanced page (coming soon!) for more information. An important note is that the desired diameter and puller speed sliders will override each other. In other words, if you tell ProtoCycler to hold a diameter of 1.75mm, but then tell it to pull at speed 50...it will stop controlling the diameter and stay at a speed of 50. Similarly, if you tell it to pull at a speed of 30, but then ask it to maintain diameter, it will modify it's pulling speed to control the diameter.

In addition to being able to control ProtoCycler, you're also able to monitor and log everything it does. Note that this functionality is also available in automatic mode! All you need to do is connect to your computer, and then begin extrusion with automatic mode. Just like in manual, the graph and CSV data will come to life! On the graph, there are quite a few data points - see the end of this section for what they all represent. Sometimes, all of this data can become overwhelming, so you can "turn off" a data point by just clicking the colour above it. We find it really useful to turn off everything but a specific set of data that you might be trying to work on / debug, but you can chose to use this feature however you want. Keep in mind that turning off a data point from the graph will not stop it from logging in the CSV file, so don't worry about losing data if you're recording (see below, "Scripting and Data Logging", for more information on how to record data).

Remember that when you're in manual mode, nothing happens without you explicitly asking for it! It will not automatically start up, or shut down, or do anything unless you tell it too. Scripts can be very helpful for this - see the below section - but just remember that ProtoCycler is relying fully on you for control while in Manual Mode. All of it's auto shutdown features are also turned off as well, so never leave manual mode unattended! This can be extremely dangerous in case of error!

With that out of the way, a quick summary on what each data point represents on the graph / CSV panel:

Heat - How much power is going to the heater, with 0 being off and 128 being max.

Temp - The temperature, in degrees Celsius.

Ag Spd - The speed of the auger, unitless (max is 255).

Ag Prs - The pressure of the auger, also unitless (max is limited at ~40). Note that because of the way this sensor works, it should never go below ~6-8.

Ag Flo - "Auger Flow", a simple weighted combination of speed and pressure, which represents the overall affect the auger is having on the plastic.

AF His - The history of the Auger Flow from when the section of filament now at the nozzle sensor, was coming out of the nozzle itself. Allows you to see how spikes in the filament are related to spikes in the Auger Flow at the time that filament was "created", and vice versa***

<Pres> - The time averaged pressure of the auger.

Pull - The puller speed PulHi - The history of the puller from when the section of filament now at the final sensor, was coming out of the nozzle itself. Allows you to see how changes in the puller speed are related to changes in the filament diameter, at the time that filament was created, and vice versa***

Aug P, Aug I, Aug D - The real time P, I, and D gains of the auger.

Nozz - The filament diameter at the nozzle sensor.

Final - The filament diameter at the final / puller sensor.

N.S.P. - The desired nozzle diameter, given a desired final diameter and estimated draw down ratio.

NozHi - The history of the nozzle diameter from when the section of filament now at the final sensor, was at the nozzle sensor. Allows you to see how the filament has changed since it was first measured at the nozzle sensor***

DDFnc - The (estimated) draw down function. Essentially a running average of how much smaller the filament gets between the nozzle and puller sensors.

Flow - A unitless number representing the flow rate of the filament itself...diameter squared times puller speed times a constant.

FloFnc - Relates the Auger flow rate to the Filament flowrate, so that changes in auger flow rate can be preemptively dealt with and corrected for. As an example, if there's a sudden drop in auger flow, we want to lower the pulling speed immediately, even before the filament gets to the nozzle sensor.

Dia P, Dia I, Dia D - The real time P, I, and D gains of the puller (which controls the diameter).

***We know, these history things are kind of confusing, especially since they're all at different instances in time. Here's a quick run through to help explain things. At time T=0, which we'll call "TA", the auger pushes some plastic through the nozzle. A relatively short time later, that section of filament passes the nozzle sensor - we'll call this time "TN". A little while after that, it finally makes it to the final / puller sensor...we'll call this time "TP". The only thing we really care about is the diameter of the filament at T=TP - because that's it's final diameter. But what happens to it at TA and TN are what actually influence that final diameter. Specifically, the Auger flow controls how much plastic gets pushed out of the nozzle at TA, and the puller speed controls how much that plastic is drawn down, also at time TA. But the puller continues to affect the plastic based on readings from the nozzle sensor at TN, to ensure it's doing it's job right.

So if for instance, you see a sudden spike in the nozzle diameter...it's worth looking at Aug Flow History to see whether that was caused by a spike in the Auger Flow a short time ago. Similarly, if you see a rather skinny section pass by the final sensor, it's worth seeing if maybe the puller was pulling too fast when that section of filament was created, which is Pull History. Last but not least, if you notice a larger section of filament passing the final sensor, you can look at the nozzle history to see if it was also too large at that time. If it was, you're control algorithm might not be aggressive enough, and isn't doing enough to modify the filament. But if it was the opposite, and was actually too small, your control algorithm might be over compensating.

If this all sounds intriguing, check out our Advanced Section (coming soon!) - And if it all sounds confusing, don't worry - you won't need to touch any of this stuff if you don't want to!

Switching plastics & Other Maintenance

While our Automatic mode is good for lots of things, there's a few things that are better handled by the human touch, given how much they can vary from instance to instance. Some occasional maintenance like switching your nozzle for a new one with a clean filter, or switching to new plastics, are a few of these scenarios...so they're best done with the manual control. Read on below to see how you can use manual mode to accomplish some of these tasks:

Switching to a new nozzle

This one's pretty easy. Just heat the unit to ~30 degrees less than it would extrude at (170 for PLA, 210 for ABS). Once it's there, use the included nozzle wrench to carefully unscrew the nozzle. WARNING: The nozzle will be EXTREMELY hot, and will burn you VERY quickly. Just let the old nozzle drop down into the garbage chute, don't try and grab it yourself! Ensure no plastic is sticking out past the edge of the nozzle mount, and that the threads are clean. Then, with equal care, quickly thread the nozzle onto the nozzle mount just enough that it grabs the threads and stays on the nozzle. Once it's been threaded a little bit, use the nozzle wrench to fully tighten it. Tighten the nozzle until the resistance increases suddenly and consistently - you should feel a noticeable change. DO NOT OVER TIGHTEN THE NOZZLE! At this point, set the temperature to zero, turn the pressure to 20, and the cooling fan to maximum. This will help cool down your ProtoCycler as quickly and safely as possible, and ensure your nozzle is primed for use.

Switching Plastics

Switching plastics varies somewhat depending on if you're going from a hotter plastic to a colder plastic (like ABS to PLA), or from a colder plastic to a hotter plastic (like from PLA to ABS). A quick foreword - switching plastics can take a while, and a lot of plastic, so it's best to keep it to a minimum! This is because you have to fully purge all of the "old" plastic, or it will interfere with your extrusion.

The first step regardless of which plastic you're switching from and to is to extrude all of the old plastic still left in your unit. Keep going until you can see that the hopper is completely empty, and then wait a bit until the pressure drops completely and can't recover (note that the "minimum" pressure is around 6-8...it will never hit zero, but if it stays below ten and the auger speed is at maximum, things are empty).

Now, turn off the auger completely, and remove the nozzle. It is *highly* recommended to use a new nozzle for the new plastic, particularly if you're going from a hot plastic to a cold one. The nozzle screen can be very hard to flush out, and just isn't worth the hassle most of the time. Either way, you'll want the nozzle off for the remainder of the procedure, to allow the extruder to flush as quickly as possible. Be sure to remove the old nozzle from the garbage chute before proceeding, ONLY WHEN IT HAS COOLED AND IS SAFE TO DO SO!

Once you've extruded all of the old plastic and removed the nozzle, load the new plastic, turn the auger to full pressure, and wait for the auger pressure to increase again. If you're switching from a cold plastic to a hot plastic, the pressure will increase a lot, and extrusion might actually stop as the temperature is not high enough for the new plastic to make it through...which is ok! If you're switching from hot to cold, the temperature might not increase much, but you should be able to get a sense of when the new plastic has been fully loaded and primed.

Now, the big step - flushing all of the old plastic. If you're going from cold to hot, this is easy. Just set the temperature ~5-10 degrees lower than you'd normally extrude it (220 for ABS) and wait for the new plastic to push out the old. It should do a very good job as the old plastic will be a bubbling liquid mess, and the new plastic will be a rather solid, viscous blob...so it should happen quite quickly with a minimum amount of wasted plastic. Just let all of the old plastic dump into the garbage chute, and empty it out periodically if need be with the tweezers...keep in mind it will be hot and can burn you!

Unfortunately, going the other way is much more difficult, and takes longer. You'll want to keep the temperature at the "hot" plastic temperature until you can see the new plastic coming out of the nozzle mount - it will be a liquid bubbly mess for sure. At this point, you can slowly start lowering the temperature in 5-10 degree increments. You want to ensure that all of the old plastic has fully flushed - which is easiest at a high temperature - but also that the new plastic is viscous enough to actually push the old plastic out, which is easiest at a low temperature. It is definitely a bit of a balancing act, and something we're working to improve. If in doubt, longer times at higher temperatures are always better! And don't forget to keep cleaning out the garbage chute in the meantime.

When you're sure that all of the old plastic is gone, turn the heater off. At some point, the auger speed will drop to zero as the temperature gets too low for extrusion. At this time, you can use the tweezers to clear off the nozzle mount, and mount the new nozzle (see above, Switching to a New Nozzle) - and then you're done!

A quick tip - we always find it best to go from a "dark" colour to a light colour. It makes it very easy to know when all of the old plastic has been purged. Even if you always extrude white or natural, it's worth tossing in a bit of master batch at the very end of the "old" plastic so that you can tell when you've fully switched over.

Scripting and Data Logging

Scripting allows you to write out text files that will send commands to ProtoCycler on their own while operating in manual mode, so you don't have to. You could, for instance, have ProtoCycler extrude the same plastic with the same parameters, but at 5 different temperatures - and log all 5 trials. This would all happen automatically, and then you could just compare the logs and see which temperature would be best. Alternatively, you could feed the puller a square wave, and see how the plastic responds...allowing you to work on your control algorithms. Scripts can be used to access every single feature of ProtoCycler, and are therefore relegated to the Advanced Page (Coming soon) - but if that sounds like something you'd be interested in, go check it out!

Data logging is much simpler. At any time during extrusion, either manual or automatic, you can create and save all of the data ProtoCycler is outputting to a CSV file. This allows you to process it in programs like Excel, which can be very useful for a number of reasons. To create a new data file, click "New Save File", and navigate to the folder you want to save your file in.  Remember to include ".csv" at the end of your filename, or your computer might get confused when trying to open it...so name it something like "Extrusion test 1.csv", not just "Extrusion test 1". Once you've selected your file, you can click "Collect Data"...and it will start saving all of the data to your file. There's 10 data points for every second of operation, so files can get pretty big pretty quickly - it's usually best to only record a few minutes at a time. You can stop and start data collection on the same file at any time.  When you're done with that file and want to save it or view it, you'll need to either close the app, or select a new data file to save to - otherwise the app won't know you're done with the current file, and won't save anything to it. Important - if you open an existing file, it will be over written as soon as you open it!!!

Uploading new settings

We saved the easy one for last! We currently change settings for automatic operation by running a quick script. Simply connect ProtoCycler and start manual extrusion (scripts do not work if not in manual extrusion). Click "New Script File", select the new settings file you'd like to upload, and then click "Run Script" - you should see "END TEST" and then "TEST FAILED" at the end of the script. If you don't see "END TEST", the settings may not have uploaded properly....but "TEST FAILED" is expected.