Back to School with STEM-Limited-Time Event(Aug 6-Sep 5)

user-img

Mirko Pavleski

  • 59 Projects
  • 22 Followers
  • Aug 22,2025
+ Follow

Light Meter Project - Making Dfrobot Unihiker K10 Work with

The successful integration of TFT_eSPI and Adafruit sensor libraries proves this AI-focused board has untapped potential for traditional microcontroller applications.

Light Meter Project - Making Dfrobot Unihiker K10 Work with
 
  • thumbnail-img
 

Hardware Components

  • UNIHIKER K10 developement board

    X 1 fenxiang

Tools, APP Software Used etc.

  • Arduino IDE

    Arduino IDE

    Arduino

Story

 The other day I received a shipment with a UNIHIKER K10 development board from DFRobot, which I received as a prize. The device is excellently packaged in a branded box, protected from damage during transportation. 

I immediately asked for information because I have no experience with this development board so far. In fact, the device is based on an ESP32-S3 Xtensa LX7 microcontroller and an ILI9341 TFT display with a resolution of 320x240 pixels. The display is protected by a metal frame and right above it are a light sensor, a temperature and humidity sensor, as well as two microphones for noise reduction. There are two buttons on the side and an edge connector at the bottom for connecting additional modules and sensors. On the back there is a camera, three I/O connectors, a micro SD slot, a speaker, three RGB LEDs, an accelerometer, and a battery interface.

I immediately asked for information because I have no experience with this development board so far. In fact, the device is based on an ESP32-S3 Xtensa LX7 microcontroller and an ILI9341 TFT display with a resolution of 320x240 pixels. The display is protected by a metal frame and right above it are a light sensor, a temperature and humidity sensor, as well as two microphones for noise reduction. There are two buttons on the side and an edge connector at the bottom for connecting additional modules and sensors. On the back there is a camera, three I/O connectors, a micro SD slot, a speaker, three RGB LEDs, an accelerometer, and a battery interface.

First I made a 3D printed case according to the .stl file provided on the manufacturer's website. The case fits perfectly on the back of the PCB and protects the sensitive components. There are openings for the camera, I/O connectors, USB port, and the buttons are functional.

After successful boot-up, K10 runs the factory built-in programs: Face Detection, voice recognition, Sensor mode and "View Tutorial" mode, which generates the QR code and through your cell phone to view the tutorial of K10. By pressing the B button we move through the menu.

Detailed video instructions at:  https://youtu.be/7ojgzz87oz8

 As for software, the supported environments are MindPlus, Arduino IDE, and MicroPython. Basically, the K10 is designed as a device for Exploring: AI (artificial intelligence), IoT, and Python Coding. Even all the support from internet groups and communities relates to these areas. My previous experience has only been with Arduino IDE so I was pleasantly surprised to read that this board supports it. However, I quickly learned that Arduino IDE support is limited to a single library "unihiker_k10.h".

I even contacted the manufacturer regarding support for other standard Arduino libraries, but the answer was that the SDK for Arduino IDE is under development, and is currently recommended to be used only in conjunction with MindPlus.

  So I decided to do some research myself and try to install some kind of program using standard libraries. Actually, it's about an ESP32 MCU and an ILI9341 driver based TFT Display, so it seemed logical to me to start with a project that would use some known library, so I chose Bodmer's TFT_eSPI.

   First, I downloaded and carefully studied the Unihiker K10 schematic and the way to connect the microcontroller to the Display. 

Based on the data from the schematic, I modified User_Setup.h to match the specific connection. Next, I installed support in Arduino IDE for this development board as follows:

  We go to File-> Preferences-> Additional boards manager, and enter the given link:

https://downloadcd.dfrobot.com.cn/UNIHIKER/package_unihiker_index.json

Then in Tools-> Boards Manager we write Unihiker, and we install the support for Unihiker from DFRobot.

Now we go to Tools -> Unihiker -> Unihiker K10.

With this, the support for this development board in Arduino IDE is installed.

  Now comes the interesting part, which is testing. Of course, to start with, I tried installing one of the examples included in this library, specifically an analog meter. The example installed successfully without errors, but unfortunately after rebooting the display remained black. I went back to the schematic again and discovered that the backlight of the display is controlled by a transistor whose base is connected to a special pin, on the I/O Expansion chip and not directly to the microcontroller, which theoretically means that there is no chance to programmatically turn on the backlight of the display. 

