Firmware update causing driver issue?!?

Greetings folks. Just want to toss this one out there before I crash for a few hours.

I’ve been struggling with getting the Archim 1.0/LCD Controller/Dual Endstops firmware uploaded… Finally got that ironed out, but as soon as the firmware was uploaded, the Arduino IDE comes up and tells me there’s no board connected, and the Device manager shows that I’m connected to a “V1 MPCNC” (Screen shot below).

I just wanted to verify both motors in both Axis were moving together, so figured I’d just do it through the smart controller… Nope… When I press the knob, the menu pops up, and then when I turn the knob, the line never moves, and after a second or two, the Archim resets.

I suppose I should just add into a signature line every where I go… “Hi, My name is Murphy, I will uncover weird crap the likes of which no one has ever seen”

Hopefully this is something silly and stupid, but the driver aspect really throws me for a loop.

 

Thanks guys!!!

[attachment file=“MPCNC driver.jpg”]

Ron

A bit of progress… With the Archim 1.0 boards not having ‘keyed’ connectors on the board for the LCD, I’ve seen several posts, and pics of which way they are supposed to go. Turns out the one that I thought was correct, was not. Where the EXP2 connector off of the Smart Controller plugs into the Archim 1.0, actually, both cables should plug into the Archim board with the Red wire on the cable AWAY from the USB port. Now, my knob works, and the board doesn’t reset. I thought it was awfully strange to have to connectors like that wired opposite… guess I should have listened to my gut!

What I’ve tried since I first posted my issues, I loaded up a fresh copy of the Archim/Dual Endstop/Smart Controller firmware, made 3 changes to it… X and Y bed size and Z height I changed from 200 to 75. I changed nothing else. Flashed it, When Archim reboots, The bootloader disappears from the Device Manager, and “V1 MPCNC” shows up and the computer doesn’t know what to do with it. A message also pops up stating that the device could run faster in USB 2.0… WTH?

This is weird… I have a suspicion that I’m battling a few different minor issues, and it’s giving me a challenge trying to sort them, but I’m a tenacious bastard and I don’t take shit from a machine!!! :wink:

 

This totally depends on how you plug in the ribbon cables, they are opposite ends so you can chose your wire routing. a picture would help here.

Start with a fresh download of my firmware and confirm it all works as expected. In editing you could have inadvertently put a space or extra character in and not noticed. Changing the bed size will have zero effect on this issues you are describing.

The Smart Controller seems to be working fine now… Here are the pics of the two cables at both ends…

EXP1 to SC1 and EXP2 to SC2

[attachment file=“Archim_LCD Conn.jpg”]
[attachment file=“SC Connection.jpg”]

I had originally had the SC2 connection flipped, and turning the pot on the controller apparently will trigger a reset.

 

As far as the quirky, weird firmware issue, The last upload I did was of “Marlin-MPCNC_Archim1_T8_16T_LCD”

Only changes I made were in the “Configuration.h” file, to lines 926, 927, and 935 for Bed size and Z-Max. After upload, no difference. I’m not a stranger to Arduino/Marlin glitches, but the altering of the device in Device Manager and being unable to load a driver for it is just weird!

I am unclear, does it work now, if not what is not working?

It looks like the flash is changing the ID of the USB port, so your system doesn’t recognize it as a COM port any longer. What’s weird is I just did a search of the source code and I don’t see that string anywhere in the Archim build.

Yeah the port number changes for sure.

Thanks guys… I’m getting there. I blew the dust off of an old RAMPS board I’d picked up for a Delta I was going to build and got sidetracked… that was a few years ago! :wink:

It has the DRV8825 drivers on it. I downloaded and flashed the RAMPS/T8/16T/Dual Endstops, and that had no issue at all. I scrounged looking for heatsinks for the drivers, but couldn’t find but one of them. I did come across an old video card with a large, finely finned heatsink, so rather than wait, I cut and milled that into a dozen stepper driver heatsinks, got them mounted, strung belts, etc. Performed an M119 and checked each individual switch, perfect. Hit HOME, and the motors got really loud and growly real quick, but never moved. I hit my E-stop button and started looking around at what was going on now. From the wiring diagram of my motors, I’m thinking the cables are wired a bit different. These are cables I bought a while back. I’m going to do some cross checking, etc, etc and I’m pretty confident I’ll have a crown sometime in the next 24 hours. :slight_smile:

As far as the Archim goes… You both mentioned it changing it’s port number… nothing new shows up in Device manager, so any thoughts on where to take the troubleshooting from here? I’ve done the ‘erase’ procedure on it a couple of times, as each time I’ve flashed it and had it show up as “V1 MPCNC”, I have no way to flash it other than doing the ERASE/RESET thing. Is there a more thorough way to purge Archim of any old code, or is that pretty much it?

Thanks again!! Love the forums!!

Alrighty then… it’s 3:30am, I need to head to work in a few hours, but hot damn… it’s running. Sounds nice and smooth. I’ll run a crown tomorrow at some point. The only issue I’m having at this very moment is needing to reverse the direction of my Z axis… it is trying to home up.

I attempted to reverse it’s direction by swapping one pair of coils around, and after three separate attempts which all ended with the motor stuttering/growling, I’m calling it a night.

The stepper motor issue was due to my wiring being… just wrong. I don’t recall where I purchased it from, but hopefully I won’t have to deal with that again.

Once I’ve got everything buttoned up, wires dressed, etc… I’ll take another crack at the Archim and in the meantime will do some reading/research and see why it’s doing what it’s doing.

Hey, I warned you guys up front… I have a knack for coming up with some weird, off the wall issues. My record stands untarnished!!

 

Cheers guys!! Thanks for the input!

 

Ron

Just flip the connector on the ramps, no need to rewire anything.

Lets start fresh. Using my firmware flashing instructions (and unchanged firmware) at what point does it go wrong and what happens. (ps you should not need to hit erase)

 

You are up and running so we can take our time with this.

When your computer sees a new device (named V1 MPCNC) it looks in it’s USB database and finds it doesn’t know what that is. The previous COM port goes away, since it’s no longer connected, and a new one isn’t created because it doesn’t know what driver to load. I’ve double checked and the only instance of ‘MPCNC’ in the source code is in a comment in configuration.h where the PID settings are for using the MPCNC as a printer. There are no instances I can find with the text ‘V1 MPCNC’. That makes yours really weird. :slight_smile:

Agreed Ryan… I want to get the wiring tidied up on this thing, make a crown and Vicious logo with a pen to see how things are looking.

Barry, nailed it… I had to laugh… When I dropped into bed, I glanced at my laptop, and it was on the page, and in the right spot on the page with the link “Steppers moving wrong direction?” When I got up this morning, went out, flipped the connector, and Voila!

 

Thank you all for your advice and help.

Here’s a shot of my build, PLEASE keep in mind that I’ve not done ANYTHING with the wiring and mounting of the PS and Controller.

[attachment file=“ZEP_MPCNC Initial test.jpg”]
[attachment file=“ZEP_MPCNC Initial test 2.jpg”]

 

1 Like

Oh, the table base is steel, will make it easy to mount things, and I CA’d (Superglued) a couple of 1.5" Neodymium magnets to the bottom of my Emergency stop button so I can move it around until I’m sure of where I want it.

I like the utilitarian look to it. It looks like a machine that will get used to make stuff. Now you’re eyes will be drawn to the business end of the machine where you should be paying attention. :slight_smile:

BT… wellllllll… yes and no… Now that it’s running, I’ll spiffy it up. There’s a LOT of spiffying to do.

In the wee hours this morning, after getting frustrated with trying to jury rig a pen to the router, I said screw it. Reset my depth of cut for the crown to 2mm, manually fired up the router, and hit 'Start"… Here’s what I got back.

[attachment file=“Cut Crown.jpg”]

 

I’ve also posted the short video to youtube. Ha, That’s the first thing I’ve uploaded to the site in over two years!

 

Once again, thanks for all the help and advice!!

 

 

2 Likes

Ahhhh, words most of us live by!

Ok… So I’ve been screwing around with this Archim (I’m about to rename it Arkum cuz it’s driving me insane!!)

I have a PC out in my shop that’s just used for playing youtube videos, or something off of my media server. It has NEVER had Arduino on it, and never had an arduino or the like plugged into it. It’s an older PC that I tossed together from parts left over from upgrades I’ve done. It’s an AMD Phenom II X3 710 at 2.6Ghz and 4 GB RAM.

I downloaded from the Arduino website the Arduino 1.9 beta software, and then the Archim/T8/16T/LCD/Dual Endstop firmware from the Github site. Downloaded and installed the Windows 7 USB Driver… Yes, I know… I’ll get to Win10 someday… Kicking and screaming like I did going from DOS to Windows 3.0! :wink:

I followed your instructions literally step by step. Compile and upload went very smoothly, but once the Arduino app reports a good upload, it then go awry again. Here’s a copy and paste of the Messages…


Arduino: 1.9.0-beta (Windows 7), Board: “Archim”

Sketch uses 156504 bytes (29%) of program storage space. Maximum is 524288 bytes.
Atmel SMART device 0x285e0a60 found
Erase flash
done in 0.030 seconds

Write 159808 bytes to flash (625 pages)

[ ] 0% (0/625 pages)
[== ] 9% (62/625 pages)
[===== ] 19% (124/625 pages)
[======== ] 29% (186/625 pages)
[=========== ] 39% (248/625 pages)
[============== ] 49% (310/625 pages)
[================= ] 59% (372/625 pages)
[==================== ] 69% (434/625 pages)
[======================= ] 79% (496/625 pages)
[========================== ] 89% (558/625 pages)
[============================= ] 99% (620/625 pages)
[==============================] 100% (625/625 pages)
done in 35.938 seconds

Verify 159808 bytes of flash

[ ] 0% (0/625 pages)
[== ] 9% (62/625 pages)
[===== ] 19% (124/625 pages)
[======== ] 29% (186/625 pages)
[=========== ] 39% (248/625 pages)
[============== ] 49% (310/625 pages)
[================= ] 59% (372/625 pages)
[==================== ] 69% (434/625 pages)
[======================= ] 79% (496/625 pages)
[========================== ] 89% (558/625 pages)
[============================= ] 99% (620/625 pages)
[==============================] 100% (625/625 pages)
Verify successful
done in 24.121 seconds
Set boot flash true
CPU reset.
Couldn’t find a Board on the selected port. Check that you have the correct port selected. If it is correct, try pressing the board’s reset button after initiating the upload.

This report would have more information with
“Show verbose output during compilation”
option enabled in File -> Preferences.


 

So I turned on the more detailed logging, reuploaded, after erasing the Archim. Erasing it is the only way I’ve found to be able to do anything further with the board. Then uploaded the firmware again… The entire file is pretty large, but here is the last several lines from Verification at 100% on. Maybe you guys will see something in that.


[==============================] 100% (625/625 pages)
Verify successful
done in 18.821 seconds
Set boot flash true
readWord(addr=0x400e0a08)=0x1
readWord(addr=0x400e0c08)=0x1
writeWord(addr=0x400e0a04,value=0x5a00010b)
readWord(addr=0x400e0a08)=0
readWord(addr=0x400e0c08)=0x1
readWord(addr=0x400e0a08)=0x1
readWord(addr=0x400e0c08)=0x1
CPU reset.
readWord(addr=0)=0x20088000
readWord(addr=0xe000ed00)=0x412fc230
readWord(addr=0x400e0740)=0
readWord(addr=0x400e0940)=0x285e0a60
writeWord(addr=0x400e1a00,value=0xa500000d)
Couldn’t find a Board on the selected port. Check that you have the correct port selected. If it is correct, try pressing the board’s reset button after initiating the upload…


 

One other thing I did happen to notice when going back and rereading this thread. This may be the clu you all needed as well… The first screenshot of my Device Manager shows the Archim rebooted after flashing with the name of “V1 MPCNC” This was the name I wanted the LCD to display at the ready screen from line 140 in the Configuration.h tab. The default is “V1 E CNC” Now I have absolutely NO idea whatsoever why changing line 140 would result in something like this, but maybe you guys might have an idea. Line 140 is the only referenceI was able to find for “V1 E CNC” I’m guessing the reason Bill never found a reference for V1 MPCNC was because It was something I’d Changed before uploading and should have been innocent enough of a change… HA HA HE HE! How little did I know!!!

 

 

Alrighty guys… Did a little more playing, I changed the machine name on line 140 to “BYTE ME”… That’s it, did nothing else…Check out these 3 pics. Sorry for the quality. Phone camera is great, shop TV is crap!

 

[attachment file=90103]
[attachment file=“Device Manager.jpg”]
[attachment file=90105]

 

Crashing now! Falling asleep just standing here!

OK, try just commenting that line out and recompiling. I’m guessing they have a bug that’s using that variable differently than we expect.