master
Terje Io 2022-09-17 10:45:27 +02:00
rodzic d9a3cdd913
commit aebc0b97d5
1 zmienionych plików z 66 dodań i 65 usunięć

131
ReadMe.md
Wyświetl plik

@ -2,72 +2,73 @@
### Networking capable:
| Processor -> | [iMXRT1062](https://github.com/grblHAL/iMXRT1062) | [STM32F7xx](https://github.com/grblHAL/STM32F7xx) | [ESP32](https://github.com/grblHAL/ESP32) | [MSP432E401Y](https://github.com/grblHAL/MSP432E401Y) | [TMC129x](https://github.com/grblHAL/TM4C1294) |
|---------------------------------------|---------------------------------------------------|---------------------------------------------------|-------------------------------------------|-------------------------------------------------------|------------------------------------------------|
| Board | Teensy 4.x | Nucleo-F756ZG | | LaunchPad | LaunchPad |
| MCU speed \(MHz\) | 600 | 216 | 2x240 | 120 | 120 |
| Floating point unit | yes | yes | yes | yes | yes |
| Non-volatile storage | Flash<sup>1</sup> | Flash<sup>1</sup> | Flash<sup>1</sup> | EEPROM | EEPROM |
| Number of axes | up to 5 | up to 6 | 3 | up to 6 | up to 6 |
| Auto-squared/ganged axes<sup>17</sup> | yes | yes | no | no | no |
| Variable spindle | yes | yes | yes | yes | yes |
| Ramped spindle | no | no | yes | yes | yes |
| Inverted spindle PWM | yes | yes | yes | yes | yes |
| RC Servo/ESC for spindle<sup>13</sup> | | yes | yes | yes | yes |
| ModBus spindle<sup>14</sup> | yes<sup>15</sup> | no | yes | no | no |
| Spindle at speed | yes | yes | no | no | no |
| Spindle sync | yes<sup>4</sup> | yes | no | no | no |
| Closed loop spindle RPM | no | no | no | no | no |
| Native USB streaming | yes | yes | no | no | no |
| Bluetooth streaming | no | no | yes | no | no |
| Telnet streaming \(raw\) | ethernet | ethernet | wifi | ethernet | ethernet |
| Websocket streaming | ethernet | ethernet | wifi | ethernet | ethernet |
| FTP to SD&nbsp;card | ethernet | ethernet | wifi | ethernet | no (\?\) |
| SD Card streaming | yes | yes | yes | no | no |
| I2C Keypad | yes | yes | yes | no | no |
| I2C IO Expander | no | no | yes | no | no |
| Digital Aux I/O | 3/4<sup>16</sup> | yes | no | no | no |
| MPG stream input | TBC | no | no | yes | yes |
| Manual tool change<sup>5</sup> | yes | yes | yes | yes | yes |
| Automatic tool change<sup>6</sup> | no | no | no | no | no |
| Laser PPI mode<sup>7</sup> | yes | yes | no | no | no |
| Trinamic support<sup>8</sup> | TBC<sup>9</sup> | TBC<sup>9</sup> | TBC<sup>9</sup> | TBC<sup>9</sup> | TBC<sup>9</sup> |
| Runs as FreeRTOS task | no | no | yes | option | no |
| CNC BoosterPack support | yes<sup>10</sup> | no | yes<sup>10</sup> | 2 | 2 |
| WebUI support | yes<sup>12</sup> | yes<sup>12</sup> | yes<sup>12</sup> | yes<sup>12</sup> | no |
| Compiler/IDE | Arduino | STMCubeIDE | ESP IDF | CCS | CCS |
| Processor -> | [iMXRT1062](https://github.com/grblHAL/iMXRT1062) | [STM32F7xx](https://github.com/grblHAL/STM32F7xx) | [STM32H7xx](https://github.com/dresco/STM32H7xx) | [ESP32](https://github.com/grblHAL/ESP32) | [RP&nbsp;2040](https://github.com/grblHAL/RP2040)<sup>4</sup> | [MSP432E401Y](https://github.com/grblHAL/MSP432E401Y) | [TMC129x](https://github.com/grblHAL/TM4C1294) |
|---------------------------------------|---------------------------------------------------|---------------------------------------------------|--------------------------------------------------|-------------------------------------------|---------------------------------------------------------------|-------------------------------------------------------|------------------------------------------------|
| Board | Teensy 4.x | Nucleo-F756ZG | Nucleo-H743ZI | | Pi Pico W | LaunchPad | LaunchPad |
| MCU speed \(MHz\) | 600 | 216 | 450 | 2x240 | 125 | 120 | 120 |
| Floating point unit | yes | yes | yes | yes | no | yes | yes |
| Non-volatile storage | Flash<sup>1</sup> | Flash<sup>1</sup> | Flash<sup>1</sup> | Flash<sup>1</sup> | Flash<sup>1</sup> | EEPROM | EEPROM |
| Number of axes | up to 5 | up to 6 | 3 (with Uno map) | 3 | up to 6 | up to 6 | up to 6 |
| Auto-squared/ganged axes<sup>17</sup> | yes | yes | no | no | no | no | no |
| Variable spindle | yes | yes | yes | yes | yes | yes | yes |
| Ramped spindle | no | no | no | yes | no | yes | yes |
| Inverted spindle PWM | yes | yes | yes | yes | yes | yes | yes |
| RC Servo/ESC for spindle<sup>13</sup> | | yes | yes | yes | yes | yes | yes |
| ModBus spindle<sup>14</sup> | yes<sup>15</sup> | no | no | yes | yes | no | no |
| Spindle at speed | yes | yes | yes | no | no | no | no |
| Spindle sync | yes<sup>4</sup> | yes | yes | no | no | no | no |
| Closed loop spindle RPM | no | no | no | no | no | no | no |
| Native USB streaming | yes | yes | yes | no | yes | no | no |
| Bluetooth streaming | no | no | no | yes | no | no | no |
| Telnet streaming \(raw\) | ethernet | ethernet | ethernet | wifi | wifi | ethernet | ethernet |
| Websocket streaming | ethernet | ethernet | ethernet | wifi | wifi | ethernet | ethernet |
| HTTP daemon (server) | ethernet | ethernet | ethernet | wifi | wifi | ethernet | ethernet |
| WebDAV to SD&nbsp;card | ethernet | ethernet | ethernet | wifi | wifi | ethernet | no (\?\) |
| FTP to SD&nbsp;card | ethernet | ethernet | ethernet | wifi | wifi | ethernet | no (\?\) |
| SD Card streaming | yes | yes | yes | yes | yes | no | no |
| I2C Keypad | yes | yes | yes | yes | yes | no | no |
| I2C IO Expander | no | no | no | yes | yes | no | no |
| Digital Aux I/O | 3/4<sup>16</sup> | yes | yes | no | 0/8<sup>16/sup> | no | no |
| MPG stream input | TBC | no | no | no | yes | yes | yes |
| Manual tool change<sup>5</sup> | yes | yes | yes | yes | yes | yes | yes |
| Automatic tool change<sup>6</sup> | no | no | no | no | no | no | no |
| Laser PPI mode<sup>7</sup> | yes | yes | yes | no | no | no | no |
| Trinamic support<sup>8</sup> | TBC<sup>9</sup> | TBC<sup>9</sup> | TBC<sup>9</sup> | TBC<sup>9</sup> | TBC<sup>9</sup> | TBC<sup>9</sup> | TBC<sup>9</sup> |
| Runs as FreeRTOS task | no | no | no | yes | no | option | no |
| CNC BoosterPack support | yes<sup>10</sup> | no | no | yes<sup>10</sup> | yes<sup>10</sup> | 2 | 2 |
| WebUI support | yes<sup>12</sup> | yes<sup>12</sup> | yes<sup>12</sup> | yes<sup>12</sup> | yes<sup>12</sup> | yes<sup>12</sup> | no |
| Compiler/IDE | Arduino | STMCubeIDE | STMCubeIDE | ESP IDF | VS Code | CCS | CCS |
### With floating point unit \(FPU\):
Grbl does a lot of floating point math, a FPU will improve performance.
| Processor -> | [STM32F4xx](https://github.com/grblHAL/STM32F4xx) | [STM32F3xx](https://github.com/grblHAL/STM32F3xx) | [MSP432](https://github.com/grblHAL/MSP432P401R) | [TMC123](https://github.com/grblHAL/TM4C123) |
|---------------------------------------|---------------------------------------------------|---------------------------------------------------|--------------------------------------------------|----------------------------------------------|
| Board | Blackpill / Nucleo-F411RE / Nucleo-F446RE | BlackPill | LaunchPad | LaunchPad |
| MCU speed \(MHz\) | 84/100/180 | 72 | 48 | 80 |
| Non-volatile storage | Flash<sup>1</sup> | Flash<sup>1</sup> | Flash<sup>1</sup> | EEPROM |
| Number of axes | up to 6 | up to 6 | 3 | 3 |
| Variable spindle | yes | yes | yes | yes |
| Ramped spindle | no | no | no | yes |
| Inverted spindle PWM | no | no | yes | yes |
| RC Servo/ESC for spindle<sup>13</sup> | yes | yes | yes | yes |
| ModBus spindle<sup>14</sup> | no | no | yes<sup>15</sup> | no |
| Spindle at speed | yes | no | yes<sup>3</sup> | no |
| Spindle sync | yes<sup>4</sup> | no | yes<sup>4</sup> | no |
| Closed loop spindle RPM | no | no | no | no |
| Native USB streaming | yes | yes | no | no |
| SD Card streaming | TBC | TBC | no | yes |
| I2C Keypad | no | yes | yes | yes |
| I2C IO Expander | no | no | no | no |
| Digital Aux I/O | 2/2<sup>16</sup> | no | no | no |
| MPG stream input | no | no | yes | yes |
| Manual tool change<sup>5</sup> | yes | yes | yes | yes |
| Automatic tool change<sup>6</sup> | no | no | planned | no |
| Laser PPI mode<sup>7</sup> | yes | no | no | yes |
| Trinamic support<sup>8</sup> | TBC<sup>9</sup> | TBC<sup>9</sup> | TBC<sup>9</sup> | TBC<sup>9</sup> |
| CNC BoosterPack support | no | yes<sup>10</sup> | 1 | 1 |
| Compiler/IDE | STMCubeIDE | STMCubeIDE | CCS | CCS |
grblHAL does a lot of floating point math, a FPU will improve performance.
| Processor -> | [STM32F7xx](https://github.com/dresco/STM32H7xx) | [STM32F4xx](https://github.com/grblHAL/STM32F4xx) | [STM32F3xx](https://github.com/grblHAL/STM32F3xx) | [MSP432](https://github.com/grblHAL/MSP432P401R) | [TMC123](https://github.com/grblHAL/TM4C123) |
|---------------------------------------|--------------------------------------------------|---------------------------------------------------|---------------------------------------------------|--------------------------------------------------|----------------------------------------------|
| Board | BTT SKR3 / WeAct MiniSTM32H743 | Blackpill / Nucleo-F411RE / Nucleo-F446RE | BlackPill | LaunchPad | LaunchPad |
| MCU speed \(MHz\) | 450 | 84/100/180 | 72 | 48 | 80 |
| Non-volatile storage | Flash<sup>1</sup> | Flash<sup>1</sup> | Flash<sup>1</sup> | Flash<sup>1</sup> | EEPROM |
| Number of axes | 3 | up to 6 | up to 6 | 3 | 3 |
| Variable spindle | yes | yes | yes | yes | yes |
| Ramped spindle | no | no | no | no | yes |
| Inverted spindle PWM | no | no | no | yes | yes |
| RC Servo/ESC for spindle<sup>13</sup> | yes | yes | yes | yes | yes |
| ModBus spindle<sup>14</sup> | no | no | no | yes<sup>15</sup> | no |
| Spindle at speed | yes | yes | no | yes<sup>3</sup> | no |
| Spindle sync | yes<sup>4</sup> | yes<sup>4</sup> | no | yes<sup>4</sup> | no |
| Closed loop spindle RPM | no | no | no | no | no |
| Native USB streaming | yes | yes | yes | no | no |
| SD Card streaming | no | no | TBC | no | yes |
| I2C Keypad | no | no | yes | yes | yes |
| I2C IO Expander | no | no | no | no | no |
| Digital Aux I/O | no | 2/2<sup>16</sup> | no | no | no |
| MPG stream input | no | no | no | yes | yes |
| Manual tool change<sup>5</sup> | yes | yes | yes | yes | yes |
| Automatic tool change<sup>6</sup> | no | no | no | planned | no |
| Laser PPI mode<sup>7</sup> | yes | yes | no | no | yes |
| Trinamic support<sup>8</sup> | TBC<sup>9</sup> | TBC<sup>9</sup> | TBC<sup>9</sup> | TBC<sup>9</sup> | TBC<sup>9</sup> |
| CNC BoosterPack support | no | no | yes<sup>10</sup> | 1 | 1 |
| Compiler/IDE | STMCubeIDE | STMCubeIDE | STMCubeIDE | CCS | CCS |
### Without floating point unit \(FPU\):
| Processor -> | [RP&nbsp;2040](https://github.com/grblHAL/RP2040)<sup>4</sup> | [STM32F1xx](https://github.com/grblHAL/STM32F1xx)<sup>11</sup> | [SAM3X8E](https://github.com/grblHAL/SAM3X8E) | [SAMD21](https://github.com/grblHAL/SAMD21) | [LPC1768/1769](https://github.com/grblHAL/LPC176x) | [PSoC&nbsp;5](https://github.com/grblHAL/PSoC5) | [MSP430F5529](https://github.com/grblHAL/MSP430F5529) |
@ -108,9 +109,9 @@ Grbl does a lot of floating point math, a FPU will improve performance.
<br><sup>9</sup> Implementation provided for TMC2130, with initial focus on [I2C](https://github.com/terjeio/Trinamic_TMC2130_I2C_SPI_Bridge) interfaces. Work in good progress - code published.
<br><sup>10</sup> Via "motherboard" that accommodates [CNC BoosterPack](https://github.com/terjeio/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.
<br><sup>11</sup> Requires 128KB of flash \(STM32F103CB\), many STM32F1038B based Bluepill boards has that. Not recommended due to limited memories, use a STM32F303 or STM32F411 based Blackpill instead for a board with the same form factor as Red- and Bluepills.
<br><sup>12</sup> Luc's [ESP3D-WEBUI](https://github.com/luc-github/ESP3D-webui), backend partially implemented. Work in progress.
<br><sup>12</sup> Luc's [ESP3D-WEBUI](https://github.com/luc-github/ESP3D-webui). Work in progress, has sopport for both v2 and v3.
<br><sup>13</sup> 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.
<br><sup>14</sup> Currently only for Huanyang VFDs. Defaults to 19200 baud, implicit spindle at speed. Not supported for all alternative board map files.
<br><sup>14</sup> [Supports a number of VFDs](https://github.com/grblHAL/Plugins_spindle/). Defaults to 19200 baud, implicit spindle at speed. Not supported for all alternative board map files.
<br><sup>15</sup> Auto direction detect only.
<br><sup>16</sup> Dependent on breakout board and plugin configuration.
<br><sup>17</sup> Dependent on breakout board capability. ABC motors will be added from the first motor available and upward, auto-squared/ganged motors from the last and downward.
@ -124,4 +125,4 @@ The fastest and most deterministic MCUs seems to be iMRXT1062, MSP432E401Y and T
Excel tables to markdown done with [thisDaveJ](https://thisdavej.com/copy-table-in-excel-and-paste-as-a-markdown-table/) web-based utility.
---
2021-09-19
2022-09-17