-
-
Notifications
You must be signed in to change notification settings - Fork 532
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add I2C I/O expander to card #50
Comments
I added that to the roadmap. Most of the I/O you are talking about uses interrupts. I see there is an interrupt pin option. I'll have to look at that more. Do you have any suggestions on how to add that to cpu_map.h and config.h? |
Another option is this chip from Microchip which has two interrupt lines, one for each 8-pin port. Consumes one more ESP32 pin, but gives more flexibility: I haven't looked at the code until now. My initial impression and ideas:
The most work seems to be in creating an abstraction layer for GPIO handling (pinMode etc.) and implementing the I2C protocol for the IO expander. |
I've never used it but I was looking for I2C IO expanders and came across these: Digikey sells them for $2.55 Sparkfun has a breakout board for and there is code too. |
How about the cheap PCF8575 as a port expander? There are plenty of chips and modules out there and it's almost gold standard in ways of simplicity. http://www.ti.com/lit/ds/symlink/pcf8575.pdf Also, the port-expander could be used to free up i/o for additional step/dir driving on the ESP32, feedback like endstops or spindle speed goes to the expander. |
This guy uses esp8266 and shift registers to control GRBL 8-axis. https://github.com/gcobos/grblesp & youtube video https://www.youtube.com/watch?v=EGESCcurkwA For a Good controller we need 9 axis like g2core https://github.com/synthetos/g2 |
Guys at the end all comes to PLC. That is why I am trying to solve all these I/O problems with this modular design. |
I would suggest adding an I2C I/O expander to the card to allow more flexibility and resolve the limitations when using an SD card etc. An example here from TI.
TCA9555 16bit I2C I/O expander
This adds 16 I/O lines using only 3 pins (SDA, SCL and an interrupt pin) on the ESP32 board that are 5V tolerant, ESD protected and provides open drain outputs. Perfect for limit switches, mist, probe, door etc.
It only adds about a $1.50 to the BOM cost.
The text was updated successfully, but these errors were encountered: