makerbase-mks / MKS-Robin-Nano-V3.X

Robin nano V3 is an upgraded version of Robin Nano V2.0. The upgrade changes are quite large, including upgrading the MCU to the M4 core, and adding support for USB disk.
GNU General Public License v3.0
141 stars 69 forks source link

STM32F103 / STM32F407 boards BOOT0 pin should have jumper to VDD 3v3 #63

Open ag88 opened 3 years ago

ag88 commented 3 years ago

STM32F103 / STM32F407 boards BOOT0 pin should have jumper (or button) to VDD 3v3, and the pin should be resistor to GND. can use like 1k, 4.7k etc. or can jumper both sides 3V3, BOOT0, GND, so normal use jumper BOOT0, GND, program jumper 3V3, BOOT0

Your boards are quite good, but for many of your boards e.g. Robin Nano V3 https://github.com/makerbase-mks/MKS-Robin-Nano-V3.X/blob/main/hardware/MKS%20Robin%20Nano%20V3.0_004/MKS%20Robin%20Nano%20V3.0_004%20SCH.pdf Robin Nano V1.x https://github.com/makerbase-mks/MKS-Robin-Nano-V1.X Robin E3D https://github.com/makerbase-mks/MKS-Robin-E3-E3D/blob/master/hardware/MKS%20Robin%20E3%20V1.1_004/MKS%20Robin%20E3%20V1.1_004%20SCH.pdf https://github.com/makerbase-mks/MKS-Robin-Nano-V1.X/blob/master/hardware/MKS%20Robin%20Nano%20V1.3_002/MKS%20Robin%20Nano%20V1.3_002%20SCH.pdf

BOOT0 is tie to GND, this is not good. BOOT0 allows the use of UART to upload firmware on PA9 TX, PA10 RX for STM32F103. And for STM32F407 BOOT0 allows direct USB DFU firmware upload (no need extra boot loader or st-link). The procedure is set BOOT0, press reset, upload firmware.

So for STM32F103 (for STM32F407 as well) uart1 pins PA9, PA10 should be made available on headers. I think this is already ok.

mks-viva commented 3 years ago

Thank you very much for your suggestion and support for MKS. In fact, we did the same. MKS Eagle and MKS Monster8 have added BOOT0 button settings. image image

ag88 commented 3 years ago

Thanks, I've an 'old' Atmega based MKS board. I'd be buying MKS's STM32 boards, as I'm a fan of STM32. But actually the most important thing to fix for other MKS STM32 boards is this STM32F103 / STM32F407 boards should use on-chip USB support this apparently affect E3 / E3D and v1.x boards https://github.com/makerbase-mks/MKS-Robin-Nano-V1.X/issues/117 https://github.com/makerbase-mks/MKS-Robin-E3-E3D/issues/139

Nano V3 do not have the problem, V3 use direct USB which is good. MKS should update designs for STM32 to use these practices as these has been a 'best practices' for STM32 boards