Allegro ATS667 Gear Tooth Sensor


I want to connect an ATS667 to a Raspberry Pi to count the RPMs of a motor. I see that there is a typical circuit in the datasheet, Figure 6, page 11. I assume that the bypass capacitor can be a standard 0.1uF ceramic type. I was planning on connecting the ATS667 to 5V from the Raspberry Pi. But I was unsure what was required for the Pullup and Cap attached to Vout.

The Raspberry Pi GPIO pins are 3.3v, so I will need a voltage divider to convert the 5V output from the ATS667 to 3.3V.

Can someone please advise?




I’m checking with our Allegro team on this issue for you and will be in touch here when I hear back. Apologies for the delay.


The output of the ATS667 is an open drain / collector transistor so you can pull it up to whatever voltage you want. It would be easiest to enable the internal pull ups on the Pi (no external components required) or you could use an external pull up to the Pi’s 3.3V output as well. The test value for the pull up is 1k ohms.

As for CL, Allegro uses a test value of 4.7nF. Experimenting with this value along with the pull up resistor can give you a faster or slower output response. Just make sure you don’t exceed the current limit of the sensor.


I’ve got confirmation from our Allegro team on Taylor’s numbers as well. Allegro’s recommendation would be 1k and 4.7nF to hit the specified values; any other values specific to your circuit could work for you, but would affect the operation of the device as well.