Description
Controller Board
MKS-TinyBee V1.0
Help From Board Vendor
-
YesNoNot Applicable
Machine Description
Busy to setup a 4-axis hot-wire foam cnc
Configuration file
net yet
Startup Messages
'utf-8' codec can't decode byte 0xa0 in position 3: invalid start byte
User Interface Software
No response
What happened?
Hello,
Can’t connect to to fluidnc devices over usb
I have 2 devices
esp32 d1 r32
and
MKS-TinyBee V1.0
FluidNc firmaware: fluidnc-v3.4.7
Linux and Windows
For both devices I followed the same steps.
I have executed in the folder those command
fluidnc-v3.4.7-posix /
./erase.sh
./install-fs.sh
./install-wifi.sh
MKS-TinyBee V1.0:
I try to connect to this device using
bCNC (window and linux)
UGC (windows and linux)
I can’t connect
Get this error
‘utf-8’ codec can’t decode byte 0xa0 in position 3: invalid start byte
The software is opening the com port but is not connect to the firmware.
Picture: mks
With serial monitor in Arduino IDE, as well with fluidterm I can connect to the firmware
Esp32 d1 r32:
I try to connect to this device using
bCNC (window and linux)
UGC (windows and linux)
I have no problems to connect to the firmware
Picture: esp32_D1_R32
What I need to do….?
What is the different between those 2 devices….?
How to fix the problem on the MKS-TinyBee V1.0
Other Information
No response


Activity
bdring commented on Jun 15, 2022
Connect with Fluidterm on the non responsive device. Post the startup messages.
wollo-fpv commented on Jun 16, 2022
Hello,
Here the startup
— Available ports:
— 1: /dev/ttyS0 ‘n/a’
— 2: /dev/ttyUSB0 ‘USB Serial’
— Enter port index or full name: 2
— Fluidterm on /dev/ttyUSB0 115200,8,N,1 —
— Quit: Ctrl+] or Ctrl+Q | Upload: Ctrl+U | Reset: Ctrl+R —
Resetting MCU
eׁJ�
8�&ʶ��:���7C�aH�.���Š �]�R��%�EU�I��t’�ŢB▒A�_TMT�T�*M�_�ꊕj
��K�g�Zi bZA�W����k�V���A0)}d��x�b�}�r����0��A_������0,
�d�W���bw�E��i0��C���e’T� ��k”�v�L!��+�i��ff����ɕn��L´C!�d��Q0��°b╹:�&ʲC!�d��Q0°b╹:��ҍ��
�y��Q0꥓H�
[MSG:INFO: FluidNC v3.4.7]
[MSG:INFO: Compiled with ESP32 SDK:v4.4.1-1-gb8050b365e]
[MSG:INFO: Local filesystem type is SPIFFS]
[MSG:INFO: Configuration file:MKS_TinyBee_1_XYZAB.yaml]
[MSG:ERR: Configuration parse error on line 276: Keys must be followed by ‘:’]
[MSG:INFO: Using default configuration]
Strange,
my machine configuration have no 276 line !
I use the example configuration file for MKS_TinyBee
https://github.com/bdring/FluidNC/blob/main/example_configs/MKS_TinyBee_1_XYZAB.yaml
KR,
Wolf
bdring commented on Jun 16, 2022
You stated “Not Yet” for the config file? Why?
Send $LocalFS/Show=MKS_TinyBee_1_XYZAB.yaml to see the contents of that file.
It could have been corrupted.
wollo-fpv commented on Jun 16, 2022
Because it’s very new for me……
Never have worked with .yaml
wollo-fpv commented on Jun 16, 2022
I have uploaded the new config file
— Available ports:
— 1: /dev/ttyS0 ‘n/a’
— 2: /dev/ttyUSB1 ‘USB Serial’
— Enter port index or full name: 2
— Fluidterm on /dev/ttyUSB1 115200,8,N,1 —
— Quit: Ctrl+] or Ctrl+Q | Upload: Ctrl+U | Reset: Ctrl+R —
Resetting MCU
eׁ�]
8
&��00’&Ҫ7��HH��i0xLB��WŪ��MET�I��t:��b (��}�AS�e1AS�%=�T)C��nf�֥�: � ���]�:���5
c�5�Ec�v:���)}�rv’��0,�E��:0��0��.����:0�0�
}�rv’�A0,A}��v���0
[��:DɊ▒���k �Z��
늅�:0�&����0,���11�SH�녑:0�:��80�bb���12�LfH���d:��0�0��bb���b30��H����y ��0 �0�YSH�
[MSG:INFO: FluidNC v3.4.7]
[MSG:INFO: Compiled with ESP32 SDK:v4.4.1-1-gb8050b365e]
[MSG:INFO: Local filesystem type is SPIFFS]
[MSG:INFO: Configuration file:config.yaml]
[MSG:INFO: Machine K40 Laser]
[MSG:INFO: Board MKS TinyBee V1.0_001]
[MSG:INFO: I2SO BCK:gpio.25 WS:gpio.26 DATA:gpio.27]
[MSG:INFO: SPI SCK:gpio.18 MOSI:gpio.23 MISO:gpio.19]
[MSG:INFO: SD Card cs_pin:gpio.5 detect:NO_PIN]
[MSG:INFO: Stepping:I2S_static Pulse:4us Dsbl Delay:0us Dir Delay:1us Idle Delay:0ms]
[MSG:INFO: Axis count 3]
[MSG:INFO: Axis X (0.000,325.000)]
[MSG:INFO: Motor0]
[MSG:INFO: stepstick Step:I2SO.1 Dir:I2SO.2 Disable:I2SO.0]
[MSG:INFO: Neg Limit gpio.33]
[MSG:INFO: Axis Y (0.000,220.000)]
[MSG:INFO: Motor0]
[MSG:INFO: stepstick Step:I2SO.4 Dir:I2SO.5 Disable:I2SO.3]
[MSG:INFO: Neg Limit gpio.32]
[MSG:INFO: Axis Z (0.000,80.000)]
[MSG:INFO: Motor0]
[MSG:INFO: stepstick Step:I2SO.7 Dir:I2SO.8 Disable:I2SO.6]
[MSG:INFO: Neg Limit gpio.22]
[MSG:INFO: Macro 0 gpio.4:low:pu]
[MSG:INFO: Kinematic system: Cartesian]
[MSG:INFO: Laser Spindle Ena:I2SO.16 Out:gpio.13 Freq:5000Hz Res:13bits Laser mode:On]
[MSG:INFO: Using spindle Laser]
[MSG:INFO: Connecting to STA SSID:CNC_DEV]
[MSG:INFO: Connecting.]
[MSG:INFO: Connected – IP is 192.168.1.121]
[MSG:INFO: WiFi on]
[MSG:INFO: Start mDNS with hostname:http://fluidnc.local/%5D
[MSG:INFO: SSDP Started]
[MSG:INFO: HTTP started on port 80]
[MSG:INFO: Telnet started on port 23]
Grbl 3.4 [FluidNC v3.4.7 (wifi) ‘$’ for help]
Alle errors are gone…
!
But I cant connect with bCNC over USB
Still have the same error.
‘utf-8’ codec can’t decode byte 0xd5 in position 4: invalid continuation byte
Kr
Wolf
MitchBradley commented on Jun 16, 2022
I have a guess about what could be happening. I am going to explain this in more detail than is necessary to just fix your problem, just because I like to explain stuff
Normally when you start an ESP32, you see some messages like this
The messages before the first
[MSG:INFO: ...line are from the “bootloader” component of the core ESP32 software. When the[MSG:INFO: ...lines start, that shows that the FluidNC software is now in control.In your system, instead of the bootload messages, you are seeing garbage characters like
That usually means that the bootloader is sending its messages at a different baud rate. FluidNC uses 115200 baud. The bootloader is often configured to also use 115200 baud, but that is not always the case. I suspect that your bootloader is sending at a different baud, so when the receiving program (FluidTerm, bCNC, UGS, or whatever) sees those startup messages, it interprets the characters incorrectly. That would explain the message
utf-8 is a modern way to express international characters using the restricted set of 256 different character values that can be sent over a serial line. It expresses the English language alphabet with single characters according to the old “ASCII” standard, and for characters in other languages it uses sequences or two or more characters according to a very clever set of rules. The garbled (misinterpreted) character values from the bootload baud rate mismatch are triggering the utf-8 decoder software in bCNC. but the sequence does not follow the rules (it is not really utf-8, it is garbage that just happens to look like it might possibly be part of a utf-8 sequence).
So, what do we do about this? The solution will probably involve changing the bootloader baud rate. I will have to do some investigation to learn the best way to do so. I will report back.
bdring commented on Jun 16, 2022
You could try using standard serial terminal and try different baud rates. If you see the standard ESP32 boot text, that will confirm the problem.
Keep in mind that anything different from 115200 will garble the FluidNC response.
MitchBradley commented on Jun 16, 2022
You might even have to use the non-standard baud rate of 74880. There is some history going back to ESP8266 of the boot messages coming out at that rate. It has to do with a bad choice of crystal oscillator frequency that Espressif chose for ESP8266. You won’t find that baud rate in baud rate selection menus, but some terminal programs let you enter the rate manually. One example of a program that does is Tera Term Pro for Windows.
wollo-fpv commented on Jun 16, 2022
Hello,
@9600 baud:
⸮jB⸮⸮��}3G;;�&A�3⸮⸮⸮⸮⸮.L⸮⸮⸮⸮⸮⸮⸮⸮�⸮N⸮⸮��⸮sb�⸮
19:27:54.373 -> |��⸮|⸮r⸮NN⸮⸮1&)⸮,�⸮⸮b⸮⸮⸮�)$F�)g�(mN⸮)⸮
@19200 baud;
⸮jB⸮⸮��}3G;;�&A�3⸮⸮⸮⸮⸮.L⸮⸮⸮⸮⸮⸮⸮⸮�⸮N⸮⸮��⸮sb�⸮
19:27:54.373 -> |��⸮|⸮r⸮NN⸮⸮1&)⸮,�⸮⸮b⸮⸮⸮�)$F�)g�(mN⸮)⸮
@38400
W⸮�;⸮⸮G��q⸮/sW⸮⸮⸮w⸮W⸮⸮⸮⸮82⸮⸮đs⸮�⸮⸮W⸮�Uu:sW⸮�E⸮⸮ȳ⸮(⸮u⸮�⸮⸮⸮:x⸮⸮⸮�!⸮p⸮⸮j⸮⸮⸮⸮#⸮⸮v#]⸮�⸮���⸮�⸮⸮�⸮w�5⸮⸮⸮6QQ�⸮⸮⸮ɀ�U⸮�⸮0�ҁA⸮�⸮⸮�⸮⸮�*⸮0
⸮\⸮N⸮⸮}⸮⸮⸮؊⸮A⸮⸮��A �⸮���⸮⸮⸮⸮C⸮⸮⸮
⸮W⸮q;j⸮⸮⸮W⸮�2⸮⸮⸮@⸮y\ep⸮q⸮W⸮1⸮⸮⸮ސ⸮��S⸮u⸮�r⸮⸮d⸮⸮g+⸮u51חwP}sW⸮��⸮(s⸮D⸮ssW⸮�WAW⸮9��⸮⸮�\⸮u7⸮”1eA?⸮1QW⸮1sW⸮�r�⸮r⸮Gp{IGssW⸮�⸮ݕ��3⸮⸮!::ye⸮(⸮⸮ ;⸮yg⸮Wy⸮1⸮p;�⸮ws⸮�⸮�⸮b⸮⸮W⸮�к]w⸮s
@⸮r⸮⸮1⸮⸮P9⸮��⸮us⸮@⸮�⸮⸮sW݆�⸮⸮⸮⸮⸮⸮0sW⸮�ܝ]w⸮s@57600
W⸮�;⸮⸮G��q⸮/sW⸮⸮⸮w⸮W⸮⸮⸮⸮82⸮⸮đs⸮�⸮⸮W⸮�Uu:sW⸮�E⸮⸮ȳ⸮(⸮u⸮�⸮⸮⸮:x⸮⸮⸮�!⸮p⸮⸮j⸮⸮⸮⸮#⸮⸮v#]⸮�⸮���⸮�⸮⸮�⸮w�5⸮⸮⸮6QQ�⸮⸮⸮ɀ�U⸮�⸮0�ҁA⸮�⸮⸮�⸮⸮�*⸮0
⸮\⸮N⸮⸮}⸮⸮⸮؊⸮A⸮⸮��A �⸮���⸮⸮⸮⸮C⸮⸮⸮
⸮W⸮q;j⸮⸮⸮W⸮�2⸮⸮⸮@⸮y\ep⸮q⸮W⸮1⸮⸮⸮ސ⸮��S⸮u⸮�r⸮⸮d⸮⸮g+⸮u51חwP}sW⸮��⸮(s⸮D⸮ssW⸮�WAW⸮9��⸮⸮�\⸮u7⸮”1eA?⸮1QW⸮1sW⸮�r�⸮r⸮Gp{IGssW⸮�⸮ݕ��3⸮⸮!::ye⸮(⸮⸮ ;⸮yg⸮Wy⸮1⸮p;�⸮ws⸮�⸮�⸮b⸮⸮W⸮�к]w⸮s
@⸮r⸮⸮1⸮⸮P9⸮��⸮us⸮@⸮�⸮⸮sW݆�⸮⸮⸮⸮⸮⸮0sW⸮�ܝ]w⸮s@74880 baud:
⸮�
HHHHJ)Ȍ⸮!⸮⸮⸮⸮
@115200 baud:
et⸮⸮R⸮n⸮⸮�2⸮L�⸮⸮Ҳ&gӓH⸮
19:31:35.253 -> r⸮�⸮x⸮B⸮=]ER=⸮}RE⸮�U⸮I⸮⸮t⸮⸮Eb⸮i�U}F⸮⸮%1⸮S%⸮%⸮==⸮)⸮⸮⸮nV⸮⸮i⸮b�S⸮R�⸮⸮�⸮
⸮,k⸮E⸮⸮:0⸮⸮)⸮d.W⸮x⸮b⸮}⸮r⸮’⸮⸮⸮⸮i⸮0⸮V⸮:⸮⸮0,�}⸮r⸮⸮⸮⸮0,⸮}⸮r⸮’⸮⸮0
⸮[⸮⸮⸮D⸮⸮�⸮⸮⸮c-“⸮v⸮j
19:31:35.253 -> ⸮+⸮:⸮⸮ff⸮⸮⸮0⸮⸮⸮:LL⸮
!⸮+⸮i0⸮�⸮7⸮⸮⸮,+⸮i1&⸮ҍ!⸮+⸮i0Ѱ�4⸮b╹:⸮⸮⸮⸮Y⸮⸮⸮A0Ѱ�5⸮⸮H⸮
19:31:35.717 -> [MSG:INFO: FluidNC v3.4.7]
19:31:35.717 -> [MSG:INFO: Compiled with ESP32 SDK:v4.4.1-1-gb8050b365e]
19:31:35.750 -> [MSG:INFO: Local filesystem type is SPIFFS]
19:31:35.750 -> [MSG:INFO: Configuration file:config.yaml]
19:31:35.750 -> [MSG:INFO: Machine K40 Laser]
19:31:35.750 -> [MSG:INFO: Board MKS TinyBee V1.0_001]
19:31:35.783 -> [MSG:INFO: I2SO BCK:gpio.25 WS:gpio.26 DATA:gpio.27]
19:31:35.783 -> [MSG:INFO: SPI SCK:gpio.18 MOSI:gpio.23 MISO:gpio.19]
19:31:35.783 -> [MSG:INFO: SD Card cs_pin:gpio.5 detect:NO_PIN]
19:31:35.783 -> [MSG:INFO: Stepping:I2S_static Pulse:4us Dsbl Delay:0us Dir Delay:1us Idle Delay:0ms]
19:31:35.783 -> [MSG:INFO: Axis count 3]
19:31:35.783 -> [MSG:INFO: Axis X (0.000,325.000)]
19:31:35.783 -> [MSG:INFO: Motor0]
19:31:35.783 -> [MSG:INFO: stepstick Step:I2SO.1 Dir:I2SO.2 Disable:I2SO.0]
19:31:35.816 -> [MSG:INFO: Neg Limit gpio.33]
19:31:35.816 -> [MSG:INFO: Axis Y (0.000,220.000)]
19:31:35.816 -> [MSG:INFO: Motor0]
19:31:35.816 -> [MSG:INFO: stepstick Step:I2SO.4 Dir:I2SO.5 Disable:I2SO.3]
19:31:35.816 -> [MSG:INFO: Neg Limit gpio.32]
19:31:35.816 -> [MSG:INFO: Axis Z (0.000,80.000)]
19:31:35.816 -> [MSG:INFO: Motor0]
19:31:35.816 -> [MSG:INFO: stepstick Step:I2SO.7 Dir:I2SO.8 Disable:I2SO.6]
19:31:35.816 -> [MSG:INFO: Neg Limit gpio.22]
19:31:35.816 -> [MSG:INFO: Macro 0 gpio.4:low:pu]
19:31:35.850 -> [MSG:INFO: Kinematic system: Cartesian]
19:31:35.850 -> [MSG:INFO: Laser Spindle Ena:I2SO.16 Out:gpio.13 Freq:5000Hz Res:13bits Laser mode:On]
19:31:35.850 -> [MSG:INFO: Using spindle Laser]
19:31:35.949 -> [MSG:INFO: Connecting to STA SSID:CNC_DEV]
19:31:35.949 -> [MSG:INFO: Connecting.]
19:31:37.936 -> [MSG:INFO: Connected – IP is 192.168.1.121]
19:31:37.936 -> [MSG:INFO: WiFi on]
19:31:37.969 -> [MSG:INFO: Start mDNS with hostname:http://fluidnc.local/%5D
19:31:37.969 -> [MSG:INFO: SSDP Started]
19:31:37.969 -> [MSG:INFO: HTTP started on port 80]
19:31:37.969 -> [MSG:INFO: Telnet started on port 23]
19:31:37.969 ->
19:31:37.969 -> Grbl 3.4 [FluidNC v3.4.7 (wifi) ‘$’ for help]
@230400 baud:
19:32:18.887 -> &�>���⸮f~⸮�����x
MitchBradley commented on Jun 16, 2022
The ESP32 uploader defaults to 460800 baud. Maybe you could try that too.
I am asking for help on the MKS discord.
wollo-fpv commented on Jun 16, 2022
I will , and want to try all…
But how and where I need to change the baud rates?
And next to that, how to re-flash the bootloader …
With the arduino uno and mega I knwo how to it.
But on esp32 is new for me.
Kr,
Wolf
MitchBradley commented on Jun 16, 2022
I am searching for a solution. The earliest
etsmessages may come from a component so deep inside the chip that it cannot be reflashed. We have never encountered this problem before on an ESP32 (it was common on ESP8266), so we do not know the answer yet.MitchBradley commented on Jun 16, 2022
Please keep in mind that we do not have a Tinybee and we have no relationship with the company that sells it. It uses a version of the ESP32 module that we do not use in any of the hardware we have developed.
wollo-fpv commented on Jun 16, 2022
Yes,
I know,
I’m already very happy that you want to help me… !
MitchBradley commented on Jun 16, 2022
Also please note that the problem you are facing is not directly caused by FluidNC, but rather is an interaction between third party hardware, Espressif firmware outside of FluidNC, and third party senders. None of those are under our control. We are trying to help, but we may be limited in what we can do, since the problems are in system components that we do not “own”.
15 remaining items
Skorpi08 commented on Jun 16, 2022
MKS DLC32v2.1 001
ets Jun 8 2016 00:22:57
rst:0x1 (POWERON_RESET),boot:0x1f (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:1044
load:0x40078000,len:10124
load:0x40080400,len:5856
entry 0x400806a8
[MSG:INFO: FluidNC v3.0.x (noGit)]
[MSG:INFO: Compiled with ESP32 SDK:v3.3.5-1-g85c43024c]
[MSG:INFO: Configuration file:config.yaml]
[MSG:INFO: Machine K40 Laser]
[MSG:INFO: Board MKS-DLC32 V2.1]
DirtyEngineer commented on Jun 16, 2022
Can confirm a 10k resistor between the module GPIO15 and GND does bypass the bootloader.
I do have a scope and can possibly get a capture of the output of the TX line later tonight.
MitchBradley commented on Jun 16, 2022
When you take the scope traces, get a delta-T measurement of the shortest pulse that you see. Rising edge to falling edge.
Skorpi08 commented on Jun 16, 2022
it was power over USB
This is with 12V powersupply:
ets Jun 8 2016 00:22:57
rst:0x1 (POWERON_RESET),boot:0x1b (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:1044
load:0x40078000,len:10124
load:0x40080400,len:5856
entry 0x400806a8
[MSG:INFO: FluidNC v3.0.x (noGit)]
[MSG:INFO: Compiled with ESP32 SDK:v3.3.5-1-g85c43024c]
DirtyEngineer commented on Jun 16, 2022
Can also confirm that a 10k between the EXP1 pin and ground does not work but on the first reset I had a near perfect bootloader read out. I have not been able to replicate it. Very odd. It is a timing issue as parts/characters of the bootloader message are occasionally discernable.
Skorpi08 commented on Jun 16, 2022
MKS DLC32 can only powered with 12/24V
MitchBradley commented on Jun 16, 2022
Let’s hold off on the reports about MKS DLC32 for now, as the problem seems to be specific to MKS Tinybee.
MitchBradley commented on Jun 16, 2022
Even if the problem appears to have gone away, I would still like to see a scope trace if you can get one. It will let me evaluate the bit timing and the data format. Maybe the stop bit is too short or something like that.
DirtyEngineer commented on Jun 16, 2022
No I was not clear. The garbled bootloader text issue persists. I had one reboot where it was clear but haven’t been able to replicate a clean boot since. Let me work on getting the timing capture.
9600 commented on Jun 16, 2022
Hello, you called?
wollo-fpv commented on Jun 16, 2022
Hello,
the usb-cable I use is 30cm long. (I have tested with different cables and usb-ports)
Sorry, no I don’t have a oscilloscope.
MitchBradley commented on Jun 22, 2022
@DirtyEngineer I would still be interested in a scope trace of the bad messages. I do not need the whole thing, just a few characters worth.
MitchBradley commented on Jun 23, 2022
There has been no new information over the past few days.
My attempt to reach out to the MKS developers on Discord failed. The only response I got was from another user who offered some unhelpful (incorrect) guesses.
It is clear to me that this problem is not related to FluidNC itself – there is nothing that we can change in FluidNC that will change the ESP32 ROM startup message corruption.
That leaves some possibilities:
Since there is nothing more that we can do from the FluidNC side, I am closing this issue. Personally, I would still be interested in understanding exactly why it is happening, but even with that information, it is unlikely that we would be able to fix it with changes to FluidNC.
closed this as completedon Jun 23, 2022
mentioned this on Jul 15