Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - RobotEyes

Pages: [1]
RobotLaser / Robot Laser Final Version
« on: January 16, 2017, 04:39:08 AM »

Goodmorning everyone

The Beta version of RobotLaser has finished its cycle, and will no longer be managed, nor issued license after its expiry.

Before January 20 two versions will be available:
1)   RobotLaser FREE, which is derived from the last beta version (0.6)
2)   RobotLaser Standard, currently v.1.0.0

The FREE version will continue to be available for free, but no new features will be implemented. It will remain frozen as is.
To use it you will need to make a new registration of a duration of one year (of course always free)

The standard version will be available for purchasing.
There is a trial period of 15 days (instead of 10 as the beta) after which, will need to buy it.
In case of necessity, the test may be extended for another 15 or 30 days,
Please contact with the reasons for the request of the extension.
It will be possible only one extension of the test period.

The Standard license will be entitled to free download updates for all 2017.

The license, as usual, will be tied to disk on which RobotLaser is installed when requesting the activation code.
If you think you want to use RobotLaser on multiple PCs (one at a time)
we recommend you install on removable media (eg USB Key)
In this case, moving the key from one PC you can always use the same activation key that will be valid on all PCs.

If instead it is necessary to install the product on multiple PCs that operate simultaneously
an additional license (50% of the first) will be purchased.
For more than 3 licenses, contact me and we will find a solution.

Within one / two months, PRO version (with new features) and the Enterprise version will be availables.
Enterprise version enable to have RobotLaser installed and operational on all PCs of a company (max 25)

At the moment the license fee for RobotLaser Standard (with 1 year updates) is fixed at
promotional value of 30.00
For payment please click on the "Buy Now" button on the information page ([?] Button on the main menu)
From here you will be redirected to the PayPal payment page.

For any other types of payment, please contact me.

Last Note.
Those who have made donations for the Beta version, are entitled to a discount on the the license fees.
Please contact me for instructions on how to get the discount.

Have a nice day

RobotLaser / Installation Media
« on: November 28, 2016, 05:15:25 AM »

Many people asked me what is the best support for RobotLaser;

Normally a USB stick is the simplest choice.
Easy to move and compatible with all PCs.

The size can also be very small (RobotLaser takes 4-5 Mb at the moment, certainly less than 10Mb in the future)

Many people use the key also to keep images and drawings.
You can use a 2 - 4 GB stick that is very cheap, and can contain lots of drawings.
If you plan to use very complex drawings you may also use a larger one,
but remember that with a 0.2 mm resolution a 100x150 mm engraver requires a 500 x 750 pixel image
that (in grayscale) occupies about 1-2 Mb.
It makes no sense to use images with much higher resolution (you can, of course, but the result does not improve)

The important thing is that the key is reliable,
if it breaks, the license dies with the stick.
While if it gets corrupted, it's not a problem you can ever reformat and reinstall in the same stick with the same license.


RobotLaser / RobotLaser Updates (Beta 0.5.2)
« on: November 19, 2016, 06:09:17 AM »
Release 0.5.2 is available.

This closes the 0.5.2 development cycle; the next will be 0.6.0

News are:

Ellipses support in DXF Import
There is still a small bug on Mirroring (Flip) of the ellipse arcs, which are treated as rotated instead of mirrored (it's a subtle difference that involve the tracking direction)

At the moment I do not think of developing more in DXF, unless specifically requested.
I do not expect to support Text and Blocks.

MARLIN firmware support

using this option Laser can be installed instead of the extruder in a 3D printer
and use the structure as a laser engraver.
The laser must be connected in place of the filament cooling fan (D10 I suppose).

Z-axis managementis is available as "Focus."... a value of 0 inhibits the function.

I tested with 3DRag printers with dedicated card and with PRUSA 3 with Arduino Uno and RAMPS 1.4

Theoretically it should work on any 3D printer firmware, but I could not test it.

The laser modulation command is no longer M03 Sxxx but M106 Sxxx (0-255).
In the case of firmware "RepRap" the command is M106 Sy.y (0.0-1.0), selectable from configuration.
A out of standard baud rate of 250000 bps  was added because is native for Marlin firmware and derivatives.

Some users said me that are building an engraver using the hardware RAMPS.

If the purpose is to use the same hardware for even a 3DPrinter it's OK !!!

If the machine will only be laser engraver, I do not recommend this approach,
because Marlin and RAMPS are optimized for other purposes.
A normal Arduino with V2 or V3 CNC shield performs better.
Arduino 2 would be the top, but I dont know CNC Shield for Arduino 2

however a MOSFET (or a high speed SSR) will be needed to drive the laser.


Better management of Dirthering function.

The Dirthering function is born from newspapers printing, which once did not have greyscale.
In RobotLaser remains, for those who use it with GRBLv 8.0, without PWM.

In other cases the result of the gray scale is better that Dirthering.
Look at photos, the tests were performed on wrapping paper,
to show how the texture of support, sometimes, makes useless many niceties.


On the download page (
you can find the stable version, which includes all parts necessary for the functioning-
On the SnapShot area, there are the versions under development.

Typically they have better performance and or functions, but they are not fully tested.
In the snapshot there is just the executable RobotLaser.exe, to replace the one of the stable release

RobotLaser / DXF Import
« on: November 01, 2016, 08:25:05 AM »
The work on the import of DXF files is still in progress.
The software has been written based on the Draft R13
(if I remember AutoCAD LT2000)

Are recognized
some additional items such as THUMBNAILIMAGE and ACDSDATA,
but not implemented, only recognized to avoid errors.
Currently is implemented only ENTITIES Section,
Within this section are recognized
these entities:

Still under development:

In development on request only

is not supposed to be implemented the entities:

In the latest version was introduced an option to change laser power according to the Layer
by referring to Layer 0 = 100%
The colors associated with each layer are fixed, and are supported and a maximum of 16 layers.


RobotLaser / RobotLaser Beta Released
« on: October 29, 2016, 01:26:32 AM »
RobotLaser version 0.5 (beta) has been released

RobotLaser is a complete suite for laser engraver management,
It allows  upload images, elaborate them and send to the engraver,
there is also the possibility of moving "manually" the laser, moving it in any direction, with power on or off,
Small GCode programs  can also be manually written .

The suite imports almost any Windows compatible bitmap graphics(.jpg, .gif, .bmp, .png etc. etc.)
The image could be scaled to the desired size (in mm), is also possible to rotate and mirror images,
spatial filter (Laplacian etc.) may also be applied or profile can extracted (ex. to cut a material)
Is also possible to import DXF type vector files, particularly suitable for  "Cut" works.
Is possible to modulate laser power (in addition to grayscale)  assigning a different value to each image color

RobotLaser works with the widely used CNC firmware: GRBL v. 0.9 (for PWM power control).
Next release of RobotLaser (0.6) will work also with Marlin firmware in order to use a 3D printer structure.
for laser engraving and easy CNC works (ex. printed circuit engraving).

RobotLaser can be downloaded here:  or

Installation Guide is Here:
Draft Manual is here:

At the moment RobotLaser supports: English, Italian, French German.

This version is for the public testing, before the final release.
There may still be bugs, which will also be solved with the help of the tester.
For this reason, the BETA version is still free.
Obviously a small donation to support our efforts is always welcome,

Despite the Beta version is free, registration is required.
Trial license (free and anonymous) lasts 10 days, then you must register.

If you plan to use RobotLaser on multiple PCs, install it on a USB drive
BEFORE validating product.
This way you have a portable installation that will be validated on each PC
always with the same code received by eMail.

If you have questions or bug report please email us at

Information on the internal mechanisms of RobotLaser are available here:

I hope that this software helpful.
Any note, advice or critique is always welcome.

In a few days will be available some hardware accessories, such as:
*) Air Assist for lasers with 42mm and 33mm case
*) Home kit, to reset laser in a known position.
*) In 2017 it will also be available a large engraver (500x500 mm) with or without Laser head.

If anyone can improve the translation in various languages,
or want to help introduce a new language, is always welcome,
Please write to
and I will send the "language" files for correction / translation


RobotLaser / Genesis of a Laser Controller
« on: September 10, 2016, 02:45:54 AM »
For the curious ... this is the genesis of RobotLaser.

After the purchase of laser plotter, I looked the software,
what I wanted is an integrated suite to generate the gcode, and manage the laser:
*) Benbox is unusable
*) Grbl controller is very complex and unreliable,
*) T2Laser is great, but tied to a PC only.

So, I looked  a long on the internet and I found 3dpBurner, which only generates gcode,
but had some interesting features,
so I took the kernel and I integrated with a management module that I wrote,
and I got my version of Laser controller
(i'm quite sure that T2Laser was generated in the same way)

Then I added the research of the outlines, to transform images into vectors
(similar to the BenBox "Contour" function )
using the principle of Papert Turtle
(In 1967 Seymou Papert created the first graphical language (Logo)
 who had six commands: forward, back, right, left, write, not write)
Integrated with a labeling algorithms (Herman & Liu, 1978).
Finally I created a BitMap->Vector conversion quick and scalable,

Then I faced the problem of the GCode Raster generation.
I did not liked so much the Villamany algorithm (Image2GCode),
so I kept the external structure (flip, rotate, equalize, etc, which are functions provided natively by Microsoft)
and I decided to rewrite the algorithm Image2Gcode:
Villamany creates a grid in world coordinates with step "Resolution",
then overlaps with the bitmap and look for the nearest pixel.
This involves, however, an irregularity in the contours, such as when you scale an image magnifying the pixels.
Then, while maintaining the original image I created a work bitmap with the bicubic resizing (for me the best)
so you have the pixels of the size of resolution .
At this point is easy to scan the image by pixels and not by world coordinates,

Second thing,
Image2GCode generates a command line for each step of the grid,
eg: G0 X0 Y0 S0 - G1 X0.2 S0 - G1 X0.4 S127 - G1 X0.6 S127- ......... - G1 X9.8 S127 - G1 X10.0 S0
when would be enough G0 X0 Y0 S0 - G1 X0.2 S0 - G1 X9.8 S127 - G1 X10.0 S0.
My algorithm works on this basis.
It seems useless optimization, but Arduino Nano has serious, not solvable, problems
receaving many high-speed data (as reported on GRBL Wiki)
Less useless data you send, the better is.
Now I'm trying with Arduino Mega and GRBL Shield,
and all communication problems seem disappeared !!!!!!!

Image2GCode uses Microsoft native primitives to access the single pixels, this is very inefficient on large images,
so I wrote a class library that implements the concept of localization,
the image is copied in local memory as an array (x, y) of int32 (ARGB pixel)
being in the local memory, access is two orders of magnitude better,
at the end, the array is copied back on the image,
with marshaling techniques of .Net this is very fast.
Really the class library was written for tracking boundaries, so I only enriched.

End of the genesis .....
While giving credit to Villamany of inspiring me, the current version of RobotLaser is entirely written by me.
Of 3dpBurner I kept the idea of scanning the diagonal (I liked in T2Laser), but made with my software.
The tools (Flip, Rot, etc) are all native Microsoft System.Drawings
Probably I will eliminate dithering because the Microsoft algorithm does not satisfy me.
Having entered the Laser power linearization function, the grayscale is more efficient than dithering.
(This feature is unique and not present on 3dpBurner and its derivatives like T2)

If anyone wants more information on the algorithms used, send me an MP.

In version 0.4.5 there is a Sketch page, to draw small stuff,
this was a demo for an object programming course that I held many years ago.
It was written in C for WfW 3.0 (1986 ... someone remember Windows for Workgroups ???)
but the principle is still usable.

I do not think I'll leave it in the final version because the quality is not great
(comparable or less than Microsoft Paint) and my job is not to create a graphic editor,
there are many, good and free.

At the moment there is a very rough page from which you can have a Preview of RobotLaser.
We are currently in Alpha testing (not for public use).
Beta (public testing) is scheduled for October.
The first public release will probably be ready by year end.
Alpha and Beta versions are free, for the public version still do not know.

The software is written in portable technology, it does not require installation. (only .Net framework 4 or later)
Probably I will provide the public release on a USB key, so will be usable on different PCs.

I'm also thinking on a version to be put on a cheap tablet,
in order to integrate the controller with the laser unit.

Thank you and sorry for the very long post.

Other Software / RobotLaser My Laser controller
« on: August 17, 2016, 07:04:40 AM »
A couple of weeks ago I purchased the Laser A5 5500 mW.
Then I discovered that the software part is practically nonexistent.
BenBox is unusable, GRBL Controller is very complicated and does not always work.
T2Laser is the best I have found, it works very well, although not always as I want.
Downside has the license related to a single PC,
and for how it is organized my workshop, I should buy 4-5 licenses.

So last Thursday I started to write my own software.

Finally, after four days of hard work, my controller works.
I drew inspiration from image2gcode (open software) and I integrated the functions in my controller.
A major stumbling block has been the high-speed serial dialogue without loss of data;
I want to go at a fast speed (10 to 20,000 mm / min) and this is a limit.
So I used the (slightly modified) algorithm Image2Gcode then I added a portion of postedit
to jump all contiguous points at the same power.


This greatly enhances the fluidity of the stream
At the moment I have no interest in distributing the software,
It is not yet suitable for public use.

I have left two  "difficult" things:
1) Creating vector patterns
(Now I use wintopo, but I would like to incorporate into my sw)
Does anyone know a open sw who does that?

2) Another problem is the GRBL firmware.
Even after a M3S0 or M5 command
when moving motors the laser control PWM reactivate (Low-power, but active)
It is a known and documented problem  but not resolved.
When I have time I will try to see the firmware sources and
try to patch the problem.

If someone interested my efforts .... any advice is welcome.

Hello everyone,

T2 Engraving / High speed problem (Denim engraving)
« on: August 08, 2016, 03:30:10 AM »
I'm using gearbest 5.5W machine.
with t2laser  (so far the best tested software)
The goal is to etch / engrave images on Denim!

I understand that  high-speed is need for this purpose (raster mode);
so I changed the firmware parameters (Jtech 0.9g)
with maximum speed 50000 ($ 110 = 50000) and it seems to work,
the problem is that at the edges slows down the movement again with the laser on,
so... it cuts the edges.
I tried to leave a white border around it, but is ignored.
the only way I've found is to put two vertical bars far from the image
and mask it with aluminum foil.

How can i start slowing down after the image (laser off)?
I tried to increase acceleration, no results.
Any suggestions for the best setup on Denim is welcome,
it is the main destination of my new laser.

Currently i use speed 25000, power 127, 2-4 pass

My setup is as follows:

$0=10 (step pulse, usec)
$1=25 (step idle delay, msec)
$2=0 (step port invert mask:00000000)
$3=0 (dir port invert mask:00000000)
$4=0 (step enable invert, bool)
$5=0 (limit pins invert, bool)
$6=0 (probe pin invert, bool)
$10=3 (status report mask:00000011)
$11=0.020 (junction deviation, mm)
$12=0.000 (arc tolerance, mm)
$13=0 (report inches, bool)
$14=1 (auto start, bool)
$20=0 (soft limits, bool)
$21=0 (hard limits, bool)
$22=0 (homing cycle, bool)
$23=0 (homing dir invert mask:00000000)
$24=25.000 (homing feed, mm/min)
$25=500.000 (homing seek, mm/min)
$26=250 (homing debounce, msec)
$27=1.000 (homing pull-off, mm)
$100=80.000 (x, step/mm)
$101=80.000 (y, step/mm)
$102=80.000 (z, step/mm)
$110=50000.000 (x max rate, mm/min) (Previous $110=500.000)
$111=3000.000 (y max rate, mm/min)
$112=500.000 (z max rate, mm/min)
$120=2000.000 (x accel, mm/sec^2)  (Previous $120=200.000)
$121=10.000 (y accel, mm/sec^2)
$122=5000.000 (z accel, mm/sec^2)
$130=200.000 (x max travel, mm)
$131=300.000 (y max travel, mm)
$132=200.000 (z max travel, mm)

Thanks to All....... Carlo

Pages: [1]