I was able to pick up an evaluation board to check out potential for education. Documentation here: https://www.unihiker.com/products/k10
Quick overview of the specs
| Processor | ESP32-S3 |
| Speed | |
| SRAM | 512kB |
| Flash | 16MB |
| Screen | 2.8 inche, 240 x 320 |
| Camera | 2MP |
Sensors:
– button x 2
– microphone x 2
– temperature
– humidity
– light
– accelerometer
Outputs:
– LCD screen
– accelerometer
Initial impressions were good, nicely and securely packed, with USB-C to USB-A cable. Nice big LCD screen, plenty of onboard sensors, SD card slot, lots of ports and curiously an edge-connector that matches those on a micro:bit.
Programming options:
– blocks (Mind+)
– C++ (Arduino)
– MicroPython
Out of the box the Unihiker has a clever demo program loaded that demonstrates features such as face recognition and voice commands, cycling through several modes using the A and B buttons on the side. I’m always reluctant to start writing new code over this as the demos preloaded are quite clever, but one needs to if one wants to do anything useful.
Some documentation is available but I initially struggled to get some code on to it, as the Mind+ environment can only be used on Windows as the app has not been updated for the Mac for a while.
I decided to try the Arduino path, being familiar with this. This involves adding a URL to settings to access the code repository, and adding the Unihiker board library (currently at version 0.0.3).
Having installed the board library, a number of code samples were added to the Arduino examples menu. However, I could not get these to compile with a few header errors. After some searching, I found another code example on another site which included extra headers for the LCD screen libraries, and found adding the following lines at the start of the examples allowed the examples to compile.
#include <TFT_eSPI.h>
#include <SPI.h>
Having done this, I was able to compile the examples and test some of them. Although not supplied in the examples, the demo program can be downloaded (from the instructions for the Mind+ environment) as a native .c file, which was easy to copy into an Arduino project then build. Writing the compiled code to the board seems to happen in a few cycles, presumably because there is a limit to the amount of code compiled/transferred at one time. Thus it is easy to restore the original demo program at any time.