Milesight People Counting solutions

For one of my clients, I had the opportunity to test several different people-counting solutions. Our requirement was for a system capable of communicating independently from the company network, such as through LoRaWAN, while also being available for purchase in single units. I turned to Milesight products, as the company offers a fairly broad range of sensors in this field. From a mechanical and hardware perspective, the sensors are generally of good quality. However, as we have seen, their performance in counting people varies greatly depending on the detection method used.

The entry-level sensors are very affordable, but the more advanced models—those based on image analysis with AI—quickly become much more expensive. Depending on the use case, each type of sensor addresses different needs, making it important to balance precision requirements against budget constraints.

Milesight VS350

This was the first sensor I tested, back last year, so I won’t go into too much detail. The key takeaway is that its reliability is far too low. On the positive side, it does not generate false positives—when no one is present, it does not detect anything. However, it fails to count people accurately. In my tests, a single passage would sometimes be counted once, but other times two or even three times.

While this makes it unsuitable for precise people-counting, it can still be useful for identifying general trends. For instance, it works well to observe fluctuations in attendance or traffic levels. Its main advantage is that it operates on battery power, making deployment extremely simple and inexpensive, even if it is not the right choice for exact counting applications.

Configuration is relatively straightforward, carried out through the MileSight mobile application and transferred to the device via NFC. While using a mobile app is not the most convenient method for tasks such as copying and pasting LoRaWAN identifiers created elsewhere, the overall process remains fairly user-friendly.

I experimented with improving detection by placing covers around the PIR sensors. This produced some limited results but did not resolve the underlying issue. In my view, the real weakness lies in the firmware. Adjustments at that level—such as introducing a slightly longer delay between detections—could greatly improve reliability. Even if this approach led to occasional undercounting of groups, it would be far less problematic than randomly counting a single person three times.

Beyond its autonomy, this sensor has the added advantage of being reasonably priced, coming in at under €150.

Main use-cases

This sensor performs well for monitoring flows, but it cannot provide an accurate snapshot of presence at a given moment, nor can it reliably estimate occupancy by balancing entries and exits. Its use is therefore limited to observing movement trends rather than delivering precise headcounts.

It is perfectly suited for wireless installations, particularly in isolated locations where simplicity of deployment and independence from existing infrastructure are key advantages.

Milesight VS133

With the VS-133, we move into a different category of detection technology. This system is based on the time-of-flight principle, meaning it measures the distance with signal traveled time. The presence of people alters this distance, which enables detection. Compared to a PIR-based system, the VS-133 is generally far more reliable, and this is the main reason for selecting it. However, it is also significantly more expensive than PIR solutions.

One of the first aspects that surprised me upon receiving it is that the device cannot operate on battery power. It only supports wired electrical power, or in some versions, Power over Ethernet (PoE). This makes installation more complex compared to traditional systems, which often run on batteries and can be deployed more easily. That said, the higher cost of the VS-133 may be justified by the level of accuracy and precision it is designed to deliver.

The device operates in a way that is broadly similar to a camera, but instead of producing a standard image, it generates a fine-grained distance map. This enables AI-based detection of shapes corresponding to people, children, or animals. The integrated AI, trained specifically for this purpose, can identify individuals, count them, and track their movements.

In practice, the system allows the creation of virtual passage lines that act as barriers to define which crossings should be counted. When a person crosses one of these lines, the system registers the movement as either an “in” or an “out,” depending on the direction. For the feature to work reliably, the device requires a sufficient viewing distance so that it can capture a person’s full body, recognize them as human, and track them accurately for counting. ( Rq : It’s not really clear to me why the left side is red in the image above).

This sensor is the most expensive in the range, with a unit price exceeding €650. Its cost is likely justified more by the technology it incorporates than by its actual operational performance.

Initial setup

Configuration for this device appears to differ from most other MileSight products, as it cannot be managed through the mobile application. Instead, setup is carried out via Wi-Fi, since the device includes a Wi-Fi connection in addition to the LoRaWAN interface that I intend to use. This Wi-Fi configuration relies on an active access point created by the device itself. By connecting to this access point, the user can access the built-in dashboard, which provides the interface needed to configure the system.

