JamSentry Configuration

It is assumed at this point that the firmware is loaded and the ESP8266 is powered on.

Using a WiFi enabled device, scan for new networks. You should see a network called JamSentrySetup.  Connect to it.  It should then load a setup screen (you may need to try and go to some website on some machines, to trigger the port capture).

Go ahead and configure the wifi.  It should be on the same network as the machines which drive the printers.

If you want a static IP address, you should go ahead and set it now as well as the gateway address.  Otherwise, you will need to figure out what address DHCP allocated to it.  The machine name is generally ESPsomething.

Once set, the board will restart.  If you set a static address, you need to restart it a second time (disconnect and reconnect power) before it comes as the correct address.

In this example, I set the static IP address to  From a PC or tablet or phone, I then browse to  The following screen should pop up:

This is the webpage that can be viewed anytime to see the status of JamSentry.  It is also where you configure the timeouts, alarms, etc.

Right now the operational status is: Not Working.  That is because neither the filament sensor or the magnetometer are hooked up.  Once the unit is completed, these reading will give feedback on the status of the sensors.

The remaining parameters can be set using the UPDATE CONFIG button.  The parameters are:

  • Printer Name: This is the name that is given on any notifications sent to the user
  • Extruder: The number of an extruder.  A printer can have more than one extruder and in that case more than one JamSentry would be needed.
  • Timeout in secs: How long to wait before deciding there is a Jam.  If the number is set too small, then you will get false positives when it prints something that doesn’t require much filament and the optical encoder moves slowly.  10 is a good place to start, but if you print really fine parts or really slowly, then bump up the number.  The max is 60 seconds.
  • Stepper Threshold: This sets the amount of magnetic variation that must occur for JamSentry to consider the motor as running (extruding).  Due to variations in motors, sensor placement, and outside interference, this value sometimes must be tweaked.  See tips and tricks for how to set this.
  • Alarm Condition: If you are using a filament runout sensor, this indicates which level is the alarm.  HIGH means that the signal is normally LOW, and goes HIGH when there is a jam, LOW is the opposite. If you don’t use a filament runout sensor, it doesn’t matter.
  • GCode Sender IP address:  This should be the IP address of the Printer Host  driving the 3D printer.  If an IP address is provided, the JamSentry will send it a message telling it to pause the print.
  • GCode Sender Port: This is the port it sends it to.  There is a discussion in Tips and Tricks on how this is set, but it needs to be the one that the Printer Host is listening on.
  • Remote Pause Password: Because you only want legitimate programs to be able to send a pause command, this password is used for validation.  If the passwords don’t match, then the pause command is ignored.  This is the default password.
  • Maker IFTTT Key: IFTTT WebHooks are used to alert the user.  This allows the user to select how they want to see the alert (e-mail, SMS, app notification, blinking lights, etc.)  A secret key is provided by IFTTT to secure these requests.  The site to sign up for IFTTT webhooks is here.  A tutorial on how to set them up can be found here.  The IFTTT trigger from Jam Sentry has the following fields: event=”Jam”, value1=printer name, value2 = extruder number, value3 (unused).
  • IFTTT Alert if Done: JamSentry can also send you a notification when the job is done.  It assumes the job is done when both the extruder stepper and the filament motion quiesce normally.  Note that this won’t work well if you have two extruders as JamSentry will not realize that the other extruder is still going.  The IFTTT trigger parameters are the same as before, except that event=”Done”.

The UPDATE CONFIG button can be used to change any of these parameters and they take effect immediately. They parameter settings are stored in EEPROM, so they are reloaded whenever JamSentry starts up.

The JamSentry IP address is just for information.  To change this you need to go through the wifi configuration again. This can also be launched from the UPDATE CONFIG page.

The DISABLE button can be used to disable JamSentry.  If it is disabled, then ENABLE can be used to re-enable it.

Finally, the TEST button can be used to simulate a Jam.  You can use this to test that the runout line, GCode sender pause, and IFTTT alert functions work.

But it doesn’t work yet, so let’s put the mechanics together in the next step.

Previous – Loading the Firmware

Next – Assembling the Encoder