Hi friends, I've read this interesting discussion.
I have a Creality Ender 3 too, and a CNC made by me.
Actually I still work (from 2018) on a B4A app capable to control:
- 3D Printer
- CNC router
- Laser cutter (gcode files from LaserGRBL)
This app start in simulation mode, can control machines via USB OTG cable or via WiFi (local or internet) using a Raspberry or ESP8266/ESP32 as server.
App no yet finished but with 3D printer layout some FB peoples already took a 3D print on my 3D printer remotely, from city to city, it worked well even without WiFi, just with mobile data (SIM) and this is fantastic, just needed my public ip address (Dynamic DNS services can be used).
I think I need to remove remote control for laser machines, it is very dangerous, it require people on the machine.... it can fire
I'm wrote a library called CNCFrame to control these machines, this library is no yet finished but have some classes like GCodeLoader that help to load a gcode file and read it line by line with NextLine command, GCodeParser that extract all gcode codes and values from a line, XYZEABCFGM etc..., GCodeViewer to show gcode movements on a Canvas, SerialConnector with preformed Serial settings panel to just place it on Activity (or Form).
I've developed the same library for desktop too (B4J) it works on PC and Raspberry, even touch. This is not finished because I encountered problems on GCodeViewer, on B4A I use a big canvas inside a ScrollView2D this way I can pan the view, but on desktop I do not found a ScrollView2D counterpart.