Mach4 Wireless (Wifi) MPG Handwheel Using ESP32 and Modbus TCP library
Demonstration & Assembly
https://www.youtube.com/watch?v=sGhttK0reT0&t=2s
https://www.youtube.com/watch?v=5fpQ3xS1Tu8&t=2s
ESP32 Firmware and Network Setup
- Download NodeMCU-PyFlasher.exe program from here: https://github.com/marcelstoer/nodemcu-pyflasher/releases/tag/v5.0.0
- Connect a USB to FTDI or CP2102 to FTL programmer to the ESP32 PCB at the programmer port.
- Select the COM port of the programmer in the NodeMCU program.
- Select the Mach4MPGModbus-ILI9341-Display.ino.bin file from the fw-build folder and press the Flash NodeMCU button to flash the firmware to the ESP32.
- Reboot the ESP32.
- The ESP32 device should show up in the list of network access points.
- Connect to this access point and navigate to 192.168.4.1 in a browser.
- Press the "Configure Wifi" button.
- Find your network access point and connect to it by providing your network credentials.
Mach4 Software Setup
- Find the local IP address of the ESP32 (espressif).
- Launch the MPGInstaller.exe from the dist folder of the repo.
- Select the Mach4 profile you want to update, enter the IP address of the ESP32 and press install. (if the ESP32 device is already connected to the network, and in the ARP table, the IP address should auto-populate)
- Turn on the ESP32 MPG, open Mach4 and navigate to Diagnostic->Modbus in the File Menu.
- To connect or reconnect to the modbus device, press the stop button in the diagnostic window and then the play button. (Alternatively use the Wizard instead [step 6])
- The wizard can be accessed by opening the Wizard launcher in the Mach4 file menu. (Wizard->Select Wizard->MPGWiz)
Installer Build from Source
If you want to make changes to MPGInstaller.py and rebuild exe file:
- Install Python
- In elevated command line window from root directory of repo:
pip install -r requirements.txt
- In command line window from root directory of repo:
python setup.py py2exe
The updated .exe file will be created in the dist/ folder.
PCB Gerber File & 3d print files for Display included
Original 3d print: https://www.thingiverse.com/thing:4539827