Banggood CNC3018 Pro connection

First, I apologize for posting a "project" issue. Second, I've retired out of tinkering, but I was a PIC guy, not an Arduino guy, so my brain is used to other things.

I bought one of those cheap $159 CNC machines, and the mechanical assembly went fine (I'm a hardware engineer, after all), but I'm stymied at that point. I've installed the CH340 driver and tried several programs to talk to the silly thing. I've tried 9600 and 115K (setting the rate in both the device manager and the GrplControl program, and neither does more than crash. I've got a Serial Port monitor attached, and it looks like 115K at least does something, although it looks like there might be some speed issues since the recorded data is often misspelled.

Right after connecting, the outbound stream sends an 0x18, and it gets back "Grpl v0.9 ($ for help)". Hitting any of the motion buttons does nothing, even though they are highlighted (and the status shows "connected"). At one point, I was seeing a "?" being sent with a string returning that looked like the coordinates status. That was just before the app crashed.

I've also tried UGS, and there's no improvement. I haven't sniffed that one since I didn't expect much to change.

First, does the Arduino typically auto-baud, or should I expect a fixed rate? Also, is there flow control available on the USB/Serial connection? Any ideas what I should look for to get past my wall?

I'm familiar with all the high end stuff needed to generate my NC files. I've used Acad all my life, and I have a 3D printer that works just fine. You get what you pay for, I guess. My wife just wanted me to make her some ID tags...

Using PUTTY, I talked with the CNC with some simple commands, and it seems to be responding perfectly. Pretty much makes it look like software compatibility with Windows 10 or something. Pardon my wasting everyone's time, although I'll still accept suggestions. I suppose it could still be flow control.

I trieed a l ittle harder, and even with manual interaction, I get garbled data at varying parets of the return data. With GRBL, a request of "$$" returns a few dozen lines of status. The garbled area moves with each response. I'm starting to suspect the 16mhz oscillator on the board is way off or wonky. For example:

>>> $$
$0 = 10 (step pulse, usec)
$1 = 25 (step idle delay, msec)
$2OBšÑ•Á?port invert mask:00000000)
$3 = 0 (dir port invert mask:00000000)
$4 = 0 (step enable invert,½½±¥)
$5 = 0 (limit pins invert, bool)
$6 = 0 (probe pin invert, bool)
$10 = 3 (status rY½ÉÑ?mask:00000011)
$11 = 0.010 (junction deviation, mm)
$12 = 0.002 (arc tolY®¹?•± mm)
$13 = 0 (report inches, bool)
$20 = 0 (soft limits, bool)
$21 = 0 ( +É‘?limits, bool)
$22 = 0 (homing cycle, bool)
$¦¦‚BB½µ¥¹??dir invert mask:00000000)

Moved your topic to it’s current location as it is more suitable.

These machines are usually quite easy to set up and control.

Seeing as you were able to get to talk to the board via PUTTY that is a good sign.

For windows there are a few good software packages available but my prefered option is UGS.

But I would like you to take a moment with the information below.

Could you take a few moments to Learn How To Use The Forum.
It will help you get the best out of the forum in the future.

Posting tips.

  • Always list the version of the IDE you are using and the board version if applicable.
  • Remember to mention the actual board you are using.
  • How to insert an image into your post. ( Thanks Robin2 )
  • Add your sketch where applicable but please use CODE TAGS ( </> )
  • Add a SCHEMATIC were needed even if it is hand drawn
  • Add working links to any specific hardware as needed (NOT links to similar items)
  • Guessing is not the best way to describe an issue. Actual facts are the most important.
  • Remember that the people trying to help cannot see your problem so give as much information as you can

Have you tried a different version of Grbl? v1.1 works pretty well on my 3018. No issues as of yet.

Also, there is some chatter here and there about the CH340 driver from WinBlows could be a problem and the consensus is to get it elsewhere.

This is the only source I get the CH340 from.
But Thanks for reminding me Danger.

Win 10 can have its very own "speshul ishues" (sic) with drivers and with USB 3.0 ports.

Drivers in this case are always better installed as "Administrator" and with Antivirus etc. turned OFF.

USB 3.0 ports can cause another issue and in many cases it can be preferable to use a powered USB 2.0 hub between the board and the computer.

I tried both alternate versions of the CH34 driver, and although it seems to have lowered the error rate, it still causes an immediate crash of GrblControl and UGS reports a constant stream of errors, all with the garbled look of my example.

When you say "have I tried a different version of Grbl? V1.1..." I don't see how I can risk flashing my board if it won't communicate error free. The GrblControl program on the Banggood download page is v0.9. The build of the controller firmware is [0.9j.20150930:] (assuming it isn't garbled).

Should the USB data of a serial link "look" like normal RS232 data? I can put a scope on it and see how jittery the data cells are.

If anyone has one of these machines, what are your port settings for flow control?

Please do not set the COM settings via device manager etc.
That can cause its own set of issues.

Both the Arduino and UGS have thier own ways of knowing what to do communication wise.
Below a screenshot of my UGS comms settings

2020-01-12 at 12-20-44.jpg

Below my port settings.

Take note that UGS will increase the baud rate usually to 115200 for newer versions off GRBL.
Older versions may still operate at a lower baud rate.

Ensure you are using USB 2.0 for testing purposes until you can verify that USB 3.0 is also stable.

2020-01-12 at 12-20-44.jpg

I plugged everything back in and tried your settings, and it worked for about one minute, then started generating errors. I need to find some freeze spray to see if maybe there's a thermal issue with the controller board. I'm recovering from surgery so I won't be able to hunt for some today. I can't say I've tried it when it's stone cold before.

BTW, I can't find any manual spindle control in UGS. Is it hidden somewhere?

Please attach a decent in focus pic of your actual control board as it is currently mounted.
It does seem to be a heat issue from what you describe.
If you added any extra items to your PSU / set-up I would first suggest remove / disconnect those.

Spindle control is by g-code so very manual LOL.
You can of course write macros in UGS to provide you with simpler methods to perform functions.
In my case I use them for low power laser on/off function (same as the spindle control)

G0 M3 S10; laser at very low
G0 M3 S255; laser at full power
G0 M5; laser off

You also have the OVERRIDES but these should only take effect during run time.

ERRATA. the spindle speeds can be dependant on the max spindle speed in GRBL and should be matched to your spindle max speed. However it is often better to lower the max a little (10-15%) so that if you always run constant speed you wont be running the motor at the top of its spec.
My numbers reflect a TTL value BTW.

Here’s the requested photo. I’ve added nothing beyond what came in the box. Might add limit switches etc. someday, but not until it works as a stock unit. My office is about 68F, so ambient heat shouldn’t be the issue. I’m guessing it might work if I put it outside, but that’s noteven a good diagnostic, since it’s snowing!

I tried a cold start this morning with GrblControl, and I could start and stop the spindle before the failure set in, so the UGS macro can wait for another need.

Haven’t heard from Banggood yet…

OP's image

Well the middle driver looks burnt out from the picture.

20200113_163136-1280 burnt out.jpg

You may well want to order some spares but make sure you get heat sinks with them.
Reasons may be that you didn't set the current voltage correctly during set up or the rail alignments are not correct causing the motor to draw too much current as it stalls.

Also odd that the wiring on that one are not the same colours as the others ?

You could still test by removing the driver and disconnecting the motor to that axis and running a simple cnc program (providing the other drivers are also not damaged.

Before you do that you should double check the current voltage to the remaining two drivers.
And before than ensure you have the rails all set correctly and that you can move the axis with no stiff/resistive sections.

I would also hope you pre-primed all the bearings prior to installation with a gp grease such as ep2 or lithium ?

Also what is that white blob on the first driver ?

20200113_163136-1280 burnt out.jpg

BTW it is the users responsibility to set up the current/voltage on the drivers and not bangood.
Hopefully it did not take out anything else by continued usage / testing but you wont know that without a COMPLETE FRESH SET of driver boards tuned properly before usage.

You can tune one in a socket and then move it to another socket you suspect as bad as that is also one of the test methods for driver boards.

I would also refer you to a thread Danger and myself have in which there are also some decent tips. Well worth reading through most of it to see if we cover anything you may have missed.

First, the "white glob" is a piece of Styrofoam. The "burn mark" is just something like glue or flux - it scrapes off. The cable colors are actually all the same - I agree that the photo is misleading, probably due to the shadow of the sheath?

I'm not sure how I can set any currents without having the ability to run a motor for more than a few seconds. All three axes move smoothly during my brief window of communications.

There is no Banggood reference to current, so not only was I not aware of the need, don't know the target settings, don't know where to make the measurement, and don't know how to adjust it. I've watched several "builds" of the same model, and no one seems to have any issue between tightening the last screw and running a test file.

I have an degree in hardware EE from a famous school of technology, so I'm not a complete moron, just uninformed :slight_smile:

Also, your link that you refer to doesn’t work for me. I tried tinkering with the link, and it still didn’t come up.

Also, failure occurs without running any steppers. Just plugging it in and sending repeated "$$" results in a few sets of good data transitioning to crap after a minute or so. There's no detectable "hot spots" on the board, at least not sweeping with my IR thermometer.

Been away for a few days.
So just getting back into things I may have missed.

Sounding like a return to banggood for the controller at the very least.

As for setting the driver voltages it is just like any large or small real life project and things have to be "commissioned"
In all my years I have never installed or built a machine (mech/elec and full size CNC) without there being some things that need checking during the build and during fire-up.
Just like any motor there will be no "just fire it up" there will be bump starts to check rotation. There will be "run in / burn in" periods without load first.

As for others just fire up and go. I would not mind there is a good amount of problems be they immediate or later and maybe followed by additional costs / returns.
Age old saying "if somebody else walked in front of a moving bus would you do it too ?"

Whilst you are waiting for your return board to be processed take the time tp couple check ALL alignments, Load bearings with grease, check cable runs, re-check every single screw and nut.
And of course check for anything else you may have left laying around on sensitive electronic components like styrofoam and unknown gunk that could be conductive for all we know.

Yes I am beating on you a very tiny amount, but as somebody with an EE ticket should know a lot better. Would probably have given a pass to a true noob.
Learn and move on by being prepared.
More importantly "informed"


Just checked most of the links too and they appear to work here.
But I gave more than one so who knows which one does or does not ?

I only see one link in the message, and clicking it downloads the photo of my board. Banggood finally returned my email and said nothing will happen until Feb 1, due to the Chinese New Year. Rats!

They apparently know nothing about the product and need to work through Sainsmart.

After fifty years of never having a problem due to static, I'll accept the criticism for getting a little sloppy. The styrofoam was "pressed"' into the board - the shipping box had a pretty rough trip and there was styrofoam filling every aluminum slot.