I just uploaded a new version of the Shagmatic firmware that runs on the ESP32 microcontroller. This has built in WiFi. The Machine works the same as before with the favorite joystick tool but the three knob features are no via a web page served by the ESP32. You can control speed stroke and offset with your phone or any device that can access the ;ocal network via a browser. A fixed IP address is used. There will be some searching to find the necessary addons and libraries to Arduino but I managed to find them and got it working. If others want to try this, the code is on the github repository accessible from the resources page of Shagmatic.com I will assemble a resources document about the stuff you need to get the ESP32 working if there is enough interest. My husband and I tested this new version recently and it worked perfectly Hubby loved the vibe combined with joystick control. I made a very simple breakout board for the ESP32 with screw terminal connectors. It is very simple since the “three knob” is done via WIFi so only joystick, 3 wires, limit switch 3 wires and step and direction to the motor driver are needed. I will probably design a custom board for it but with so few connections it is really not necessary.
I bought the following dev board for ESP32 because it has an external antenna and better range. https://www.amazon.com/gp/product/B0811KLGDD/ref=ppx_yo_dt_b_asin_title_o08_s01?ie=UTF8&psc=1
I forgot to mention that the original code before I edited it to add the joystick back and improve noise immunity etc, was written by a blog follower. Here is some helpful information he provided about getting the ESP to work in Arduino. I believe I found all the necessary libraries and upoloaded them to the Github repositoty linked on the rsources page. The file libs4-shagmatic_ESP32.zip should have all of the libraries. Probably the easiest way to add them is to individually zip each librarie’s folder. With the sketch open include the libraries for zip files and let the IDE stick them where it wants?
https://randomnerdtutorials.com/installing-the-esp32-board-in-arduino-ide-windows-instructions/ Please be aware of that the html code lies in the ESP32 filesystem. You have to upload that code separately to your ESP32. The advantage is that you dont have to recompile the whole ESP32 code when you only want to make some changes to the ‘webinterface’. A nice manual how to upload to ESP32 filesysrem is here: https://randomnerdtutorials.com/install-esp32-filesystem-uploader-arduino-ide/