loading
Picture of Arduino Laser Engraver
cnc2.png
DSC_0405.jpg
I started this project because I wanted to make something that had mechanical, electrical and software components. After looking around on Instructables, I figured that an Arduino based laser engraver would be an interesting machine to make, and that the machine itself could make interesting things. Laser diodes have also advanced quite a lot in the last few years, allowing reasonably powerful DIY laser engravers to be made without the hassles of laser tubes.

This machine can engrave wood and cut paper. I haven't tried other materials yet because there is no fume extraction capability - plastics generally create toxic gases when burnt.

SAFETY WARNING - Please be safe when using lasers. The laser used in this machine can cause permanent eyesight damage, and probably even blindness. When working with powerful lasers (>5mW), always wear a pair of laser safety glasses designed to block your laser's wavelength.

For a quick overview of the guts of the machine, have a look at the video below
(Note: The machine runs slightly faster now, and also has a different laser heatsink to the one in the video)



For pictures of engravings, skip to the end, or visit my website's gallery:
http://getburnt.weebly.com/gallery.html

A spreadsheet containing the parts list is below.


Also, for any Aussies unsure about the laser import laws, I've attached the current rules (at Dec 2013) below. Laser diodes and laser modules (such as the one in this machine) are legal, however laser pointers are prohibited.
This is a pdf version of the following webpage: http://www.customs.gov.au/site/page4372.asp
 
Remove these adsRemove these ads by Signing Up

Step 1: Frame Design

Picture of Frame Design
machine3d.png
Before starting construction, I made a CAD model of the machine to make sure that everything would fit, and to figure out the dimensions of the parts. Some screenshots of the machine's CAD model are above.

