X-Carve sorting table?

Hey guys,

I want to use the X-Carve as a sorting table that will pair thermistors in pairs of 2. More specificaly, I will buy the 1000 mm X 1000 mm table and try to fit as many thermistors as possible on this table. From this inventory, I will reserve a space on the table where the pairing will be done. The thermistors will be matched together in pairs of 2 regarding the tolerences that i will set. All the thermistors are evaluated before, using a special process, in order to obtain a curve and will be placed wherever there is free space on the table.

My questions are:
The Arduino can generate G-code (locations) for each thermistor?
What part of the grbl_master should I modify in order to proceed with this sequence?
Will the Easel software be useful to generate the G-code? (i.e. The table will have plenty of holes where to place the thermistors. Should I make an SVG drawing of my table?Will this give me the position of all my holes in G-code?)


It would be much easier to either write a program in Windows to run as standalone software, like in Python, or to use another microcontroller as the brains of your pairing machine. The Arduino Uno’s digital and analog IO are completely used up by GRBL, and I wouldn’t recommend you go digging around in those files deleting stuff to free up pins to sense your voltage curve, or whatever you’re testing. Just use the XCarve arduino controller as a dumb gcode receiver.

I already have the program written, which will tell me for exemple no 3278 should go with 8769… I can’t use the same Arduino to tell go get me this number at this location and the other number at this location and bring them to a special spot using all the g-Code stuff? Thanks in advance

The only thing the GRBL installed Uno does is receive grbl commands and translate them into movement. If you know item 1 is at x= 0.012 y=2.288 z = 0.05 you can effectively tell the GRBL Arduino “Hey, go get item 1” by issuing it the command to go to x0.012y2.228z0.25then x0.012y2.228z0.05. An effective means of bridging the gap between the item value and coordinate of its location could be either a lookup table array or to include its location as part of a class oriented programming language.

Thanks for the reply,this is very helpful. I am new to Arduino :P. Another question for you…
How can I create this array that the arduino will keep in memory?
Through what port the transmission of these locations is done?
If is analog input could I use the map function to move the thermistors on this table?

No offense Theodor, but it sounds like you’re struggling with the basics. Before you buy an X Carve, consider spending a month or two with an Arduino starter kit. To clarify, I was suggesting that you write a Windows program that communicates with two Arduino Uno’s simultaneously. One tunning the X Carve, the other evaluating your sensors. Your Windows program would need to be told the absolute coordinates of each sensor on the work bed, tell the X Carve Arduino where to go, tell the sensor evaluation Arduino to do its thing, and repeat. To do this, the very first thing you need to do is study the list of G Code commands available in GRBL, study the theory of a serial port, serial and UART communications, and look into the programming language for your Windows software that would accomplish your goal of connecting to two Arduinos. I’d recommend starting with Python or Processing in your search.