Exception while discovering devices on macOS


Hi! I have a very strange issue.
I have just downloaded the latest version of Zerynth Studio on my MacBook running macOS 10.13.2 and I am trying to connect an STM32 Nucleo board. I have upgraded the board to the latest version as suggested by the guide, but when I type ztc device discover in the terminal, it says:

[warning]> Exception while discovering devices: 'utf-8' codec can't decode byte 0xa8 in position 606: invalid start byte

and the device is not recognised. Indeed, it shows “Target: Nothing selected” on the app and literally nothing on the dropdown menu. What should I do?

Thank you!


Hi @Fedrive ,
Although you may have a very simple solution to your particular problem, I, after having similar compatibility problems with OSx have installed VMware Fusion and running Win7 on this virtual machine, now I have OSx and Win7 running simultaneously, I am running Zerynth Studio and others on Win7 with file sharing possibility as well, excellent life saving solution that I recommend to Mac users. I love macOS with Fusion!
Regards, Murat


Thanks for your suggestion!

I honestly don’t know why since I didn’t do anything, but now it’s working fine! The board is connected and virtualized.
But… I have another problem. The uplinking of a simple project (like the blinking of a led) goes on an endless loop. It keeps saying “Uplinking” for minutes, and I have seen projects more complicated taking less time.

Maybe is it an issue of the board itself?


Hi Fedrive,

Unfortunately, this is a known bug and we still working on it.
Here you can find more info about this issue.

Please let me know if your device is seen as NUCLEO or NODE_F401RE.
Soon I could provide you some other test to do to better understand.

Keep me posted :slight_smile:


Dear @Fedrive probably we’re using the same Nucleo F401RE board and having the same problems, therefore I’ll repeat my Fusion + Windows solution on macOS if you insist on using a Mac. Regards.


Hi guys,

I have a good news for you that will enable you to uplink Zerynth project even in Nucleo F401RE with your MacOS issue.

You have to change a ZTC file (this will be fixed in our next patch that will be available very very soon) - line 434 under “your_home/.zerynth2/dist/r2.1.0/ztc/uplinker/uplinker.py”:

gapzone = _romstart-_vmstart-vmsize
Then you need your VMUID; open a terminal and tap following ZTC command:
ztc info --vms st_nucleof401re

You should obtain an output like that:
target           chipid     uid     rtos       features    path

st_nucleof401re DEVCHIPID VMUID freertos9 [] path_to_your_vm

Now you have to compile your project and build the binary file (Zerynth VM + Python script) that can be copied and pasted into the ST Nucleo mass storage (like any other file for example in a USB pen drive).
So in your terminal, you can navigate to your project folder and tap following commands:

ztc compile . st_nucleof401re -o ./main.vbo
ztc link VMUID ./main.vbo --include_vm --file ./main.bin

After this 2 commands, you should find in your project folder a main.bin file that you can copy and paste inside the Nucleo mass storage (drag and drop the file); the device will start to blink red and green, mass storage will shut down and turn on automatically, and your script will run.

NOTE1: serial port must be closed during this procedure.
NOTE2: after r2.1.0-p01 releasing, there will be no need to modify the ZTC source file (it will be fixed in the patch).

Let me know if this can help and if it works for you :slight_smile:


Dear @“Matteo Cipriani” recently I don’t have any problem and busy with other things but perhaps Fedrive makes a try. Kind regards, Murat.


Hi @“Matteo Cipriani”! Sorry for the late reply.
Anyway, I can confirm that your method works! The script is uplinked and running well. Thank you so much.
Now I will patiently wait for the new Zerynth update while working on my project with your method.

Thanks again!