Example Code for UNIHIKER K10&M10 - Retrieve DHT11 temperature&humidity sensor data
Last revision 2026/02/03
Example code for retrieving sensor data with UNIHIKER.
Hardware Preparation
If Using UNIHIKER K10
- UNIHIKER K10 * 1
- Multi Function Expansion Board for UNIHIKER * 1 (Both “For the UNIHIKER K10-Only” and “For the UNIHIKER K10 & M10” are supported, but “For the UNIHIKER K10 & M10” is recommended, as it allows for easier program uploading and debugging even when using only the K10)
If Using UNIHIKER M10
- UNIHIKER M10 * 1
- Multi Function Expansion Board for UNIHIKER * 1 (Only the “For the UNIHIKER K10 & M10” option is supported)
Note: The multi-functional expansion board requires separate power supply when IN use. It can be powered by installing an 18650 battery or from the USB IN of the expansion board, and the PWR power supply switch needs to be turned on.
Extra hardware
Gravity DHT11 Temature&Humidity Sensor * 1
Gravity DHT22 Temature&Humidity Sensor * 1
Software Preparation
If Using Mind+
- Mind+ Download
- Mind+ User Extension: https://github.com/YeezB/ext-UnihikerExpansion
If Using Arduino IDE
- Arduino IDE Download
- Arduino library: https://github.com/dfrobot/DFRobot_UnihikerExpansion
Hardware Connection

Use UNIHIKER K10 & Mind+

Use UNIHIKER K10 & Arduino IDE
#include "DFRobot_UnihikerExpansion.h"
#include "unihiker_k10.h"
UNIHIKER_K10 k10;
uint8_t screen_dir=2;
DFRobot_UnihikerExpansion_I2C eunihiker(&Wire);
void setup()
{
k10.begin();
Serial.begin(115200);
while(!eunihiker.begin()){
Serial.println("NO Deivces !");
delay(1000);
}
eunihiker.setMode(eC0, eDHT11);
eunihiker.setMode(eC1, eDHT22);
k10.initScreen(screen_dir);
k10.creatCanvas();
}
void loop()
{
sDhtData_t dhtData;
dhtData = eunihiker.getDHTValue(eC0);
k10.canvas->canvasText((String((String("DHT11 Tem: ") + String((dhtData.temperature)))) + String("℃")), 1, 0x0000FF);
k10.canvas->canvasText((String((String("DHT11 Hum: ") + String((dhtData.humidity)))) + String("%")), 2, 0x0000FF);
dhtData = eunihiker.getDHTValue(eC1);
k10.canvas->canvasText((String((String("DHT22 Tem: ") + String((dhtData.temperature)))) + String("℃")), 3, 0x0000FF);
k10.canvas->canvasText((String((String("DHT22 Hum: ") + String((dhtData.humidity)))) + String("%")), 4, 0x0000FF);
k10.canvas->updateCanvas();
delay(1000);
}
UNIHIKER K10 Result

Use UNIHIKER M10 & Mind+

Use UNIHIKER M10 & Python
import sys
sys.path.append("/root/mindplus/.lib/thirdExtension/drobot_yeezb-unihikerioexpansion-thirdex")
import time
from unihiker import GUI
from pinpong.board import Board
from dfrobot_unihiker_expansion import UnihikerExpansion, IONum, IOType
u_gui=GUI()
Board("").begin()
eunihiker = UnihikerExpansion()
eunihiker.set_mode(IONum.C0, IOType.DHT11)
eunihiker.set_mode(IONum.C1, IOType.DHT22)
while True:
T11=u_gui.draw_text(text=(str((str("DHT11 Tem:") + str(eunihiker.get_dht_value(IONum.C0).temperature))) + str("℃")),x=0,y=0,font_size=18, color="#0000FF")
H11=u_gui.draw_text(text=(str((str("DHT11 Hum:") + str(eunihiker.get_dht_value(IONum.C0).humidity))) + str("%")),x=0,y=25,font_size=18, color="#0000FF")
T22=u_gui.draw_text(text=(str((str("DHT22 Tem:") + str(eunihiker.get_dht_value(IONum.C1).temperature))) + str("℃")),x=0,y=50,font_size=18, color="#0000FF")
H22=u_gui.draw_text(text=(str((str("DHT22 Hum:") + str(eunihiker.get_dht_value(IONum.C1).humidity))) + str("%")),x=0,y=75,font_size=18, color="#0000FF")
time.sleep(1)
u_gui.clear()
UNIHIKER M10 Result

Was this article helpful?
