Skip to content

Latest commit

 

History

History
56 lines (51 loc) · 11.2 KB

ReadMe.md

File metadata and controls

56 lines (51 loc) · 11.2 KB

Driver capabilities at a glance:

Processor -> iMXRT1062 STM32F4xx STM32F3xx STM32F1xx11 SAM3X8E SAMD21 ESP32 MSP432 LPC1768/1769 TMC123 TMC129x MSP432E401Y PSoC 5 MSP430F5529
Board Teensy 4.x Blackpill / Nucleo-F411RE / Nucleo-F446RE BlackPill Bluepill Due MKRZERO LaunchPad Re-Arm / Bigtreetech SKR 1.3 / BTT SKR 1.4 LaunchPad LaunchPad LaunchPad CY8CKIT-059 LaunchPad
MCU speed (MHz) 600 84/100/180 72 72 84 48 2x240 48 100/120 80 120 120 80 25 (16 bit)
Floating point unit yes yes yes no no no yes yes no yes yes yes no no
Non-volatile storage Flash1 Flash1 Flash1 Flash1 Flash1 Flash1 Flash1 Flash1 Flash1 EEPROM EEPROM EEPROM EEPROM no1
Number of axes up to 5 up to 6 up to 6 up to 6 up to 6 3 3 3 up to 5 3 up to 6 up to 6 32 3
Variable spindle yes yes yes yes yes yes yes yes yes yes yes yes yes yes
Ramped spindle no no no no no no yes no no yes yes yes no no
Inverted spindle PWM no no no yes no no yes yes no yes yes yes no yes
RC Servo/ESC for spindle13 yes yes yes yes yes yes yes yes yes yes yes no yes
ModBus spindle14 yes15 no no no no no yes yes15 no no no no no no
Spindle at speed yes no no no no no no yes3 no no no no no no
Spindle sync no no no no no no no no no no no no no no
Closed loop spindle RPM no no no no no no no no no no no no no no
Native USB streaming yes yes yes yes yes yes no no yes no no no no no
Bluetooth streaming no no no no no no yes no no no no no no no
Telnet streaming (raw) ethernet no no no no no wifi no no no ethernet ethernet no no
Websocket streaming ethernet no no no no no wifi no no no ethernet ethernet no no
SD Card streaming yes TBC TBC yes no yes yes no yes yes no no no no
I2C Keypad yes no yes yes no yes yes yes no yes no no yes no
I2C IO Expander no no no no no yes yes no no no no no no no
MPG stream input TBC no no no no no no yes no yes yes yes no no
Manual tool change5 yes yes yes yes yes yes yes yes yes yes yes yes yes no
Automatic tool change6 no no no no no no no planned no no no no no no
Laser PPI mode7 yes yes no no no no no no no yes no no no no
Trinamic support8 TBC9 TBC9 TBC9 TBC9 TBC9 TBC9 TBC9 TBC9 no TBC9 TBC9 TBC9 no no
Runs as FreeRTOS task no no no no no no yes no no no no option no no
CNC BoosterPack support yes10 no yes10 yes10 no yes10 yes10 1 no 1 2 2 no 1
WebUI support no no no no no no yes12 no no no no no no no
Compiler/IDE Arduino STMCubeIDE STMCubeIDE STMCubeIDE Arduino Arduino ESP IDF CCS MCUExpresso CCS CCS CCS PSOC Creator CCS


1 Plugin for I2C EEPROM or FRAM available. FRAM is faster and can sustain more write cycles than EEPROM.
2 Should be fairly easy to extend.
3 In combination with ramped spindle, signals end of ramp - not programmed speed obtained.
4 To be completed (TBC), work in good progress.
5 Protocol extension, requires compatible GCode sender.
6 Grbl core has functionality and HAL driver entry points are provided, needs verification!
7 Driver specific M codes added for control. PPI = Pulses Per Inch.
8 Initial version ready for TMC2130 drivers, new CNC BoosterPack design for Texas Instrument LaunchPads ready and initial testing ok.
9 Implementation provided for TMC2130, with initial focus on I2C interfaces. Work in good progress - code published.
10 Via "motherboard" that accommodates CNC BoosterPack and processor board. Prototypes made, includes 8-bit I2C GPIO expander (not available/needed for STM32F1xx or IMXRT1062). "motherboards" has option for isolated level-shifted spindle PWM or DC output. BoosterPack has an onboard EEPROM and an I2C level shifter.
11 Requires 128KB of flash (STM32F103CB), many STM32F1038B based Blue Pill boards has that too?
12 Luc's ESP3D-WEBUI, backend partially implemented. Work in progress.
13 Set $33=50 (PWM frequency), $34=5, $35=5 and $36=10 to generate a "standard" PWM signal: 20ms repetition rate, 1 - 2ms pulse length range.
14 Currently only for Huanyang VFDs. Defaults to 19200 baud, implicit spindle at speed. Not supported for all alternative board map files.
15 Auto direction detect only.

Please note that some of the capabilities should be fairly easy to port from one driver to another, but be aware some are dependent on MCU peripheral availability and thus not possible, or hard, to port.

The fastest and most deterministic MCUs seems to be iMRXT1062, MSP432E401Y and TMC129x, ESP32 is not bad but it is a bit unstable - maybe due to outstanding bugs in the ESP-IDF and the system architecture - program code is stored off chip in external serial flash.


2021-01-09