Close

ESP32 & MicroPython for step pulse control.

A project log for Grizzly G0755 CNC Build

Grizzly milling machine CNC-conversion, controlled by an ESP32-Wrover running MicroPython.

mukunda-modellMukunda Modell 03/12/2018 at 10:442 Comments

I've decided to experiment with the ESP32's RMT controller for generating step pulses. 

The technique has already been explored over at buildlog.net blog and it looks really promising. I want to see if this will be a practical method for precision step pulse control in MicroPython. I'll write more about this once I've gotten MicroPython on the ESP32 Wrover to control these shiny new gecko drives.

Discussions

[deleted]

[this comment has been deleted]

Mukunda Modell wrote 03/16/2018 at 07:40 point

I still plan to use the BeagleBone as well. I really just want to play with generating step pulses from the ESP32's RMT device, for the fun and challenge of it, and to see if I can make such a tiny chip run steppers from a high level language like python.

The RMT device should allow me to ignore any interrupt handler latency that micropython adds due to running interpreted code on a microcontroller.  The ESP32's RMT is a hardware buffered pulse generator which was designed for encoding / decoding infrared remote control pulses but it can bang out a sequence of queued commands without software micromanaging the communication - just what I need for real-time control. In many ways it's similar to using PRUs for step pulse generation.

Anyway I think it'll be really cool to interact with the machine via a remote micropython shell running on a $10 chip.  I'm sure the BeagleBone is a lot more practical though and I'm going to check out BeagleG right now.

  Are you sure? yes | no

Mukunda Modell wrote 03/16/2018 at 07:42 point

@Dean Gouramanis  Is there any trick to getting the optocape running with BeagleG?

  Are you sure? yes | no