-
Notifications
You must be signed in to change notification settings - Fork 17
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
Feedback on MRR ESPE #1
Comments
A quick update on this board. Basic functionality has been checked, short of an actual test print. The motors can move, the heaters (heat bed and hot end) can work. Temperature readings seem to be fluctuating slightly, but nothing that will cause issues with prints, I think. The board also works with the Creality LCD controller. I have tried to connect a Reprap full graphics smart controller (aka LCD12864), and it works. One thing to note: Linear Advance does not work with I2S. This probably has to do with how linear advance is implemented now. But it should not be an issue for those using direct drive extruders. The next step is to clean up the PCB layout to make better use of the real estate. Since everything seems to be working now, the breakout pins will be reduced to only those that are not hardwired to something already. |
The next version of this board will add further functionality using 4x74HC595 shift registers. I will also be using the TTL version of the shift registers to see if it helps improve reliability. But the TTL version costs like 4 times more than the CMOS version... which drives up the BOM cost. Preliminary testing has shown that the I2S output pins can be used for PWM output, which means it can be used to drive the various MOSFETs (heated bed, hot end, fans). This frees up pins on the ESP32, which potentially can then be used for the CS pins and UART pins for Trinamic drivers. Stay tuned for 5 stepper drivers, multiple fan outputs, and 3 thermistors! |
v0.3 of the board (will release files soon) has been tested to compile with TMC2130 support for Marlin 2.0 bugsfix. A native ESP32 pin needs to be used for the CS pin, though. For example, GPIO21 (SDA) or GPIO22 (SCL). TMC2208 and TMC2209 drivers will need a bit more work, since they will likely need to use software serial, and there are currently issues with compiling software serial on TMCStepper library: For SPI mode, users will just need one jumper wire (female-to-female) per stepper driver to connect the CS pin for the respective axis to a spare pin (GPIO21, and GPIO22; plus GPIO2, GPIO4, and GPIO15 when using I2S to drive the PWM for heated bed, hot end, and part fan). |
Updates on this board, which uses I2S for the stepper stream as well as PWM.
|
Just for troubleshooting, as record, and also to see if there are any wise men around to help. This is the error when homing on a coreXY printer running on I2S stepper stream.
The decoded stack:
The error seems to be with the planner and endstops being triggered. Well, endstops being triggered should be normal, since the printer is trying to home. So the issue is probably with the planner. |
It is not a real jump from v0.4, except for the 5V_SEL jumper that is now either VUSB or VIN. Plus a capacitor on EN pin to help with noise. That said, I have used all PCB colors available on JLCPCB (v0.3 used blue). And yellow and white are the two colors that I will definitely avoid. I will be making a couple of v0.5 boards available at cost+shipping for those who want to tinker with them. They should be ready in a week (I ran out of MOSFETs and waiting for the new order to arrive). The header pins won't be as colorful as the photo, though. |
Solution for reboot during homing on coreXY can be found here. |
MRR ESPE v0.5 is now available here for those who wish to give it a try but do not want to buy the parts and solder everything on your own. I think the board is ready, as it is now, in terms of the hardware. Software support still depends on Marlin development, and I did experience random freezes in the past when using I2S, so I cannot say it is the most stable. I also experienced resets when used with a LCD controller, but recent fixes to the Marlin code seemed to have fixed that. Still, I would say the I2S version is still in the experimental stages. If stable operation is more important, the MRR ESPA (non-I2S version) is available here. |
@luc-github pointed out a mistake on the schematic/PCB of v0.5. The RX and TX pins are wrongly connected (they are swapped). On v0.5, that pin labeled TX is actually connected to UART- and the pin labeled RX is actually connected to UART+. This prevents the AUX1 connector from working with MKS TFT32 and other similar controllers using AUX1. To use such controllers, you will need to use dupont connectors. I will put up a v0.5rev1 to fix this as soon as I can. |
I have added a simple adapter board to fix the AUX1 issue, design can be found here. Still untested. Waiting for JLCPCB to deliver the PCB. But it is a relatively simple design and I do not expect any problems. |
The adapter board to fix the AUX1 issue has been tested to work. Another adapter board to break out the LCD connector pins to the EXP1 and EXP2 used in more common RepRapDiscount Full Graphics Smart Controllers can be found here. To use with this controller,
The delays are needed for the display to work without being garbled. (Edit: Try without the delays first. If the display is garbled, then add the delays.) Some more info can be found here. |
It seems that Background: |
PR#16581 sent to add sanity check that throws an error when TMC SPI drivers are in use with MONITOR_DRIVER_STATUS and SDSUPPORT both enabled. The user will then need to decide which to disable (most probably MONITOR_DRIVER_STATUS since SDSUPPORT is essential for sending files for print via the webUI). |
The issue with babystepping and linear advance not working on I2S stepper stream has been given its own issue. |
Today, using my own soldered ESPE PCB board, I did a firmware write, brush the marlin.2.02 version. Brush writing is normal, power test found that the BED heat transfer bed automatically heated.Not controlled, I do n’t know if the hardware is not welded well, or the hot bed cannot be controlled because of the firmware configuration problem. At present, there is no problem, but the stepper motor can walk normally, The E0 extrusion head can be heated normally. |
Please check your soldering. Maybe change your bed MOSFET, it could be broken. If need be, after your have done your own troubleshooting, post a separate issue with details of the problem. |
A prototype of the MRR ESPE board, which uses 2 x 74HC595 shift registers to implement I2S stepper stream for the ESP32, is out. Most of the board design is based on the MRR ESPA board (many many lessons learnt there) while the I2S stepper stream is courtesy of simon-jouet.
I will be testing it with luc-github's Marlin fork (which comes with his ESP3D embedded) once he has managed to rebase his fork to incorporate the latest I2S-related updates from the main Marlin repo.
I can probably improve the use of the "real estate" more, and I probably should.
The text was updated successfully, but these errors were encountered: