System to detect if cars are parked in slots


Im trying to build a system to detect if each of the parking places in a small garage are occupied by a car or not ,and updating this information on a simple website.

I've looked for other projects but have only found systems to detect distance while parking (sensor in a car to detect the objects around) or detection of the number of cars in a garage based on gate activations.


  • Is this a very complex project? (I have no experience with Arduino but have experience with statistical programming, i.e. python/R/... for transforming and visualising data)
  • What materials would be needed?
  • Any links you think would be relevant?

Thanks in advance

1 Like

Your post was MOVED to its current location as it is more suitable.

in many parkings you have a sensor above each parking space.

for example systems might have a double ultra-sound based detection (see this commercial one)

then it's just a matter of aggregating the information from each sensor every ∆t and reporting any change.

1 Like

First, it can be as complex as you want it. It can be less complex if the parking spaces can never be overlapped by a single vehicle. Also if only automobiles can park and not motorcycles or bicycles.
It becomes more complex if you cannot supply power to the project at all times.
It becomes more complex if you want some human readable indicator for the space's condition.
It becomes more complex if you want remote indication.

So, please tell us more about your proposed system.

Great follow up questions =)

  • Only cars will be occupying the spaces (motorcycles park elsewhere)
  • In some car spots, a car can occupy two spaces but I'm fine simplifying first and getting things wrong in those edge cases, then building it up from there
  • I'd assume I can get reliable power supply
  • I don't need a human-readable indicator in-locus
  • I do want to send the output of this analysis online within my intranet

In terms of sensors, I see two different types that could be used:

  • one sensor per car spot, requiring cables to each sensor location
  • photographic imaging (though there is an extra complexity there because the garage can either be lit or dark; it's lit by motion detection; though that could be dealt with in the analysis program)

The latter would have the advantage of being able to detect multiple car slots occupancy from one sensor but I don't know how difficult it would be to have good accuracy, so I see it as a gamble.

I would think the easiest way to detect if a space has a car in or not would be a ultrasonic range sensor mounted above each parking space (see HC-SR04 or if you need waterproof jsn-sr04t). or even mounted on the wall next to the parking space. They are very cheap and easy to use.

I would suggest you get yourself an esp32 and a couple of HC-SR04 sensors and have a play, see what you can do with it, they are very cheap. may be mount one battery operated in just one space for starters (making sure it is secure and can't drop on a parked car :wink: and see if it looks like it will do what you require.

If you wanted to try the camera option then an esp32cam would be the way I would suggest. I have a sketch (link below) which shows how you can access the image and serve a web page. If you capture the image in low resolution greyscale then it would not be too difficult to detect if anything has changed in areas of the image but deciding if it is because there is a car there or just lighting change would be more difficult without getting in to machine learning etc..


Capacitive sensing sees through dirt. In a garage, sense-spots can be conductive paint perhaps overhead.

Cap sensing in general.

Ping sensors overhead would know if the spot is empty, the sensors would get pretty cheap in the 100's compared to buying 5 or 10. Cap sense is way cheaper.

Count the cars going in and the cars going out - only one sensor needed.

As with all the type of project it’s sensors and actuators and mechanical construction that are the issue not the Arduino part ! Always worth having a look at what is commercially available or what outside companies are using in similar or related applications .
Do some experiments see what works .
Bear in mind reliability and quality - an unreliable in accurate system soon falls into dissuse

1 Like

If you want reliable indication of a large metal object, then an inductive loop will do the job. They can't be a bad option because that is what you find in the roads at traffic light junctions.

True enough but are you going to dig up the floor or suspend large "halos" over the cars? :grin:

It’s dark under a car … that might be a useful fact

Possibly ceiling loops could be painted with conductive paint or adhesive ribbons.

They don't have to be big but big could use less power. An antenna for a metal detector might be a whole foot in diameter? Will squawk at a dime 6 ft down so a car?

But you have to get the detectors on a comm net of some kind, wire or wireless. And the whole thing has to be shielded/hardened against powerful radio transmitters cars may carry.

It's often wet and drippy under cars.

That isn't how it is done. The loop is cut out with a simple disc cutter and then tar poured in after the loop is laid. Quick and straightforward.

Like an empty parking bay at night ?

Unless there is, deliberate, background lighting ..................

That is exactly what I said. One option to embed the loop in the floor, but may be more practical to suspend a loop of similar size.

Slotting a road is relatively straightforward, you bring the wires to the side of the road and install the electronics in boxes there. May not be so easy in an indoor car park with complete floor although I suppose there would be a wall nearby and mount the boxes on that. :grimacing:

How about an ultrasonic sensor on the wall and look to see if there is anything present less than a certain distance (maybe 10 ft) and a timer on the sensor to filter out people walking through the beam - if you have a wall probably easier than cutting groves in the floor.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.