1
0
mirror of https://github.com/bdring/Grbl_Esp32.git synced 2025-08-30 09:39:49 +02:00

Merging SD card branch to master

SD functions are now stable and included in master
This commit is contained in:
bdring
2018-09-06 11:10:01 -05:00
parent b18361dbb6
commit 36e25f734b
21 changed files with 647 additions and 130 deletions

View File

@@ -2,18 +2,20 @@
# Grbl (CNC Controller) For ESP32
![ESP32](http://www.buildlog.net/blog/wp-content/uploads/2018/08/20180819_170123.jpg)
![ESP32](http://www.buildlog.net/blog/wp-content/uploads/2018/07/20180718_175943.jpg)
### Status: Functional Beta (See minor issues below)
### Project Overview
This is a port of [Grbl](https://github.com/gnea/grbl) for the ESP32. The ESP32 is a great target for Grbl for the following reasons
This is a port of [Grbl](https://github.com/gnea/grbl) for the ESP32. The ESP32 is potentially a great target for Grbl for the following reasons
- **Faster** - Faster step rates and additional features could be added
- **Lower Cost** -
- **Small footprint** -
- **Lots of Flash and RAM** - A larger planner buffer could be used and more features could be added.
- **More Flash and RAM** - A larger planner buffer could be used and more features could be added.
- **I/O** - It has just about the same number of pins as an Arduino UNO, the original target for Grbl
- **Peripherals** - It has more timers and advanced features than an UNO. These can also be mapped to pins more flexibly.
- **Connectivity** - Bluetooth and WiFi built in.
@@ -21,12 +23,10 @@ This is a port of [Grbl](https://github.com/gnea/grbl) for the ESP32. The ESP32
### Issues / Changes
1. **Direction pin delay** - Not implemented yet. Some drivers require a couple of microseconds after the direction pin is set before you start the step pulse. The original plan was to [use the RMT feature](http://www.buildlog.net/blog/?s=rmt), but that has issues when trying to use it in an Interrupt. **This is typically a option in Grbl that is not used.**
2. **Limit Switch debouncing** is not supported yet. It might be better to us an R/C filter for now. The controller shown above uses R/C filters, which seems to solve the problem.
2. **Limit Switch debouncing** is not supported yet. It does not seem to be a problem on my test rigs. The dev board uses R/C filters on all inputs.
3. **Step Pulse Invert:** This has not been fully tested. I suggest...leaving $2=0
### Hardware:
The hardware in the image above is an open source, reference design that is [for sale at Tindie](https://www.tindie.com/products/33366583/grblesp32-cnc-development-board/). The source files are on this [blog post](http://www.buildlog.net/blog/2018/08/grbl_esp32-cnc-development-board/).
### Using It
@@ -36,20 +36,20 @@ I use the NodeMCU 32S version of the ESP32. I suggest starting with that if you
For basic instructions on using Grbl use the [gnea/grbl wiki](https://github.com/gnea/grbl/wiki). That is the Arduino version of Grbl, so keep that in mind regarding hardware setup. If you have questions ask via the GitHub issue system for this project.
Note: Unlike Grbl on Arduinos, the controller does not reboot when you connect to it via USB. This may cause confusion on some older senders. Most modern Grbl senders will send a reset (Ctrl-X or 0x18) instead of relying on the reboot. I do not plan on changing this. It is better to do reboot when a connection is opened.
Be sure you have external pullup resistors on any GPIO34-39 that you use. These default to door, start, hold and reset functions.
[Bluetooth wiki page](https://github.com/bdring/Grbl_Esp32/wiki/Using-Bletooth)
Using Bluetooth:
[SD Card wiki page](https://github.com/bdring/Grbl_Esp32/wiki/Using-the-SD-Card)
- [See the Wiki page](https://github.com/bdring/Grbl_Esp32/wiki/Using-Bletooth)
### TODO List
Using SD Card
- RMT. The RMT feature is a ideal for direction and step features, but apparently has issues working in interrupts. See [this forum post](https://www.esp32.com/viewtopic.php?f=19&t=6397&hilit=grbl) and [this blog post](http://www.buildlog.net/blog/?s=rmt). It would be great to get it working.
- Add spindle enable and direction
- Wifi
- Web Server with browser based control and setup.
- [See this wiki page](https://github.com/bdring/Grbl_Esp32/wiki/Using-the-SD-Card)
### Roadmap
- Add Wifi support and a web page interface
- Add spindle enable and direction.
### Credits
@@ -59,15 +59,13 @@ The original [Grbl](https://github.com/gnea/grbl) is an awesome project by Sunge
I would love to have help with this project. There are many things that need to be improved and added, especially BlueTooth and/or WiFi. If you need hardware to test with, I might be able to help with a test PCB.
![](http://www.buildlog.net/blog/wp-content/uploads/2018/07/slack_hash_128.png) [Slack channel](https://join.slack.com/t/buildlog/shared_invite/enQtNDA1ODM5MzI3MjE2LWYxNzMwZmNmMWVhYmUzMDdiYWQxMjk2MWQ1NzJhYzc2Mjg5NmRjMWI2MmM3OGE4M2JiZWQ2MThjMjQ3Y2U2OTE) for this project.
![](http://www.buildlog.net/blog/wp-content/uploads/2018/07/slack_hash_128.png) There is a slack channel for the development this project. Ask for an Invite
### FAQ
Start asking questions...I'll put the frequent ones here.
### Donate?
Please considering donating to this open source project.
[![paypal](https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=3ZAF7SF5PCXTN)