Unihiker K10 and Micropython Problems

Just wondering if Micropython for the K10 is stable and viable.
The following is the error message dump after trying to run some simple test code example form the Unihiker MicroPython examples
PROBLEM IN THONNY'S BACK-END: Internal error (serial.serialutil.SerialTimeoutException: Write timeout).
See Thonny's backend.log for more info.
You may need to press "Stop/Restart" or hard-reset your MicroPython device and try again.
Process ended with exit code 0.Could not interrupt current process.
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Device is busy or does not respond. Your options:
- wait until it completes current work;
- use Ctrl+C to interrupt current work;
- reset the device and try again;
- check connection properties;
- make sure the device has suitable MicroPython / CircuitPython / firmware;
- make sure the device is not in bootloader mode.
The K10 modules does not respond to any command. The only way to recover is to to do a firmware update.
I'm just wondering of this version of MicroPython is actually ready for usage or simply a test compile.
There are currently two tiny problems with actual DFRobot firmware. I am not sure if they are “linked”. The main problem is that there is a bug with RAW REPL, standard tools like shell, serial or mpremote don't work as expected. The issue is reported already. The second issue is with Thonny IDE (maybe comes from first). If you have a loop (like while) or import screen the stop button forces a Soft-Reboot only and REPL can be reached only via keyboard combination (ctrl + c). The keyboard combination must be executed different times and sometimes it forces Soft-Reboots or Thonny disconnection.

Can you try checking the MicroPython COM port representing the K10 multiple times in the lower right corner of the Thonny, or try plugging and unplugging the USB-C cable to re-establish the connection between the PC and the K10?
We have now localized the issue and will address it in the next version of the MicroPython firmware.

I have tried this method many times. Connection stability varies and it is unreliable.
If I do manage to connect and the REPL is available, I can write and upload MicroPython Code, even the example provided.
But when the code is run, the connection is lost and I am unable to reconnect.
As a test, I have loaded the following firmware version;
ESP32_GENERIC_S3-SPIRAM_OCT-20250415-v1.25.0.bin
from;
https://micropython.org/download/ESP32_GENERIC_S3/
The board connects as a “Board CDC @ COM5”, I can write some basic test code and even when the test code is incorrectly written, the K10 board does NOT lock up or fault. The REPL Shell is stable and fully accessible.
I hope that this helps you.
I have performed a basic test using the following with no errors;
def SieveOfEratosthenes(num):
prime = [True for i in range(num+1)]
# boolean array
p = 2
while (p * p <= num):
# If prime[p] is not
# changed, then it is a prime
if (prime[p] == True):
# Updating all multiples of p
for i in range(p * p, num+1, p):
prime[i] = False
p += 1
# Print all prime numbers
for p in range(2, num+1):
if prime[p]:
print(p)
# Driver code
if __name__ == '__main__':
num = 30
print("Following are the prime numbers smaller"),
print("than or equal to", num)
SieveOfEratosthenes(num)
Same problem here. By pressing reset and immediately after clicking "Stop" I am able to (every 50 times or so) flash code to the board. But I don't think this is normal behaviour either.

Thanks for the confirmation.
I purchased the K10 as it seemed like a reasonable ESP32 based device with a display, and MicroPython compatible.
Unfortunately, I've has to abandon its usage for the moment.
REPL Response after reflash…
LVGL MicroPython 1.23.0 on 2024-11-22; Generic ESP32S3 module with Octal-SPIRAM with ESP32S3
Type "help()" for more information.
