Welcome! Log In Create A New Profile


ESP32 Printer Board

Posted by CthulhuLabs 
Re: ESP32 Printer Board
April 23, 2019 07:37AM
Is this project dead ?
Re: ESP32 Printer Board
July 30, 2019 11:24AM
Is this project dead ?
I am not sure about this project, but you could check other project that I found browsing Marlin Github:

Re: ESP32 Printer Board
August 12, 2019 07:31AM
Hi all. I started a project a month ago. I tried to immigrate Smoothieware from LPC1768 to ESP32. After a month of recoding and testing , I found it's doable. But I don't have more time to push this project faster. Hopefully one or more of you would like it and can help. The project in Github : [github.com]

Edited 1 time(s). Last edit at 08/12/2019 07:33AM by voicevon.
Re: ESP32 Printer Board
July 17, 2021 02:58AM
this board use esp32 + expander, support 8 motor drivers.


Re: ESP32 Printer Board
August 02, 2021 05:53PM
I've also just announced Luna: [reprap.org]. It's not solely an ESP board, but the ESP has a prominent role.
Re: ESP32 Printer Board
January 01, 2022 05:57PM

i have started to desgin my own esp32 controller board, the schematic is attached, the base is an esp32 but my itention is to use HSPI, therefore the MCP23S17 and the MXS0108E are my concept for 64 gpio-lines. A question for the expert's here, would this design be valid for the controller base ?

kind regards


Edited 1 time(s). Last edit at 01/01/2022 05:58PM by newbie71.
Re: ESP32 Printer Board
January 01, 2022 08:20PM
Hello Joe,

How fast do you want your steppers to go? The standard steppers need a step pulse per step. That means you need to set the step Line high, then low again for each step. That would then be an SPI transaction for setting it high, and another for setting it low. Depending on the SPI Clock speed you want to use you can calculate the maximum step rate that you can achieve.

If that is more than enough for you then go ahead.

If this is just enough, then you will need to keep a very close eye on that SPI data handling (DMA or something) so that nothing can introduce a delay.

If that is already to slow, then just stop here.

I hope this helps.

kind regards,

Re: ESP32 Printer Board
January 02, 2022 05:53AM
Hello Lars,

thx, for your feedback i have choosen the mcp23s17 unstead of mcp23017 regarding the bus speed. The 23017 is i2c and i can have only 400khz and with hspi i can reach bus speed about 8 Mhz in theory even 10 Mhz what i am concerning about is the level shifters txs0108e and the oe pin.
I am not sure how to use enable or disable the triple state.
I am have still a little issue with understanding you're pulse per step and high and low i know the meaning pulse per step, if i hhave 64 io links programable which are working bidirectional, so my assumption was as long as the lines is up this pulse and as soon as i take the line down low. Should i integrate the int a & b for IRQ purposes would this mane sense.

Kind regards

Re: ESP32 Printer Board
January 02, 2022 03:17PM
Hello Joe,

I don't know the Chips you intend to use. I therefore can't help with the OE pin or Tri state.

Klipper firmware is boosting about doing 100k and more steps per second. That will not be possible with this approach even with 10MHz SPI Clock.

Usually these SPI GPIO Expanders let you define the Logic level on a pin from the SPI signal. Every time this logic level should change you need to send the instruction over the SPI interface. The most efficient way of doing this would need 8bits per chip (one for each signal). So 64bits in your schematic.

The Trinamic steppers can be configured to make a step on each logic level change on their step signal. Most other chips need a rising edge to make a step. Therefore on those chips you need two updates of the logic level of that pin. One for the rising edge the other for the falling edge.

With 10MHz SPI Clock rate you can not send 10 million bits per second, because the chips will need the Chip Select signal change to read the data and update the outputs. You will probably also need to read some Inputs. Also what about ADCs for Nozzle and Bed Temperature? All this will lower the actual possible update rate of the signals.

Also your SPI wiring is incorrect. SPI is a bus. You need to go from the ESP to SI of the first chip then from SO of the first chip to SI of the second chip and so on. The SO of the last chip then goes to the ESP.

The SPI speed will be a bottleneck on this design. If you need this for a slow printer than this might work out for you. But boards using a STM32 will always have the potential to be much faster,...
Sorry, only registered users may post in this forum.

Click here to login