This is a really neat project thanks for your hard work!
I started playing around with making a wireless MPG and I stumbled across this while researching. I'm working with a grblHAL machine so I'm guessing I'm going to need to make a few changes here and there. Since FluidNC and grblHAL are both cousins for GRBL I believe it's possible to get it working. If anyone has tried it I would love to hear how it went.
I really want a wireless MPG because I've been using one with my Mach3 machine. My plan is to modify this project to use ESP-NOW. From what I've gathered in the code most of the changes need to be done in System.h and SystemArduino.cpp. I have a BTT Scylla board with an ESP32 module on it for wireless communication. My plan is to turn that into an ESP-NOW to UART bridge to communicate with the STM32H7.
I have the CYD and 100PPR encoder wheel. In order to tryout the screen without connecting this to my CNC I just added a line to fool the display into thinking it was connected.
FluidNCModel.cpp
bool fnc_is_connected() {
int now = milliseconds();
//Added for testing Tony June 02
return true;
I started messing around with the screens. Most of them work great. The probing screen was incrementing all values by 4 though. I'm not sure if this is a bug or something setup for the M5Dial encoder. After reviewing the code for the other screens I noticed most of them (all???) call the constructor with an encoder scaling of 4. I modifed the code as shown below and everything worked afterwards.
ProbingScene.cpp
public:
//Tony Modified June 2
ProbingScene() : Scene("Probe",4) {}
This is a really neat project thanks for your hard work!
I started playing around with making a wireless MPG and I stumbled across this while researching. I'm working with a grblHAL machine so I'm guessing I'm going to need to make a few changes here and there. Since FluidNC and grblHAL are both cousins for GRBL I believe it's possible to get it working. If anyone has tried it I would love to hear how it went.
I really want a wireless MPG because I've been using one with my Mach3 machine. My plan is to modify this project to use ESP-NOW. From what I've gathered in the code most of the changes need to be done in System.h and SystemArduino.cpp. I have a BTT Scylla board with an ESP32 module on it for wireless communication. My plan is to turn that into an ESP-NOW to UART bridge to communicate with the STM32H7.
I have the CYD and 100PPR encoder wheel. In order to tryout the screen without connecting this to my CNC I just added a line to fool the display into thinking it was connected.
FluidNCModel.cpp
bool fnc_is_connected() {
int now = milliseconds();
//Added for testing Tony June 02
return true;
I started messing around with the screens. Most of them work great. The probing screen was incrementing all values by 4 though. I'm not sure if this is a bug or something setup for the M5Dial encoder. After reviewing the code for the other screens I noticed most of them (all???) call the constructor with an encoder scaling of 4. I modifed the code as shown below and everything worked afterwards.
ProbingScene.cpp
public:
//Tony Modified June 2
ProbingScene() : Scene("Probe",4) {}