This project demonstrates how to integrate the new CamThink NeoEye 301 with Home Assistant to build a complete workflow for intelligent chip counting and reporting.Rather than focusing only on basic object detection, the project walks you through the full CamThink AI toolchain — from data collection and annotation, to model quantization and deployment.
Finally, telemetry data is transmitted to a local Home Assistant server via MQTT, creating a private, highly responsive IoT system.
Whether you are an embedded engineer or a smart home enthusiast, this project offers practical inspiration on how to connect CamThink NeoEyes NE301 with your smart home ecosystem and build smarter vision-based solutions — going beyond traditional reliance on voice control and simple sensors.
2. RequirementHardware:
- 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.
In this part, we will show you how to achive this full usecase step by step.
3.1 Install the NE301 correctlyFirstly, install camthink NE301 correctly, press and hold the button for 2 or 3 seconds to activate the WiFi.
Connect the WiFI endpoints start with NE301_<Last 6 MAC digits>, Input the default IP address: 192.168.10
Default Username: admin
Default password: hicamthink
Click Login to see the live view with detailed settings.
Navigate to Systems settings to connect the network access.
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.
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 Receiving 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.
Login Your own AI tool stack server to create a new project
Click Create New AI Model Project, Input the name and description:
Open this project and bind the device for image collection, you will need to create this device firstly.
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.
Before start to train the models, create the Class here, let's name it as 'Chipset'
Choose the proper type to tag the object.
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.
Click 'New Training' to create a new task, keep all the default settings
Then start the training. It will take a little while.
To deploy the model into NE301, we need to quantize it before upload it to the device.
Click Quantize button.
Click it to start, just keep the default settings here
It takes a little while to finish it.
The NE301 Model Package (*.bin) is the exact quantized model. Click to download it.
You can also test the model here to confirm if all good
let's back to the device to upload the new model.
Click Upload button to install it
When done, the chipsets on the shelf are marked correctly.
You can upload more images to verify the performance.
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.
Click Add Integration button to install the MQTT addon.
Just input MQTT to search it.
Choose the second one, and input the mqtt broker configured in NE301
Submit to save it. The MQTT connection is ready.
Create the MQTT device to make sure the datas can be subscribed correctly.
Keep the other settings to be default.
Choose type 'Number' and input the entity name here
Keep these settings empty
Input the MQTT specific details here correctly, especially the downlink and uplink topic, And the value template
{{ 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.
The first entity about the chipset's number is created well.
Let's create the second entity to identify the name.
Input the value template of the 'name'.
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.
Refresh the page to see the Activity with the values correctly.Activity with the values correctly.
HomeAssistant supports to check it in dashboard, including the histories
4. Quick TestLet's take some drinks to test it.
The number of the baverage is changed immediately.
The values are updated in HomeAssistant platform as well, customers can see all the history datas
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.
- 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.
- 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"
}









Comments