Welcome! Sounds like a fun project.
The solution I have been pushing the other scara users towards is to convert the .thr files into gcode angles, but the gcode represents angles on the two axis, and the firmware doesn’t know it is a scara machine. This approach uses a python script to do the math and leans heavily on the geometry of the thr file generator. You could use the output from that script in the cnc shield/uno with regular grbl or you could use it with the ramps and Marlin.
The grbl-scara fork seems promising too. For that solution, you could use the gcode output from sandify.
Grbl doesn’t support many features outside of the most common. So anything different lives in a fork. The forks aren’t often maintained. The forks don’t have hundreds of thousands of users like the main version. So there are more bugs in the forks yet to be discovered.
The main question with the grbl-scara version is, if you command from 100,100 to 100,-100, does it travel in a straight line, and will it always find a the shortest path around the center. If so, then you have a very good solution.
If you can use grbl-scara, then the best news is that there are lots of server options. Sandipy would be ideal. Cncjs would work, and if you can ignore all the printer focused features, octoprint would work too. There are apps for octoprint on the phone. Otherwise, you will need to load the web page on the phone in the browser.
If you use the thr to gcode angles, those tools won’t understand the thr files. You can upload the converted gcode angle files. All the previews will be wrong. It might be possible to edit sandipy to either use the gcode angles in the previews or to even accept a the file, and convert it to gcode angles for you.
You can always build a new solution. Off the top of my head, these are the parts you will need:
- upload interface, along with managing some storage
- a file list, and maybe a preview image for each pattern
- control interface, for jogging, homing, etc.
- a terminal interface would be a great bonus feature.
- serial port communication to the board
- play control of the files.
None of these are hard. But combined, they are a lot of work. Starting with something like sandipy or octoprint or esp32 web ui would give you a big advantage.
I am sure we can get something working. So if you’re looking for permission to get your build started, go ahead.