Marlin, Ramps 1.4, Arduino mega 2560 and esp01 ESP3D

Hello all, Im looking to find out if anyone else has managed to get this combination working together wirelessly.
I recently completely the mechanical build of the Burley MPCNC and planned to run it direct from a laptop or desktop. The electronics consist of the Marlin (custom) for MPCNC and a ramps 1.4 shield on an Arduino Mega 2560. The machine runs fine wired up directly.
I had a spare esp01 lying around and managed to program it and connect to it no problems via my home network while plugged into “aux 1” 5v, GND, TX and RX. However I cant seem to get it to connect with Marlin and control the movements via the ramps board.
If anyone has managed this combo Id much appreciate any pointers. It seems to me to be the correct Marlin configuration however I cant seem to be able to hit the nail on the head with it. I get various conflicts including pins and wrong serial port configuration.
Thanks. Jim.

It just dawned on me after I posted this query that it may be a Version conflict between ESP3D 0.9.99 and Marlin 2, perhaps the custom one prepared for the MPCNC. ??

Hello, Jim. I waited a while to respond as I don’t have this combination running. I may have some questions to help troubleshoot, though.

What version of esp3d did you use?

For reference, there’s a forum thread about flashing an esp01 with the ESP3D v3

The SKR specific stuff would be of little help, but the ESP01 flashing notes worked for me to flash one of my ESP01s.

It’s a good bet that if you used the stock v1e RAMPS MPCNC firmware that it is not configured correctly to support ESP3D on a RAMPS AUX port. Maybe someone like @jeffeb3 has some insight about that.

Thanks MakerJim, I drifted through that post already and only caught bits I thought were irrelevant “8mb” and esp01s not realising until you’ve highlighted it again that it is completely relevant and a different approach. So even though as you’ve suggested might not be compatible with marlin/ ramps I’ll give it a go and hope for best.
My whole point being is to make use of the stuff I’ve got for a stand alone Mpcnc and not rely upon splashing out for a touch screen and sd slot when I could use a network to the garage and old laptop or tablet.

Update following MakerJims suggestion of trying the updated ESP3d and UI. That version uploads to a esp8266 (esp01) no problem and runs connected to the ramps board. However there is no “out of the box” connection between Marlin (custom MPCNC version) and ramps through AUX 1.
It seems to me that the cusom ramps has those pins assigned to other maybe more popular uses (looks like touch screens and/or endstops) and secondly even if I did connect wirelessly using ESP3d, ramps AUX 1 and marlin the best I could hope for is axis jogging. I dont think Id be able to bypass a screen and card slot (still headless but driven remotely from a pc or tablet) which is essentially what i was looking for. THanks MakerJim for the suggestion however I think my “wish” is a dead end.

If you are able to upgrade from the ramps to the SKR Pro 1.2 or to the Jackpot board your wish isnt a dead end at all.

Thanks Jonathan, further expenditure is likely to end in divorce right now. However just as your message came though I thought perhaps running a headless networked RPi via VNC with UGS which I do have lying around. I found a pretty good article here … https://discover.hubpages.com/technology/How-to-Configure-and-Use-a-Raspberry-Pi-to-Run-Your-CNC-Machine
So yes perhaps not ready to give up yet. Ill report back on the outcome.

Be sure to check this out as well since your thinking the Pi route…

https://docs.v1e.com/electronics/v1pi/

Yeah thats a great solution - I came across that about a week ago which is why I thought about the Pi route. But, and there always is a “but”, Best Ive got is a 3a which Ill try until I find my 3B or 4 which I think that project needs.

1 Like

I ran V1pi on a 3a. Worked fine. I used Octoprint on it, never really got into cnc.js, except.enpigh to know it was started and running. I deliberately chose the 3a because it was cheaper, and I have a few left around from playing with motioneye OS.

That means it should be possible to modify Marlin to swap to using the EP01S. Are you comfortable compiling Marlin?

Thanks Dan, Id rather try the 3a as the 3b seems overkill, at least Ive got a plan B.

MakerJim - If you mean opening the code in IDE or visual studio changing it and uploading; thats about it. Sorry for this waffle but I suppose if it helps people need a similar solution or avoid work then I hope it helps.
I edited the config.h to try different serial ports which I understood related to the AUX channels, so serial 1 was aux 1 etc as the notes in the code seem to indicate as such. However this led to pin conflicts. I took a look through the Marlin pins.h related to ramps 1.4 but it was starting to get complex and too much for my meagre brain - the whole thing was like a house of cards, the thinking being that I could swap the conflicting pins out for unused ones and/or take out pins that I wasnt using such as the end stops. However it looks like the endstops are central to marlin and that change could be troublesome at best and one change conflicted with another and so on.(in anycase id probably add the endstops later) so that was the end of that.
I believe that the custom version of Marlin created for MPCNC hs made use of pins which are essential to its prefered or most common way of operation using screens, card slots, endstops and comms typically USB. Another possibility is that vanilla Marlin maybe stripped back enough to allow this to happen. Ive only seen evidence in one or two posts of this being possible one being on Reprap.org but no details other than what Ive spoke about here.

Thanks to all who took interest in this post and offered help and suggestions. The solution I setted on eventually was as ever more simple to set up than I envisioned.
The final set up consists of Marlin on Ramps 1.4, mega 2560 and a Rasperry Pi 3B running PiOS Bullseye and CNCjs.
The PIos can be stripped right back to a headless setup but Ive left it at the full version for now. As Dan said in an earlier post would most likley work on a cheaper 3a+.
So this does away with the need for a local screen and SDcard slot set up which I wanted to avoid financially. As long as the Pi is within ethernet or wifi range then you’re good to go and all can be set up within network range.
The CNCjs set up can be found here GitHub - cncjs/cncjs-pi-raspbian: Raspberry PI distribution of CNCjs in a ready to deploy image. Includes some useful script and documentation.. This sets up a webserver and page where you access CNCjs over your network and you can upload your G-code and away you go. Additionally it looks like it gives you webcam access via the PI (i think not looked into it yet). I think it be interesting to see if this could work with the cheapest PI possible maybe the orignal Zero is pushing it perhaps the newest of the Zeros would work. I dont have any of the new PIs so cant report back if anybody manages to strip this back further (tech wise) Id like to hear.
Good luck. Jim.