The IP address is 192.168.1.1. It is possible to open this address directly in a browser in order to complete the configuration process. In my experience, however, the connection is extremely slow, which suggests that the device needs to be placed very close to the Wi-Fi source of the workstation to function properly. This limitation can make the initial setup somewhat cumbersome and less seamless than expected. At the beginning of the setup process, the configuration wizard prompts the user to define the administrator credentials. It also requires setting up a password for the Wi-Fi access point, ensuring that the device is secured before moving forward with the rest of the configuration.

As is often the case with MileSight products, the hardware quality is solid, but the firmware lags behind. In practice, it turned out to be a real struggle just to get the configuration page to load over Wi-Fi. Frequent timeouts make the process frustrating and, given the price point of the device, this level of performance feels unacceptable. I eventually had more success using Safari than with other browsers, though it very much felt like it worked by chance rather than reliability. I managed to update the firmware to version 1.0.9, hoping this would address the connectivity issues that had been causing so much trouble.

Once connected, you need to configure the time, the most efficient way is to syncronize with your computer.

Then you can setup the LoRaWan part, including the verification of the radio frequency. You may enable the 5 extra channels and select OTAA + configure your credential with what you can get from your LNS like helium console

The data received by the LNS will be decoded using the payload decoder available on Milesight Github.

Detection setup

To detect people passing through, the system needs to be installed at a certain height. According to the configuration guidelines, a height of about two meters is recommended, but in practice this does not provide a full-body field of view unless the device is tilted slightly downward. The documentation offers very little guidance on how to achieve proper installation, which makes setup less straightforward. The web interface, accessible via Wi-Fi, does at least allow visualization of the scene and the addition of detection rules, although the poor connection quality significantly hinders efficiency during configuration. Switching the Wi-Fi bandwidth from 20 MHz to 40 MHz appears to have improved performance noticeably, making the connection more stable and responsive during configuration.

The setup is managed in the “Rules” tab, where it is possible to draw lines or define zones that will be used to analyze entries and exits. In theory, this makes it possible to outline doorways and count people entering and exiting each room separately. In reality, the most common use case is to draw a straight line across the middle of the field of view, with arrows indicating which direction should be considered as an entry.

The data is transmitted according to the configuration defined in the LoRaWAN settings. In my case, I selected a reporting interval of ten minutes. These outputs can then be displayed directly in ChirpStack or any other compatible platform using the appropriate decoder.

TEsts feedbacks

Even though the configuration guidelines suggest installing the device at a height above two meters—which makes sense for ceiling-mounted setups—wall installations appear to work best at around 1.5 meters. At greater heights, the system struggles to detect people properly when only their head passes through the detection field.

The device operates identically whether the room is lit or dark, which can be particularly valuable for certain monitoring scenarios where lighting conditions vary or are not guaranteed. For example, the images below were taken in an environment with virtually no light. They remain identical when the lights are switched on, and the same applies in situations of overexposure. The device is unaffected by these conditions thanks to its Time-of-Flight (ToF) technology, which ensures consistent performance regardless of lighting.

From a practical standpoint, I noticed that the system is not particularly responsive when detecting people as they pass through its field of view. When several individuals cross simultaneously, it often identifies only one of them. To improve reliability, it is better to give the device a wider coverage area. Allowing for a greater distance to be traveled provides the system with more time to detect each person accurately as they pass.

Similarly, people moving quickly are difficult for the system to identify. In general, it does not generate false positives and avoids duplicate counts—one individual will not be recorded multiple times. However, when individuals cross the detection zone, some may go uncounted, leading to occasional underreporting.

Main use-cases

The main use cases for this system are people-counting in transit, under all lighting conditions, including complete darkness. While it could theoretically be used to track occupancy, my tests showed that both accuracy and response time are somewhat limited for that purpose. These characteristics make it more suitable for security-related applications, where reliability across different lighting environments is critical. The system performs best in scenarios with low traffic flow and slower movement within its detection field.