I could probably do it in hardware by directly connecting the ground of the LED pin, but that would be difficult to do and there was also a chance of damaging the board. I came to the solution by accident, and in the following way: 

   First, the Factory firmware is installed on the board according to the instructions provided on the site . Then, without disconnecting the board from the USB, the indicated example from the TFT-ESPI library is installed and after uploading a beautiful Analog meter appears on the screen.

 I assume that the same procedure works on other display libraries such as Adafruit ILI9341.

After this, it was logical to try to activate some sensor from the board, and its values would be displayed on the Analog meter. I decided on the LTR303 light sensor located just above the display.

In this case, I use the Adafruit library designed for this type of sensor. I took most of the program from the example in the library and it concerns drawing and moving the needle of the analog meter. The other part uses the Adafruit library to read the values ​​received by the sensor. To my surprise, this library also functions quite normally on the K10 development board.

The device is very practical and displays several parameters. The main part is the analog meter and it displays the relative light intensity received by the sensor on a scale from 0 to 100. 

This value is numerically displayed on the lower left part of the instrument. Below the instrument are two important values: the raw value provided by the sensor and the range in which the instrument is currently operating. The value of the light intensity can be easily expressed in Lux units using a simple formula provided by the sensor manufacturer. 

The real raw values for the intensity of light from complete darkness to direct sunlight range from 0 to several tens of thousands, so if the entire range was displayed on this scale, the resolution would be extremely low. Therefore, for greater precision and flexibility of the device, I introduced auto-range min-max values, which are based on the light intensity at the moment the device is turned on. If the intensity at a certain moment exceeds the limits of the set range, it will automatically change. Let's see how it looks in reality.

   UPDATE: 

 In the meantime I found a solution to the problem with the backlight on the display. I also included the library "unihiker_k10.h" and initialized the backlight in the setup.  So now the program just needs to be installed on the board, regardless of which program was previously installed. Also now after turning off the board from the power supply and turning it back on, the program is activated along with the backlight turned on.

 And finally a short conclusion. This project demonstrates that despite limited official Arduino support, the Unihiker K10's ESP32-S3 foundation allows determined makers to leverage standard Arduino libraries for creative projects. The successful integration of TFT_eSPI and Adafruit sensor libraries proves this AI-focused board has untapped potential for traditional microcontroller applications.

 

Code
Schematic and Layout
  • schematic

    UNIHIKERk10Sch_155713484168a836f3a6c99.zip
    Download(0)
CAD-Custom parts and enclosures
  • STL file

    K10CASE-V0.4-20241107_202922223168a837066cf23.stl
    Download(1)

Light Meter Project - Making Dfrobot Unihiker K10 Work with

The successful integration of TFT_eSPI and Adafruit sensor libraries proves this AI-focused board has untapped potential for traditional microcontroller applications.

45
 
2
0
0

Share your project on social media to expand its influence! Get more people to support it.

  • Comments( 0 )
  • Like( 2 )
/1000
Upload a photo:
You can only upload 1 files in total. Each file cannot exceed 2MB. Supports JPG, JPEG, GIF, PNG, BMP

You May Also Like

View All
Add to cart
Board Type : GerberFile :
Layer : Dimensions :
PCB Qty :
Different PCB Design
PCB Thickness : PCB Color :
Surface Finish : Castellated Hole :
Copper Weight : 1 oz Production Time :
Total: US $
As a sharing platform, our community will not bear responsibility for any issues with this design and parameters.

PCB Assembly

PCBA Qty: BomFile:
NO. OF UNIQUE PARTS: NO. of Components:
Country: Shipping Way:
Assembly Cost: US $
As a sharing platform, our community will not bear responsibility for any issues with this design and parameters.
Add to cart
3dPrintingFile : Size :
Unit : Volumn :
3D Printing Qty : Material :
Total: US $12.99
As a sharing platform, our community will not bear responsibility for any issues with this design and parameters.
Add to cart
Acrylic Type : AcrylicFile :
Dimensions: Engrave:
Acrylic Qty :
Acrylic Thickness:
Acrylic Color:
Total: US $12.99
As a sharing platform, our community will not bear responsibility for any issues with this design and parameters.
Add to cart
CNC Milling File : Size:
Unit: Volumn:
CNC Milling Qty : Material:
Type of Aluminum: Surface Finish:
Tolerance:
Surface Roughness:
Total: US $12.99
As a sharing platform, our community will not bear responsibility for any issues with this design and parameters.
Add to cart
Item Price Qty Subtotal Delete
Total: US $0.00
Certified Product | Supported Purchase: Full After-sales Protection