Open ag88 opened 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.
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
use direct USB to STM32 chip (PA11 USB D-, PA12 USB D+) instead of using a separate USB-uart chip for STM32F103 and STM32F407 as above (need to update 'old' boards, to 'new' designs so that it is USB to STM32 direct, e.g. Nano V1 and E3 / E3D)
provide BOOT0 pin support on header as that is needed for uploading firmware. For STM32F407, that one has on chip USB DFU (device firmware update) . STM32F103 needs an extra usb uart dongle to program. The extra usb uart don't need to be on board, but the pins PA9 TX, PA10 RX needs to be available on headers. MKS can sell usb uart dongles for those who wish to program their stm32f103 boards. Programming can be done with STM32CubeProgrammer https://www.st.com/en/development-tools/stm32cubeprog.html
RTC and VBAT support discussed here: https://github.com/makerbase-mks/MKS-Robin-Nano-V3.X/issues/64#issuecomment-937596633
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.