I know no java.

(darrell mcginnis) #1

I know no java.
I’d be interested in a fork of tiny g for use with old old centroid cnc-2 controller over serial. [The centroid has no terminal]
Any pointers appreciated.


It sounds like you’re trying to perhaps rewrite the firmware? If so I’d try the TinyG dev forum or mailing list. If instead you mean fork the ChiliPeppr TinyG workspace then that’s in Javascript, not Java. You would likely have to add a buffer to Serial Port JSON Server as well which is written in Go. So no Java anywhere.

(darrell mcginnis) #3

No, I’d like the 3d preview and jog control and axis display but punt on anything that use tiny g specific functions. Otherwise I’d use the serial workspace which lacks 3d preview/axis/jog.
The centroid consumes g code over serial port.


You should just fork the TinyG workspace then as your starting point. Then create your own Centroid widget by forking the TinyG widget to create Centroid specific implementations and parsing. You will almost certainly need to create a buffer in SPJS as well. Look at the Grbl and TinyG buffer in SPJS to get an idea of the differences. TinyG sends back r:{} responses that SPJS uses to know how much to buffer into the CNC controller. Grbl sends back OK responses and the buffer uses those to throttle incoming gcode. Centroid probably uses its own technique. I’ve never heard of the Centroid so not sure what it uses.

(Ray Kholodovsky) #5

I didn’t know any JavaScript and I was able to do some basic but cool and useful things in Chilipepper in a matter of days, it’s very well written. Good luck!

(darrell mcginnis) #6

Centroid I think is best known as low cost commercial alternative to Faunuc/Anilam/etc on big iron.

I have a 1989 (laugh all you want) Centroid CNC-2 which is a 3 axis controller that has a small local editor (assumes you attach a serial terminal) to input/edit then play gcode. It also can be put into an run immediate mode where it consumes gcode line by line (each line gets a prompt) etc…
I beleive the controller is a proprietary SingleBoardController equiv to a AT PC running a gcode editor/player interpreter.

It has proprietary chopper stepper drivers (probably 4A drivers?) that I think consume En/Step/Dir signals

This is all nicely attached to a Dyna DM-2400 mill… (~equiv to a 250lbs sherline) that I want to run. (original Dyna DM-2400 conversational controller is long gone when the centroid controller conversion was done)

I’m sure I’ll start with just the serial workspace while I bring up the mill+Centroid controller and check basic functions.


Maybe mimic the nodemcu buffer because that’s a 1 line buffer. It waits for the device to send back a “>” after each line is done being processed. It seems like a 1 line buffer could work for you, but that does seem like it could run slow then on short gcode moves. Just an idea.