Arduino Wifi + Gcode *Sender*

Hello All!

I'm working on project involving sending commands to an XY Plotter.

The XY plotter is controlled by a tinyG.

Would the right Arduino (ethernet/wifi enabled) be able to stream gcode to the tinyG(connected via USB) as well as manage an internet connection where it receives instruction from a host?

Any help to point me in the right direction would be great. The instruction from the host could be as simple as "Stream path 1" (if the paths can be stored locally on the arduino, the paths themselves are known beforehand and static) or the host can stream the gcode as well with the Arduino hopefully performing as a sort of router between the host and the local tinyG.

I should note that the host in this case is an android phone running a proprietary app - Implementing this function in the app is desired (so using other existing apps/chilipepper is not feasible here).

Thanks in advance for your insight!

There seems to be some confusion here. The "G" code is not streamed.

Please review this: https://github.com/synthetos/TinyG/wiki/Flow-Control-and-Footers.

Paul

Sorry for the confusion...

For example in a straightforward setup you would prepare gcode and send it to the tinyG over USB via something like Chilipepper on a PC.

In my case the gcode path instruction is already prepared, I'm just trying to figure out if an Arduino would be capable of taking the place of Chilipepper/the PC by receiving a prompt over a network and then sending the gcode to the tinyG. The hypothetical arduino has an internet connection and is physically local to the tinyG while the host would issue its prompts remotely over the network.

All examples I've seen involve using a ras Pi as the 'localhost' for the plotter but I'd prefer to use an arduino if it can be done.

Your requirements: WiFi or Ethernet, not hard. There are Arduino compatible boards that have WiFi or Ethernet built in or it is easily added. Room to store paths not hard It is easy to add SD card to most any Arduino, for example. USB host not hard The Arduino must be a USB host to send data to the tinyG. If the Arduino doesn't have native USB a shield can be added.

Paul_KD7HB pointed to the hard part. The Arduino will not just be spitting out g code. The tinyG must be fed just what it wants, when it wants, so the Arduino has to know how to feed the tinyG properly. The code to do that must be written and flashed to the Arduino.

Thanks a lot for the clarification groundFungus! I've never worked with Arduino and I'm not clear on its limits so that helped me a lot.

I understand I would have to replicate a core function of a gcode sender (and only that function - no need for UI, gcode generation) by actually transmitting useful commands to the tinyG and not simply passing along the gcode. If I were to use a beefier Arduino (the Due?) so that I'm not dealing with buffer issues on both ends do you think it would be possible?

I'm encouraged by fairly decent documentation on the tinyG wiki + the multitude of gcode senders that exist. I'm leery because I've never written a single line of code for an arduino but I do have experience on other platforms.