RepRap Builder


More Considerations about Endstops


January 2014

With the start of a new year I wanted to find the ultimate solution for a contactless endstop for the RepRap.

In the preceding month my investigations had resulted in the conclusion that an endstop based on a photo interrupter was too unreliable. The concept of a magnet operated Hall sensor probably was a better approach to realise my goal.

In the previous month I had ordered in China at a price of € 0.18 each ten A3144E unipolar Hall sensors. Shipment was included but for my less than two Euro order I had to wait almost a month before the small parcel arrived. Simultaneously I had bought 50 pieces duo-LEDs green/red for € 3.50 including shipment. In my toolbox I had a number of magnets to operate the Hall sensor. The magnets have the dimensions of 10 mm long and 3 mm diameter and are very suitable for mounting on the RepRap carriages by drilling a small hole to fit the magnet with some glue. This was my basic sets of components for developing a new contactless endstop.

Description of the hall sensor:

"The A3144E Hall sensors are monolithic integrated circuits with tight magnetic specifications, designed to operate continuously over extended temperatures to +150C, and are more stable with both temperature and supply voltage changes. The unipolar switching characteristic makes these devices ideal for use with a simple bar or rod magnet.
Each device includes a voltage regulator for operation with supply voltages of 4.5 to 24 volts, reverse battery protection diode, quadratic Hall-voltage generator, temperature compensation circuitry, small- signal amplifier, Schmitt trigger, and an open-collector output to sink up to 25 mA.

The A3144E Hall sensor has an output that is just one of two states: ON or OFF. The Schmitt trigger compares the output of the differential amplifier with a preset reference. When the amplifier output exceeds the reference, the Schmitt trigger turns on. Conversely, when the output of the amplifier falls below the reference point, the output of the Schmitt trigger turns off.
Hysteresis is included in the Schmitt trigger circuit for jitter-free switching. Hysteresis results from two distinct reference values which depend on whether the sensor is being turned ON or OFF.
The principal input/output characteristics are the operate point, release point and the difference between the two or differential. As the magnetic field is increased, no change in the sensor output will occur until the operate point is reached. Once the operate point is reached, the sensor will change state. Further increases in magnetic input beyond the operate point will have no effect. If magnetic field is decreased to below the operate point, the output will remain the same until the release point is reached. At this point, the sensor’s output will return to its original state (OFF). The purpose of the differential between the operate and release point (hysteresis) is to eliminate false triggering which can be caused by minor variations in input.
As with analog output Hall effect sensors, an output transistor is added to increase application flexibility. This output transistor is typically NPN (current sinking)."

The above text in this section is sales talk from the product brochure but doesn't it sound like the perfect sensor for an endstop?

The Hall sensor and the RepRap:

The A3144E has three pins, GND, Vcc, and signal and in theory with just connecting the Hall sensor directly to the RAMPS board this was supposed to work. The Hall sensor
triggers by sinking the signal to ground and because we have no pull-up resistor we need to compensate for it by changing the firmware effect by setting the “INVERT_ENDSTOP” flag.

Instead of changing the firmware endstop flag setting we can also add a10k pull-up resistor, connected between the 5V Vcc pin and the signal pin of the Hall sensor (image 1).

Hall sensor with pull-up
Image 1: Hall sensort with pull-up (image: FRS)
Quite simple: just two components (three with the magnet) and when we solder the resistor directly to the Hall sensor wires it will be possible to push the three legs from the Hall sensor into the plug on the wire connecting the sensor to the RAMPS board. One disadvantage however: no LED to signal the triggered status.

A search on the internet showed me that Hall sensors for use as endstops in the RepRap were becoming popular.
In image 2 we see a design by Anthony VH showing the same basic Hall sensor circuit with a pull-up resistor between Vcc and output. Also connected to output we find a configurable multifunction gate, 74LVC1G58GV, driving a duo-LED.
74LVC1G58GV has three Schmitt-trigger inputs (A, B and C) with an output enabling logic functions AND, OR, NAND, NOR, XOR, inverter and buffer.
A very nice five component design offering a lot of functionality! One issue crossed my mind that I would like to combine with this design: the possibilty to have a variable sensitivity for the magnet. It is rather difficult to position manually the endstop for the Z-axis in such a precise way that a gap of 0.2 mm results between the nozzle of the extruder and the surface of the heated print bed. It would be nice if that could be done e.g by means of a potmeter in the circuit. Unfortunately my A3144 Hall sensor with digital HI/LO output only is not suitable for this option.

Hall sensor schematic circuit
Image 2: Hall sensor endstop with two LEDS (image: Anthony VH)

A new search on the internet for positioning Hall sensors resulted in image 3:

Image 3: Hall sensor Hall-OS (image:

Imge 3 uses a different type of Hall sensor, the A1302UA, a continuous-time, ratiometric, linear Hall-effect sensor IC with an analog and a digital signal output. The analog output varies with the strength of the magnet field and this makes this Hall sensor suitable for positioning options.

Because I already had my (cheap) A3144 Hall sensors I decided to start with making two endstops according to the schematic circuit of image 2. In case I decided to go for a positioning Hall sensor for the Z-axis it would probably be easier to buy a ready to use Hall OS sensor. Another idea was to develop an adjustable holder for the Z-axis endstop, preferably to be printed but than I needed a working RepRap first.

My first job now was to build a working proof of concept breadboard circuit for the A3144 Hall sensor.

(to be continued)


Last Updated on: Mon Nov 10 22:03:55 2014