Milesight VS121

The VS121 is a camera that records the scene and applies a people-counting algorithm. Like the VS133, its counting process remains fully anonymous since no video stream is stored. Instead, only the counting results are transmitted via the LoRaWAN network.

From my testing, this proved to be the most reliable and responsive solution. However, since it is a camera, it requires not only a constant power supply but also adequate lighting. These constraints can limit its relevance for certain use cases, although it still remains suitable for a wide range of scenarios.

The camera is configured via Wi-Fi but transmits its data over a LoRaWAN connection. This makes it possible to install the device almost anywhere without relying directly on the company’s network. The use of this low-bandwidth link also provides an additional safeguard for confidentiality, since no video data is transmitted—only the anonymized counting results.

Like the VS133, this sensor requires a continuous power supply for operation. Both the camera and the onboard AI processing demand constant energy, making the system far too power-hungry to be battery-operated.

Priced at around €400, this sensor ultimately offers the best balance of performance and cost for people and flow counting in a general operational context.

Initial Setup

Configuration is very similar to that of the VS133, carried out through a Wi-Fi access point. During initialization, the system requires securing the administrator password, but in the current firmware version the Wi-Fi access point itself is not automatically protected. I performed a system update, and it appears that firmware updates are released on a fairly regular basis.

The firmware update enforced the securing of the Wi-Fi access point and introduced a blur mode, which can only be disabled with a password. These are positive developments that significantly improve compliance with GDPR and CE/RED regulations.

A slightly confusing detail is the 90° rotation between the markings on the device, the USB connector, and the displayed image. While this has little impact on ceiling installations, it can be disorienting for wall mounting. To avoid mistakes, it is best to complete detection configuration after the device has been installed in its final position.

The VS121 supports several counting modes: monitoring the number of people in a room, counting individuals within a flow, and registering crossings of a virtual line, similar to the functionality offered by the VS133.

Unlike the VS133, however, the Wi-Fi connection on the VS121 works very well. The setup process is straightforward, without the erratic and unreliable behavior that made configuration such a challenge on the other model.

Integration

As usual, the decoder can be found on MileSight’s GitHub repository to interpret the device data. Messages are transmitted at regular intervals, based on the communication settings defined during configuration. In my case, I set the counters to update every ten minutes.

Integration with ChirpStack on the Helium network works seamlessly in just a few clicks, providing direct monitoring of indicators within the platform, as long as long-term detail is not required. In this setup, a few counter resets introduced some irregularities in the non-cumulative indicators, which explains the unusual shapes observed in the data.

Tests feedback

This system proved to be the most responsive and reliable of those tested. Its ability to function in extremely low-light conditions is remarkable, as demonstrated by the attached capture taken in near-total darkness. The tests showed accurate detection when individuals followed each other at roughly one-meter intervals, with strong responsiveness as each person entered the field of view.

When the spacing between individuals decreased to around 50 centimeters, the system had more difficulty distinguishing them and producing an accurate count. Fast-moving individuals were detected more effectively than with the ToF-based system, though detection was still not perfect, falling short of 100% accuracy.

The 90° rotation issue remains, but the system clearly detects two of the individuals, even though they are slightly offset and less than one meter apart. A third person is just entering the field of view and will be detected shortly afterward.

Main USE-CAses

The VS121 is the most suitable system for people-counting, whether for tracking passage through a space or monitoring occupancy within a room. It provides good responsiveness along with a wide field of view, making it one of the most accurate options available. While it requires only minimal lighting, it cannot function in complete darkness.

Because it uses a visible camera, the device may raise concerns or cause reluctance in certain contexts—for example, in a meeting room, where it would otherwise be a relevant choice. In practice, it is not designed for recording or streaming video. However, since live viewing remains technically possible over Wi-Fi if not disabled, this perception issue must be taken into account during deployment.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.