The y-axis is on the bottom of the machine, and provides a moving base for the engraved piece. The x-axis is on the top, and moves the laser assembly (the laser isn't shown in the model).

Step 2: Linear Motion Method

Picture of Linear Motion Method
DSC_0277.jpg
DSC_0278.jpg
The machine uses ballscrews and linear bearings to control the position and motion of the X and Y axes.
The specifications of the machine's ballscrews and accessories are:

16mm ballscrew, 400mm length (462mm including machined ends)
5mm pitch
C7 accuracy rating
BK12/BF12 ballscrew supports

I chose to use ballscrews due to their very high accuracy (minimal backlash), rigidity and efficiency. Since the ballscrew nut consists of ball bearings rolling in a track against the ballscrew, there is very little friction, which means the motors can run at higher speeds without stalling.

The second photo shows a test fitting for the x-axis. On either side of the ballscrew is a linear bearing on a steel shaft. This configuration is quite common for cnc machines, and provides a stable foundation for the base plate (Y-axis) and laser assembly (X-axis).
The parts I used are:
16mm hardened chromed shaft , 500mm length (qty: 4)
16mm linear bearing - SC16LUU (qty:4)
16mm shaft support - SK16 (qty:8)

The ballscrew nut's rotational orientation is locked using a piece of aluminium (this is how we spell it in Australia!) angle attached to the moving component of the axis. This can be seen in the last photo, which shows the y-axis. The base plate is fastened to the two linear bearings, and to the ballscrew nut (through the aluminium angle). Rotation of the ballscrew shaft results in the linear motion of the base plate.

Step 3: Frame Construction

Picture of Frame Construction
DSC_0289.jpg
DSC_0290.jpg
The ballscrew supports and shaft supports are mounted on 50mm x 50mm hollow aluminium posts. These posts are used for all major structural parts of the machine, and are actually aluminium fence posts (purchased at Bunnings, if anyone from Australia is reading). The thickness of the aluminium is about 2mm.

I chose to use these posts because they are easy to cut and drill, and also hold their shape well when supporting heavy loads. In addition, because they are square, they provide excellent reference surfaces to make sure things are parallel / perpendicular.
The holes were drilled using a cordless drill, and the posts were cut using a mitre saw. (It is also possible to cut the aluminium posts with a hacksaw).

M5 socket head cap screws, and M5 nuts were used to hold most of the parts together. I didn't use a permanent fastening  method because I wanted to keep everything adjustable. Using screws also means that the machine is easy to disassemble and modify for future upgrades.

Some pictures of the frame being built are above. The base of the Y-axis is made up of several A4-sized 4.5mm thick clear acrylic sheets.

Step 4: Stepper Motors + Drivers

Picture of Stepper Motors + Drivers
motorsideview.png
motor3d.png
DSC_0284.jpg
DSC_0301.jpg
DSC_0302.jpg
After some poor results with NEMA 17 stepper motors in an earlier design, I decided to use some NEMA 23 motors with a decent torque rating for this machine. Strong stepper motors also require strong drivers to get the most out of them. As a result, I chose to use a dedicated stepper driver for each motor.

Some details about the chosen components are below:

Stepper Motor (qty:2)
NEMA 23 frame size
1.8Nm holding torque (255 oz-in)
200 steps / revolution (1.8 deg step angle)
Up to 3.0A current
Weight - 1.05kg (They are really heavy!!)
Bipolar 4 wire connection

Stepper Driver (qty:2)
Digital stepping driver
Microstepping feature
Output current 0.5A to 5.6A
Output current limiter (reduces risk of motors overheating)
Control Signals: Step and Direction inputs
Pulse Input freq up to 200kHz
20V-50V DC supply voltage

For each axis, the motor directly drives the ballscrew through a motor coupler. The motors are mounted to the frame using two aluminium angles and an aluminium plate. The aluminium angles and plate are 3mm thick, and are strong enough to support the 1kg motor without bending.

Note: It is really important to correctly align the motor shaft and ballscrew. The couplers I used have some flex to compensate for minor errors, but if the alignment error is too large, they will fail!

Step 5: Laser Diode + Driver

Picture of Laser Diode + Driver
DSC_0123.jpg
DSC_0355.jpg
DSC_0357.jpg
laser_circuit.gif
DSC_0126.jpg
The laser diode I chose is a 1.5W 445nm diode mounted in a 12mm aixiz housing, with a focusable glass lens. These can be found, preassembled, on eBay. Since it is a 445nm laser, the light it produces is visible blue light.

The laser diode requires a heatsink, when running at high power levels. I used two  SK12 12mm aluminium shaft supports, to both mount and cool the laser module.

The intensity of the laser output is dependent on the current that goes through it. The diode by itself cannot regulate current, and if connected directly to a supply, it will draw more and more current until it destroys itself. So, a regulated current circuit is required to protect the laser diode and control its brightness. A circuit diagram of my laser driver is above.

This circuit requires at least a 10V DC supply, and has a simple on/off signal input, which is provided by the Arduino. The LM317T chip is a linear voltage regulator, which has been configured as a current regulator. A potentiometer is included in the circuit to allow the regulated current to be adjusted.

The values of the resistors are:
R1 - 1 ohm (3W)
R2 - 5 ohm (15W) potentiometer
R3 - 180 ohm (0.5W)
(R1 and R2 need to have sufficient power ratings to support the power that is dissipated through them)

R1 and R2 together control the value of the regulated current. The range of current outputs for this circuit are:
R1+R2 = 1ohm: 1.25A
R1+R2 = 6ohm: 0.21A

The NPN transistor is used as a switch. When there is a 5V output from the Arduino, the circuit will turn on the laser. When there is a 0V output from the Arduino, the circuit will switch off the laser.

I used veroboard (stripboard) to mount all the laser driver components. Heatsinks were also installed on the LM317T and NPN transistor. Solid core 22 AWG wire was used for connections between different points on the veroboard.

Step 6: Power Supplies

Picture of Power Supplies
DSC_0377.jpg
DSC_0406.jpg
The machine has two separate power supplies, due to different voltage requirements. The stepper motor drivers can accept a 20V-50V DC supply. Each stepper motor has a maximum current of 3.0A, but in normal operation, the motors don't need 3.0A. When they are running continuously, I found that they need less than 1A each. When the motors are changing speed, they usually need less than 2A each. The power  supply I used to supply both stepper drivers is a 100W lab power supply, with a maximum output of 36V at 3A.

The laser driver requires a supply voltage of at least 10V, with current of at least 1.25A. I used an ATX PC PSU as a 12V power supply. The laser driver is connected to the PSU through a breakout box that I made, which provides standard banana jacks for +5V and +12V terminals. The box also has analog ammeters for monitoring current. For instructions on how to create an ATX PSU breakout box, there are a number of other instructables on this site.

Step 7: Microcontroller + Electrical Connections

Picture of Microcontroller + Electrical Connections
An Arduino provides the brains for the machine. It outputs step and direction signals for the stepper drivers, and a laser enable signal for the laser driver. In the current design, only 5 output pins are required to control the machine.

A diagram showing all the electrical connections is above.

An important thing to remember is that the grounds for all components should be connected together.

I used solid core 22AWG wire for signal lines and power cables. For power cables, the power supply ends were terminated with banana plugs.

Step 8: Software (Raster Engraving)

When I originally designed the machine, I only wanted it to engrave regular bitmap picture files. So, I made three separate programs, which when used together, allow normal bitmap pictures to be engraved onto wood.


C# Program (Generates "instruction" text file)

This accepts a bitmap file and outputs a text file, containing "instruction characters". The bitmap type it accepts is a 24-bit bitmap, with only black and white pixels (no greys / colours). The program analyses the bitmap, scanning row by row for the black pixels that need to be engraved. First, it scans the top row left-to-right, then drops down one row, scans right-to-left, drops down another row, scans left-to-right, and so on, until the last row is scanned. It can skip blank pixels on the edges of the rows, and can skip blank rows. Also, due to the Arduino serial buffer limitations, the program divides the text file into comma separated "instruction blocks", which are under 64 characters long. These numerical instructions are interpreted by the Arduino (see Arduino Sketch section for details).

This program works well for smaller images (eg  less than 1000 x 700), but gets bogged down with larger images that have lots of burnt pixels (can take over 10 minutes to generate the instruction file).

The way that this program scans the image carries over directly to the way the machine engraves the image. The Arduino uses the instruction file to make the machine engrave the image row by row.

Sample Comma Separated Instruction Blocks (to see what the numbers mean, scroll down to the Arduino sketch section):

111111111111111111111111115555555555555555555555555555555555920,
019201920192010101010101010101010101010101010101010101010101010,
010101010101010101010101010101010101010101010101010101010101010,
0101010101010101010101010192019201920,
11594039403940394039403940303030303030303030303030303030303030,
030303030303030303030303030303030303030303030303030303030303030,
0303030303030303030303030303030394039403940394039403940,

The executable is at the bottom of the page


Processing IDE Sketch (Streams instruction data)

A simple Processing sketch was created to stream the contents of the instruction file.

You can get Processing from here: http://processing.org/

The data is streamed via a virtual serial port connection to the Arduino. The sketch sends the comma separated instruction blocks, one block at a time, with a delay between blocks. These delays are calculated at run time, based on the contents of each instruction block. The delay is needed to ensure that the Processing sketch doesn't send new instructions to the Arduino before the previous instructions have executed. If this occurs, the engraved image will be corrupted, so the timing values used in the Processing sketch and Arduino sketch have to be compatible.
The Processing sketch also provides a progress status, by counting the total number of instruction blocks, and continuously reporting how many instruction blocks have been sent to the Arduino.

The sketch is at the bottom of the page


Arduino Sketch (Interprets instruction data and controls hardware)

The Arduino sketch interprets each instruction block. There are a number of instruction characters:
1 - Move RIGHT by one pixel FAST (blank pixel)
2 - Move RIGHT by one pixel SLOW (burnt pixel)
3 - Move LEFT by one pixel FAST (blank pixel
4 - Move LEFT by one pixel SLOW (burnt pixel)
5 - Move UP by one pixel FAST (blank pixel)
6 - Move UP by one pixel SLOW (burnt pixel)
7 - Move DOWN by one pixel FAST (blank pixel)
8 - Move DOWN by one pixel SLOW (burnt pixel)
9 - Turn laser ON
0 - Turn laser OFF
r - Return axes to start position
With each character, the arduino runs a corresponding function, to write to the output pins.

The Arduino controls the motor speed through the delays between step pulses. Ideally, the machine would run the motors at the same high speed, whether its engraving a pixel or passing over a blank pixel. However, due to the laser diode's limited power, the machine has to slow down slightly when burning a pixel. This is why there are two speeds for each direction in the instruction character list above. Currently, I have configured the machine to pass over a blank pixel in 8ms, and to pass over a burnt pixel in 18ms.

The Arduino sketch also controls image scaling.
The stepper drivers have been configured for half-stepping, meaning that the drivers need 400 step pulses per one revolution of the motor, or 400 step pulses / 5mm of linear motion. Without any scaling, the engraved pictures would be too small to see.
I decided to use a scale factor of 8, so that when the machine moves one pixel, 8 step pulses are sent. This translates to 50 pixels / one revolution of the motor, or 50 pixels / 5mm of linear motion. This means that the pixel pitch is 0.1mm, or 254dpi. An image that is 1600x900 pixels will be 16cm x 9cm in size.
It should be noted that although the pixel pitch is 0.1mm, the pixel spot created by the laser is larger than 0.1mm x 0.1mm.

The sketch is at the bottom of the page

Step 9: Software (Vector Mode)

The machine is compatible with the very cool Grbl Arduino software.

Check out the Grbl website here: http://bengler.no/grbl

Grbl has been designed to control 3-axis CNC milling machines. It interprets G-code instructions, and outputs control signals for X/Y/Z axis stepper motor drivers and the spindle.

For the laser engraver, the X and Y axis stepper drivers are connected to the relevant pins on the Arduino. The Z axis outputs are ignored.
The laser driver is connected to the spindle enable pin on the Arduino. To turn on the laser, the M03 code is used. The M05 code disables the laser.
(These are usually the codes to turn on the spindle (clockwise) and turn off the spindle)

The video below shows the machine engraving a vector drawing with Grbl.

Step 10: Improvements by the Instructables Community

This step is intended for sharing improvements made by Instructables readers.


Handshaking - by "spiralout11235"

The first improvement is from "spiralout11235" (clever username!) who has implemented serial handshaking between the Processing sketch and the Arduino (for raster engraving). This eliminates the need for setting time delays in the Processing sketch.  In addition, the Arduino sketch features PWM control of laser output, and a few other changes you'll notice if you look through the code closely.
He has kindly offered to share his ideas and code. Here are his notes:

Arduino sketch: version 4.0 Handshake
Processing sketch: 2.0 Handshake

Version notes: Handshaking is now implemented: no longer need to set delay times in Processing. This means Arduino and Processing send and receive data when the other is ready. Processing waits until it receives Serial data: SerialEvent() triggers and reads until the line break '\n'. So Serial.print()'s until Serial.println() is the entire command from Arduino. (Black and white images only; no greyscale)

1. Arduino println's out an "A" and waits for Processing to receive this and send it back. "Connection established".
2. Arduino sends a "1" to signal that it is ready for the "linelength" of the next instructions set.
3. If Processing receives "1" it sends (linelength + 10) (reason explained in code).
4. Arduino is now expecting linelength. Reads serial when it comes and writes linelength = linelength-10. Arduino sends "2" signaling ready for Instruction block.
5. If Processing receives "2" it sends the next instruction block.
6. Arduino receives instructions block and continues reading each byte until numBytes = linelength (expected number of bytes) as basic assurance of complete data
7. Repeat steps 2-6 until all instruction sets are sent.

In addition, I hooked up a Button and a Pot
- When Arduino starts up, while it's looking for Processing to start (establishContact() function), it enables the user to hit a button to turn the laser on; the percentage of 'on' is determined by the reading of the Pot. After setup, button/pot are not used.
- This enabled me to set up the laser current draw/limiting (at max Pot) as well as line up my target (at low Pot)
- Button: one side to ground, one side to pin 12, which is set to INPUT_PULLUP
- Pot (10k or anything high enough not to blow the pin (20mA I believe)): 1 end to 5V, the other to Gnd, the middle to Analog (A0) or pin 14
*After setup, laser power is determined from defined variable laserPercentage
**** Laser control must be at pin 10 (or any with PWM) for analogWrite() to work. If you don't have a Pot yet, just feed pin 14 5V so laser is set at full power.


The Processing and Arduino files are in the "Handshake.zip" file below.




If you'd like to share your improvements or suggestions, send me a message (via Instructables or getburnt1@gmail.com), and I can upload them to this step.

Step 11: Final Results and Conclusion

Picture of Final Results and Conclusion
dodge_viper2.jpg
laser_circuit.jpg
worldmap2.jpg
Some images that the machine has engraved are above. (For the engraved photo and Arduino logo, some image processing was required before sending the bitmap to the C sharp application).

For more images, have a look on my website: http://getburnt.weebly.com/gallery.html


Final Thoughts
Overall, I think this project was worth the time and effort. I gained a lot of knowledge that can be transferred to future projects. Probably the most useful thing I learnt is to make sure all the parts can work together effectively - if there is a weak component, it has the ability to limit the whole machine, due to dependencies between components. For example, the motors have to be strong enough to move the axes, but then the frame has to be strong enough to hold the motors, and so on...

There are also a few future updates that would make the machine better:
- Install a stronger laser to speed up the machine
- Add limit switches on both axes to protect the machine from crashing into itself (haven't had a crash yet, but it is inevitable without limit switches)
- Refine the C sharp program, so that larger images don't take 15min+ to process into instruction files
1-40 of 115Next »

Hello, sorry for my english :D

I watched the video " vector mode with grbl " and I have done it . But in raster engraving, I can't do it. Can you guide me can do it like your car carved above does not .or you can make a video about the creation process and file for engraving machine not, like his video above vector mode. Thank you very much!

getburnt (author)  phungduchiep8 days ago

Hi, here are some detailed steps
for raster mode

Arduino:

Upload "cncmotors_driver3.ino"
to the Arduino through the Arduino IDE (sketch editor).

You may need to change the
"LASER" pin assignment - I used an Arduino Mega, so it is pin 51 in
the Arduino sketch. You can also edit parameters such as time delays and the "scalefactor" variable to match your
machine, then upload to the Arduino.

To check that the sketch is working
properly, you can manually drive your machine using the Arduino Serial Monitor.
For example, sending the text "11111" should move the laser 5 steps
to the right. Sending a "9" should turn on the laser, and sending a
"0" should turn the laser off.

Processing:

Download and install the Processing
IDE (link is on step 8). I used version 2.0.1 32-bit, with the Serial library,
but there might be a newer version now.

The Processing sketch streams the
text file to the Arduino. Try the steps below to get it working:

Copy the
"textfilestreamer2.pde" file to a location on your computer. As an
example, I'm going to use "C:\"

Open the
"textfilestreamer2.pde" file. If Processing has been installed
correctly, a popup message will appear, and tell you that the file needs to be
inside a sketch folder. Click ok, to create the folder.

You will now have the folder
"C:\textfilestreamer2\"

Create the folder
"C:\textfilestreamer2\data\"

Generate a "cncinstructions.txt"
file from an image:

Run the "CNC Image
Program.exe" program

In the program's text box, enter the full path to your bitmap file. There is a
sample bitmap (arduino.bmp) included with the program that you can try first.
The path would be something like "C:\CNC Image Program\arduino.bmp"
(depending on where you put the folder)

Click "OK" and after a while, the image should be displayed by the
program. The file "cncinstructions.txt" should have been created in
the folder (eg C:\CNC Image Program\cncinstructions.txt)

(If you need to run the program again, clear all .txt files in the folder)

Put the txt file in the correct
folder:

Copy the text file you generated
and paste it into

"C:\textfilestreamer2\data\"

In Processing, click
"Run"

It should start sending data to
your Arduino - the Rx/Tx status LEDs on your Arduino should start flashing.

Note: The Processing sketch has been
configured to use "COM3" to talk to the Arduino. If your Arduino is
on a different COM port, you can either change it to COM3 in Windows Device
Manager, or edit the sketch to match your configuration.

Setting Start Position:

You can use the serial monitor in
the Arduino

IDE (sketch editor), to send manual user inputs and set the start position.

Click "Tools" ->
"Serial Monitor". Then, you can enter the numbers 1,3,5 or 7 to move
the X/Y position. For example, sending the text "1111111111" will send
instructions to make the laser move 10 steps (1mm) to the right.

If you get stuck, you can send me an email (getburnt1@gmail.com)

ok, thanks, i will try it

Hi, I have everything up and running, motors work and can be controlled. However, I am unsure which hole in the arduino the npn transistor should be wired to, and which transistor you used (Im using a c1815 gr331). Additionally, I want to use a battery power source for the laser instead of the breakout box, do you think that will cause me problems?

Thanks

getburnt (author)  Bruce_Iverson14 days ago

Hi. I used pin 51 for the laser (I used an Arduino Mega). You can change it to any pin you want, by modifying the "LASER" variable in the Arduino sketch.

The transistor I used is a TIP102 NPN Darlington Transistor. The main criteria for choosing the transistor is how much current it can handle. The laser driver circuit is designed for 0.2A to 1.25A, so the transistor needs to support at least that much - the TIP102 is good up to 8A, but the c1815 GR331 can only do 0.15A.

A battery should be ok, as long as the voltage is 10-12V, and it can supply a current of at least 1.5A. It may be better to get a 12V plug-pack / wall-wart power supply instead, such as:

http://www.jaycar.com.au/Power-Products-Electrical...

I'd recommend a power supply that is 10-12V, that can supply a current of 1.5A or higher. (A higher voltage supply will just heat up the circuit)

Thanks for the prompt reply!

What feed rate were you using for the vector car drawing? I have an CNC z,y table and I'm trying to pick out a laser for it.
getburnt (author)  Dr. Jerryrigger15 days ago

I think I used 400mm/min, with the laser power turned down a little bit. With the laser at full power, it could probably go faster, but I was worried about the laser getting too hot (since it can be on continuously for 30 sec+). It's probably best to get a powerful laser, and adjust the power down as required.

Thanks! That's about three times the speed I'm running at now with a 70watt soldering iron.
DanieleZ16 days ago

Hi I really love this project, can you explain what you mean by image processing?

I want to engrave photos like yours, thank's in advance.

getburnt (author)  DanieleZ16 days ago

Thanks! By image processing, I just mean editing the bitmap file so that it is compatible with the C# program. This generally involves adjusting brightness / contrast, changing it to a black and white dithered image (using GIMP or Photoshop), then saving it as a 24-bit bitmap file.

E1024d3 months ago
hi
i don't know about electronic.but i really want this machine.now i am working on it.
can you be more specific to the electrinics controling the laser.
1.the schematic above shows three resister(R1,R2,R3).what are their values?
2.what kind of NPN should i order
thanks
can you please send me a mail
mail:eddieli1024@gmail.com
getburnt (author)  E1024d3 months ago

Hi, I've sent you an email with more info about the components I used.

E1024d getburnt2 months ago

hi

I can not get Rectifier Diode you told me to use .can I replace them with 1N4007 diode

Thanks


getburnt (author)  E1024d2 months ago

The 1N4007 diode can only do 1.0A, which isn't enough. You should try to look for a diode that can support 2A or higher

E1024d getburnt2 months ago
ok.thank you
jithints3 months ago

thank you very much...

jithints3 months ago

hello,

i want to do the same laser engraver, but the image to text converter is not working

pls help me on dis

thanks in advance...

getburnt (author)  jithints3 months ago

Hi, I've sent you an email

Can I engraver about a .3mm height of characters that small?

getburnt (author)  sam.nguyen.1694 months ago

0.3mm is very small! Do you mean 0.3cm / 3mm? The smallest I've tried is 2mm character height, and that is still very sharp and readable.

MircoSlepko5 months ago

Hello, sorry for my english ..

I can with Arduino + grbl change the laser power such as using the gcode G97 spindle RPM?

or do you have other ideas?

thanks for the reply

getburnt (author)  MircoSlepko5 months ago

I haven't tried it, but it looks like Grbl 0.9 has PWM output for spindle RPM. So, you should be able to control laser power if you use that output pin (D11). You might need to edit your gcode files manually, to set the correct values.

(My machine doesn't have software control for laser power - I just use a potentiometer)

thank you very much.

I installed grbl 0.9 and I was able to use the 11-pin PWM.

greetings

TimSwift5 months ago

What was the total cost of the project?

Thanks

getburnt (author)  TimSwift5 months ago

About $1200 - $1300 Australian Dollars. The ballscrews and their mounting parts and were the most expensive items (about $400 total), and the steppers/drivers were also a big cost ($200 total). There are some approximate part costs in the spreadsheet on the first page

johnnyBOY3146 months ago

Belt speed should be faster.

pierreh17 months ago

hi my gcode sender does not work why would that be and how do i know if the engraver is on how does the on/off work on the arduino plz reply ASAP plz thax

getburnt (author)  pierreh17 months ago

The Gcode sender is only needed for vector mode (Step 9) - is that the mode you want to use? For vector mode, you'll need to install GRBL on the Arduino. You might need to check your serial port settings if the Gcode sender doesn't communicate with GRBL

pierreh1 getburnt6 months ago
Hi. Not one of the sketches work on the arduino
getburnt (author)  pierreh16 months ago

Are there any error messages? Are you able to upload the arduino sketch to your arduino? If you're not using an arduino Mega, you'll have to change the "LASER" pin to a different pin number. Also, what motor hardware are you using? The sketch assumes that the stepper drivers accept step/direction pulses.

pierreh1 getburnt7 months ago
Hi. How do i install GRBL on the arduino?? And. On the arduino. How do i wire pin 1 and pin 0. For on/off. That part im struggling with. Thax for your reply. And thax for a
great project
getburnt (author)  pierreh17 months ago

If you're just trying to get your machine working, I'd suggest using raster mode (Step 8) instead. It is easier to troubleshoot with my Arduino sketch (you might need to modify the pin assignments because I used an Arduino Mega). Once you have uploaded the sketch, you can use the Arduino IDE Serial monitor to manually drive the machine. You can send it instruction characters such as 1, 3, 5 or 7 (move right, left, down or up), and check if your motors move correctly. The laser is turned on/off by the instruction characters 9 and 0. If you need further guidance, send me an email - my address is getburnt1@gmail.com

TrueHybridX7 months ago

How were you swapping between the vector and raster modes?

With reading the instructable I logically think during raster mode it seems the machine would be jumpy as it goes from pixel to pixel, is that not the case?

getburnt (author)  TrueHybridX7 months ago

Hi, I used different software on the Arduino. For raster mode, I used my Arduino sketch. For vector mode, I installed an unmodified version of GRBL on an Arduino Uno.

(Note: GRBL 0.8c didn't work on an Arduino Mega. I'm not sure if the current version of GRBL supports the Mega).

Would it be possible to get a copy of the code for your desktop app? Or maybe post it on github? I want to give a go at getting it working on my Linux box
getburnt (author)  TrueHybridX7 months ago

Yes, I've sent you a private message

01010010008 months ago

hello,
meantime thanks for sharing this project !!!
and could you help me with the part about the laser?
you have a scheme for newbie for the PCB that you did? and all the necessary materials including laser, lens ecc ecc?
many many thanks
RB

getburnt (author)  01010010008 months ago

I've sent you a private message

Thanks for the reply, but I can not find the PM :-(
1-40 of 115Next »