element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Motors and Drives
  • Technologies
  • More
Motors and Drives
Blog CNC Fun: Powering up a Roland EGX-300 Desktop Engraver
  • Blog
  • Forum
  • Documents
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Motors and Drives to participate - click to join for free!
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: shabaz
  • Date Created: 2 Aug 2025 5:23 PM Date Created
  • Views 777 views
  • Likes 11 likes
  • Comments 15 comments
  • roland
  • engraver
  • EGX-300
  • cnc
Related
Recommended

CNC Fun: Powering up a Roland EGX-300 Desktop Engraver

shabaz
shabaz
2 Aug 2025


Introduction

The Roland EGX-300 is an ancient (several decades old) CNC machine intended for applications such as engraving door signs. It cannot handle material larger than 305 x 230 mm. The machine has the footprint of a washing machine, and is about 350 mm high.

These machines can occasionally be acquired at low cost because businesses are throwing them out because the software requires old versions of Windows to operate.

I purchased one from a factory up North a few years ago, but never got around to switching it on : ) It’s summer hols now, and my two teenage nephews were bored, so we decided to see if we could get this machine up and running.

Hardware Setup

The EGX-300 has a parallel (Centronics) connector and a serial (RS-232) 25-way socket. It’s almost always easier to go with serial, so that’s what we did.

We purchased a UGREEN USB-to-Serial (9-pin DB9) adapter cable from Amazon, which was advertised to contain a PL2303 chip inside. That’s not supported by default in modern Windows 11, so we downloaded and installed the latest PL2303 driver from the Prolific website.

After that, when we plugged in the adapter cable, we could see a COM port appear in Windows Device Manager. Great!

To convert from 9-pin to 25-pin, we used a StarTech Cross Wired Null Modem F/M Cable. It needs to be a Null Modem cable to work.

image

Next, we powered up the machine. It has an LCD screen, and it’s possible to use the control panel below it to enter a menu, select the input mode to be Serial (not Parallel!), and then set up the communications parameters. We used 9600 baud (the only options are 4800 or 9600), 8 data bits, no parity, 1 stop bit, and RTS/CTS flow control (the only other option is XON/XOFF).

For more details regarding the configuration options, consult the EGX-300 PDF user manual. 

Making it Move!

There’s a PDF Programmer’s Manual that describes the instructions that can be sent to the EGX-300.

Initially, we sent a command using a serial terminal, but that’s not very practical. Instead, we used AI to help write a simple Python program called egx300_send.py to do it for us.

The PU command means “pen up”, and it can be followed by X and Y co-ordinates. The (0,0) position is indicated in the diagram above. I have not read in detail yet, but it’s possible to use different coordinate origins if required. I think the values are scaled such that 100 corresponds to 1 mm, but I have not confirmed this yet.

If you want to move the tool to the origin, you would send the following command:

PU0,0;

The semi-colon on the end is the terminator (it can be replaced by carriage return/line feed, but for now I prefer just sending the semi-colon).

Using the Python program, you could make the tool move in a rectangular path by issuing four commands together:

python .\egx300_send.py "PU4000,1000;PU4000,3000;PU1000,3000;PU1000,1000;"

So far, we have not dared to do a PD (pen down) instruction, since we need to study the documentation so we don’t wreck the tool.

The 10-second video here shows the rectangle path taken when the Python example shown above was executed:

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image

Summary

We took a scrap CNC machine and decided to connect it to a PC, using a serial (RS-232) connection. Some simple Python code was written to move the tool.

It’s still early days, there’s a lot more to study in order to understand how to use the machine at this low level, and then perhaps consider either using existing code, or custom code, in order to make the machine do some useful work.

It’s a fun project for kids to mess around with, and they can’t accidentally do much self-harm since the machine will not operate without the protective cover in place.

Thanks for reading!

  • Sign in to reply

Top Comments

  • shabaz
    shabaz 1 month ago in reply to DAB +1
    Hi DAB, You got me curious, and I checked for an 'operational time' value in the in-built menu. I can only find one for spindle operation hours, and it's currently at 52. I don't know if that's a lot…
  • Jan Cumps
    Jan Cumps 1 month ago +1
    There is still a Dr. Engrave installer on the Roland website: https://www.rolanddga.com/support/products/software/dr-engrave
  • beacon_dave
    beacon_dave 1 month ago in reply to shabaz +1
    "...I can only find one for spindle operation hours, and it's currently at 52. I don't know if that's a lot or not!..." Looks like the spindle has a life of around 2000hours, with a brushes change…
Parents
  • Jan Cumps
    Jan Cumps 1 month ago

    There is still a Dr. Engrave installer on the Roland website:
    https://www.rolanddga.com/support/products/software/dr-engrave

    image

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
Comment
  • Jan Cumps
    Jan Cumps 1 month ago

    There is still a Dr. Engrave installer on the Roland website:
    https://www.rolanddga.com/support/products/software/dr-engrave

    image

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
Children
  • shabaz
    shabaz 1 month ago in reply to Jan Cumps

    Awesome thanks for finding that! I'll install and give that a go, fingers crossed it may work on Windows 11 perhaps in some compatibility mode. Definitely worth a shot.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • Jan Cumps
    Jan Cumps 1 month ago in reply to shabaz

    The last OS mentioned is W2000

    It may be worth saving the software somewhere, in case you have to happen an old virtual machine (or buy a very old desktop at goodwill)

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • shabaz
    shabaz 1 month ago in reply to Jan Cumps

    Unfortunately it requires a printer driver (i.e. won't use the COM port directly), and Roland's drivers are limited to 32-bit windows for the EGX-300 (and refuse to install, including with compatibility mode, or enabling 32-bit applications in the application pool in IIS Manager). A VM might be the way forward (or as you say, buy an old Windows PC, maybe a tablet or something, since I won't be running any other applications on it).

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube