Multiple Hall Effect Sensors

I am looking for a little advice or direction .. I have a project i am working on that will require 4 or 5 hall effect sensors to be used;-
The basic of the project is i am renovating a classic car that has no OBD2 or CAN bus as it was manufactured in the early 80's
I would like to collect data on engine RPM and Wheel RPM at the same time to give me accurate feedback. I would also like to count wheel rotation for each of the 4 wheels to detect puncture.
I have trawled the internet and forums looking for a solution
Can data be collected by more than 1 Hall effect sensor at a time?
I have also looked on the PI forums as i thought this may be a solution but again this appears to have either never been attemped or everyone drives cars that have some form of data logging already fitted by manufacturer

Many thanks in advance

I would start by looking at the timing or each parameter then seeing what type of load would be on the processor.

For instance:
If you wheel is 2 feet in diameter.
One wheel revolution is 2 Pi = 6.28 feet.
60 MPH ≈ 88 feet / second
A 1 revolution sensor would be approx 14 rev /second which is approx 71 ms.

Engine RPM:
5000 RPM ≈ one revolution every 12 ms (different if you monitor the points)

If you can make the wheel revolution sensor pulse long enough so the processor can deal with other one wheel before the other three pulse ends you should be able to collect the data.

The next issue is how to log and or display the data. And how to distinguish between going around a corner or having a low tire. Its not that hard but has to be done.

In general I don't see it being too difficult for an Arduino. I think the issues will be with the sensors (it always is) and automotive electrical noise.

Certainly. 5 is no problem.

You can't get 5 data point at the same time, you can get 5 data points so quickly that it seems the same time. See the several things at a time tutorial.

I would use Hall effect switches like the A3144 Hall Effect switch. They are open collector output so connect the A3144 output to an Arduino digital pin set to INPUT_PULLUP and A3144 ground to Arduino ground. The input will read LOW in a magnetic field and HIGH when there is no field.

Thanks John
I think i should be ok with most of those points and the timings
The real issue seems to be how to connect more than 1 Hall sensor to the arduino an separate the data being received from them.
I dont seem to be able to find any information on anyone connecting more than 1 (3pin) hall effect sensor to an arduino or PI.

Thanks GroundFubngus
I have 5 KY-003 and 5 KY-035 hall sensors I just cant find anyone that has connected more than 1 to an arduino
I wil view the tutorial you suggest and see if that points me in the right direction ,, Thank you

I would pick on/off hall sensors (as opposed to linear responding).

Each hall sensor would connect to a Port B digital input. In the setup you would set interrupt on change for each sensor input.

I'm not 100% sure how the different Arduinos handle multiple interrupts that happen at the same time. so that would have to be looked into but I don't think it will be a problem.

Thanks John
I purchased a Mega 2650 Starter Kit as i had seen some really good reviews on the forums about them and thought if i am chucking a bucket load of money at the car to restore it the cost of the arduino was small fish .... The original plan was to collect the data with the arduino and pass it to the Raspberry Pi to display on a screen ...A bit like AutoPi ... But without OBD or any kind of CAN bus i am sort of flying by the seat of my pants


The KY003 has a A3144 on the little board and so is a digital (switch) output. The KY035 is analog and less suited for counting wheel revs. The KY003 is described on this page and there is code to interface one. It is not much different from using multiple switches. There should be lots on the net about that.

An ESP has 8 built-in hardware counters that could easily count those events.