Object recognition has become one of the most popular applications of artificial intelligence and embedded vision systems.  The most common approaches rely on machine learning frameworks such as TensorFlow, Edge Impulse, OpenCV, cloud-based AI services, or large pre-trained neural network models. While these methods can provide impressive results, they often require a significant amount of setup, model training, dataset preparation, cloud processing, and additional software tools. The goal of this project was to explore a much simpler and faster approach to object recognition using the UNIHIKER K10 development board, without TensorFlow, internet connectivity, cloud services, or external AI platforms.

  The UNIHIKER K10 is a compact ESP32-S3 based development platform that combines several useful components into a single device: 

- ESP32-S3 microcontroller
- Integrated color display
- Built-in camera
- Speaker and microphone
- Wi-Fi and Bluetooth connectivity
- Multiple AI and multimedia capabilities
- and Large PSRAM memory for image processing
  These features make the K10 an excellent platform for experimenting with computer vision, artificial intelligence, robotics, and educational projects.

 This project is sponsored by PCBWay. Don't forget to visit the PCBWay Open Source Community where you will find countless useful projects divided into different categories. Choose your area of interest where you will find many useful and free projects. You can here also  download Gerber files or order ready-made PCBs for some of your future projects. PCBWayhas all the services you need to create your project at the best price.

 Before developing the final object recognition system, I performed several preliminary experiments. The first experiment was a simple color recognition project. Using the camera image, the software analyzed the dominant color within a selected region of interest and identified basic colors such as red, green, blue, yellow, and others.

 The second experiment used the built-in AI library supplied with the UNIHIKER K10. This demonstrated the ability of the K10 to perform real-time vision tasks using the integrated camera and display.  Although these factory AI examples are useful demonstrations, the objective of this project was to create a completely different object recognition method that could be trained directly by the user.

  I should mention that the Arduino codes for all the examples in this project are given at the end of the text.
  Now let's move on to the idea from the beginning. The final project introduces a very simple but surprisingly effective object recognition technique. Instead of using neural networks or machine learning models, the system creates a visual signature of each object during a short training process. The camera image is divided into multiple regions and the average brightness of each region is calculated. These values create a compact numerical representation of the object. This representation can be considered a visual fingerprint. When a new object is placed in front of the camera, the system:
- Captures the image.
- Generates a new visual fingerprint.
- Compares it with previously stored fingerprints.
- Selects the closest match.
- and Displays the detected object name.
This approach is extremely lightweight and can run entirely on the ESP32-S3 processor.
  One of the most interesting aspects of the project is the training process. Unlike traditional machine learning systems that require hundreds or thousands of images, this method only needs a single training sample for each object. The user places an object in front of the camera and sends a training command. Each object is stored as a reference pattern in the device memory. The reference data is then saved into the internal flash memory, allowing the system to remember all trained objects even after power is removed.  Once the training process is complete, the device is immediately ready for recognition.

  For better detection, I put the elements on a white background. For each electronic element in the code, a corresponding letter is assigned:
e = EMPTY (in our case white background)
c = CAPACITOR
b = BATTERY
r = RESISTOR
i = IC CHIP
t = TRANSISTOR
s = STM32 microcontroller board
   Now in the serial monitor we write the letter that corresponds to the recorded element and send a command with Enter. We repeat this for each electronic element
  For demonstration purposes, several electronic components were used: After training, the objects were presented to the camera one by one. The software continuously compared the live image against all stored references and displayed the most likely match on the screen. Next I will try to dedect previously trained objects.

   Although the method is intentionally simple, the results are surprisingly reliable when the objects are placed under similar lighting conditions and approximately the same orientation used during training.Advantages of This Method are: 
- Extremely Fast Development
- Fully Offline Operation
- Minimal Memory Requirements
- Beginner Friendly
- and Instant Training
  And finally ashort conclusion. This project demonstrates that practical object recognition does not always require complex machine learning frameworks. Using only the built-in camera, display, and processing power of the UNIHIKER K10, it is possible to create a simple, fast, and effective object recognition system that can be trained directly by the user. For hobbyists, makers, educators, and beginners, this approach offers an excellent introduction to machine vision while avoiding many of the complexities associated with modern AI development workflows. 
The result is a lightweight, fully offline, easy-to-understand object recognition system that can be implemented in a very short time and expanded for countless practical applications.