Skip to main content

Use Case - Warehouse Rack Detection

1. Preface​

CamThink is a new developer-focused brand from Milesight, created to make edge AI simpler for everyone. We build open, developer-friendly edge AI hardware for both community builders and enterprise engineers. And help them to move from early prototypes to reliable real-world deployments β€” accelerating your strategy in edge AI.

Camthink NeoEye 301 is Powered by the STM32N6(Cortex-M55) processor with the Neural-ARTβ„’ NPU, which delivers real-time Al inference and professional grade image processing with ultra-low power consumption.

Home Assistant is a free, open-source home automation platform designed to be a central "brain" for your smart applications, it prioritizes local control and privacy, As of early 2026, Home Assistant has become significantly more user-friendly through its "Year of Voice" and "Collective Intelligence" initiatives.

In this use case, we will show you how to manage the Warehouse Shelf Status for the smart retail and warehouse industries.

2. Requirement​

Hardware:

  • Camthink NeoEye 301, Ultra-Low Power Vision AI Camera.

Software Platform:

  • Camthink AI Tool Stack, an end-to-end AI toolset covering the entire workflow from data collection, annotation, training, quantization, to deployment.
  • HomeAssistant Platform, you will need to install it in your server in advance.

3. Configuration​

In this part, we will show you how to achive this full usecase step by step.

3.1 Install the NE301 correctly​

Firstly, install camthink NE301 correctly, press and hold the button for 2 or 3 seconds to activate the WiFi.

image1image2

3.2 Configure the network and MQTT data forwarding.​

Connect the WiFI endpoints start with NE301_<Last 6 MAC digits>, Input the default IP address: 192.168.10.10

image3 image4
  • Default Username: admin
  • Default password: hicamthink

Click Login to see the live view with detailed settings.

image5

Navigate to Systems settings to connect the network access.

image6

Camthink NE301 supports WiFi and Cellular modules. Choose the method to make sure the network access is connected.

Navigate to Application Management to configure where to forward the data and pictures.

image7

Input the details of your own mqtt broker or AI tool stack server:

  • Server address: the IP address of the MQTT broker.
  • Port: the port of MQTT server, default value: 1883
  • Data Receiving Topic: the downlink command topic used to control and trigger the image capture.
  • Data Reporting Topic: the uplink command topic used to traismit the data and the pictures.
  • Client id: the mqtt client id, some servers will verify this value.
  • Username : the username to join mqtt server, input it according to the server's needs.
  • Password: the password to join mqtt server, input it according to the server's needs.

3.3 Collect the images, train and quantize the model.​

Login Your own AI tool stack server to create a new project.

image8

Click Create New AI Model Project, Input the name and description:

image9image10

Open this project and bind the device for image collection, you will need to create this device firstly.

image11image12

The pictures of the refrigerator captured by NE301 will uplink as configured. If you have prepared the images, just upload them to this platform directly for model training.

image13

Before start to train the models, create the Class here, let's name it as 'Chipset'.

image14

Choose the proper type to tag the object.

image15image16

Just do it one by one to make sure all the objects are marked correctly. If you have the datasets already, just upload them here directly.

Click Train Model to start the training.

image17

Click New Training to create a new task, keep all the default settings.

image18

Then start the training. It will take a little while.

image19image20

To deploy the model into NE301, we need to quantize it before upload it to the device. Click Quantize button.

image21image22

Click it to start, just keep the default settings here.

image23

It takes a little while to finish it. The NE301 Model Package (*.bin) is the exact quantized model. Click to download it.

image24

You can also test the model here to confirm if all good.

image25

3.4 Verify and Deploy the new model.​

let's back to the device to upload the new model. Click Upload button to install it.

image26image27image28

When done, the chipsets on the shelf are marked correctly.

image29

You can upload more images to verify the performance.

image30

3.5 Configure the HomeAssistant applications.​

To make the data values more valuable for customers, we choose HomeAssistant for integration and visualization. You can also connect it to other 3rd-party platforms.

Open the Devices & Services to install the MQTT integration.

image31

Click Add Integration button to install the MQTT addon.

image32

Just input MQTT to search it.

image33image34

Choose the second one, and input the mqtt broker configured in NE301.

image35image36

Submit to save it. The MQTT connection is ready.

Create the MQTT device to make sure the datas can be subscribed correctly.

image37

Keep the other settings to be default.

image38

Choose type 'Number' and input the entity name here.

image39

Keep these settings empty.

image40

Input the MQTT specific details here correctly, especially the downlink and uplink topic, And the value template.

image41
{{ value_json.ai_result.ai_result.detection_count }}

More details about how to set the value template, you can visit HomeAssist website or contact us. click Next and save it.

image42

The first entity about the chipset's number is created well. Let's create the second entity to identify the name.

image43

Input the value template of the 'name'.

image44

The template of the value Name is different here.

{{ value_json.ai_result.ai_result.detections[0].class_name }}

Click Save Changes to save it.

image45

Refresh the page to see the Activity with the values correctly.

image46image47

HomeAssistant supports to check it in dashboard, including the histories.

4. Quick Test​

Let's take some drinks to test it.

image48

The number of the baverage is changed immediately.

image49

The values are updated in HomeAssistant platform as well, customers can see all the history datas.

image50

HomeAssistant platform supports the other appplications to trigger the alert, you can configure them to achieve the full management.

5. Q&A​

Q: Can I use the same MQTT broker and Camthink AI Tool Stack for Model Training and Quantilization?

A: The server in this guide is for internal use. You need to install your own AI Tool Stack on your own.

Q: Since the Chipset is smaller, how to improve the model's performance?

A: You can try the option of Input Size to be 320 during the quantize process.

image51

Q: How to set the value template in HomeAssistant? A: You can visit the HomeAssistant website to get the details about how to use it. Here is an example of NE301's report data:

{
"metadata": {
"image_id": "cam01_1767513409",
"timestamp": 1767513409,
"format": "jpeg",
"width": 1280,
"height": 720,
"size": 51464,
"quality": 60
},
"device_info": {
"device_name": "NE301-2A3E75",
"mac_address": "44:9f:da:2a:3e:75",
"serial_number": "SN202500001",
"hardware_version": "V1.1",
"software_version": "1.0.1.1146",
"power_supply_type": "full-power",
"battery_percent": 0,
"communication_type": "wifi"
},
"ai_result": {
"model_name": "YOLOv8 Nano Object Detection Model",
"model_version": "1.0.0",
"inference_time_ms": 50,
"confidence_threshold": 0.5,
"nms_threshold": 0.5,
"ai_result": {
"type": 1,
"detections": [{
"index": 0,
"class_name": "Chipset",
"confidence": 0.9015386700630188,
"x": 0.0039368569850921631,
"y": 0.17518982291221619,
"width": 0.53541159629821777,
"height": 0.82280164957046509
}],
"detection_count": 1,
"poses": [],
"pose_count": 0,
"type_name": "object_detection"
}
},
"image_data": "data:image/jpeg;base64,/9j/2wBDAA0J",
"encoding": "base64"
}