interface Materia 101 - Pc

Hello!! I am starting to design a system to move a probe on a surface. I would like to use the Arduino Materia 101, changing the carriage of the printer with my probe. I would like to give the coordinates X Y Z of the several points from the pc, is it possible? How to interface the Materia 101 with the pc?

Thanks a lot. Raffaele

The printer uses Gcode to opeate ( It gets sent through the usb cable on a virtual serial port, you shoild be able to do the same either through any serial monitor (e.g. the one included in the arduino ide) or writing code yourself. If the commands are fixed or can be generated once, it is possible to write them to the sdcard. I guess this wouldn't be useful for you as you seem to be wanting to scan an object. If you need more help just ask.


Hi dp_1, thanks for your answer.

Right! I would like to scan a surface of an object. I want to define an array of points [x, y, z] and move the tip of the printer on these. I am going to have a look about the Gcode, as you said.

However it should be a very common application, so I am looking for a script or some pieces of code.

Moreover how can I estimate the maximum weight that the carriage of the print is able to move?


Would coordinates from a 3D scan tell your probe about where to look? Or would the scan data be enough?

I don't quite get you, you want to scan an object with a series of checks right? Unless you already know exactly the shape of the object I highly doubt you can define the (x, y, z) coordinates of each probe point as you don't know how high is the object at that position. I suggest making a series of probes with predefined (x, y) coords and finding the height through the probe. Of course this only applies if you want to scan the surface of an unknown object.

About the carriage weight, I think you can calculate it starting from the force of the motors. But anyways unless you put too much weight (and by too much I really mean a lot, possibly over a couple kg) the only thing affected by the weight is moving speed.


The Materia 101 uses the "Marlin" firmware which has the G30 code which will probe the bed at a given X and Y location and report the Z height to the serial port. Your difficulty is that you're probably going to have to adjust the firmware settings to get the probe to work right; I believe the probing by default will use the Z-min port which the Materia already has occupied, so you're going to have to move that endstop to Z-max port then adjust the Marlin configuration to reverse the direction of the Z-homing sequence. Or I suppose it might be easier to modify Marlin to reverse the probing direction.

Certainly possible -- and it should work pretty well -- but it's a lot of mucking around.

Start here: Make note of "cfg_materia101.h". The probing routines are in "Marlin_main.cpp".