Crashing to Blank LCD Screen on Archim Board

I’ve been troubleshooting this for days and I think I need to throw in the towel and ask for help!

I have just completed the build and I can’t get the controller to run very stable. It will periodically crash with a blank LCD screen and need rebooting. Sometimes it happens immediately or shortly after boot, sometimes it can take an hour, but it will crash, even if doing nothing.

I have the following specs:

  • Archim 1 board (purchased via v1)
  • LCD 12864 (Bought from Amazon as a kit because it was cheapest way to get next day delivery after realizing screen didn’t come with V1 kit)
  • Dual end stop firmware downloaded from v1 github (latest)
  • Power supply from V1 (I also tested with my bench power supply to rule it out)

I have tried and observed the following:

  • Crashes even if stepper drivers are off and motors are unplugged
  • I have tried swapping the LCD cables per someone else’s thread.
  • I do not have an SD card inserted (all I’ve done so far is to test motion using Repetier and the LCD controller, and been getting dual end stops setup and working)
  • I have tried to Initalize Eeeprom
  • I have uploaded the firmware multiple times.
  • Problem started immediately on first attempt, there was never a time when this was working OK.
  • I tried using my bench top power supply rather than the provided supply to rule that out.
  • The stepper motors make a high pitched sound that drives my wife nuts to the point of headache. Not sure if this is related. I measured the frequency with my phone to be about 14khz
  • I have tried all sorts of combinations of plugging/unplugging in stepper motors and endstop switches including getting all dual end stops plugged in, configured, and functional in case the TRIGGERED state was causing the crash. No luck.
  • If I have USB connected to my laptop and controller crashes, I can no longer connect to the board so I think the whole controller crashes not just the LCD. However I have not managed to witness the controller crash while Repetier is actively connected (not just USB plugged in, but connected in software). This could be a fluke though.
  • It can go an hour without crashing and me just sitting here telling it to move around, then I’ll grab a tea and come back and it’s crashed. Other times I can reboot it and it will work for all of a minute and crash again.
  • I believe first time I uploaded the firmware was directly off the Github.I then gradually modified configuration to make dual end stops work properly. The instability was there from the first upload.

Photo of the board wiring in case it somehow helps:
Google Photos
Google Photos

What software version? It should be something like 427D or something.

I am guessing it is either the microcontroller, or the firmware. The steppers would whine a bit with these drivers. We can try different firmware.

Hey @jeffeb3 ,

Startup screen reads 425 D 2.0.5.3

It’s the exact firmware here: https://github.com/Allted/Marlin/tree/V1CNC_Archim1_Dual

Bummer. I thought that firmware was good.

There is a newer firmware, based on Marlin 2.0.6.1. in the MarlinBuilder releases. It’s still pretty beta, but you can try it and see if the issue is still there. If it is, it probably makes sense to submit an issue in Marlin. Although they have 400+ of them right now, and the solution probably needs to come from ultimachine.

Thanks @jeffeb3 I will do my best to try it tonight after work.

But don’t other Lowrider users use Archim? It was being pitched pretty positively by V1 at one point and sold by V1, so I assume I’m not the only one running this controller (in fact if someone else is, would love to know your firmware version and experience). So not saying it can’t be the firmware, but you would think others would be reporting this too?

I know @scrounge79 uses it, but it is for an MPCNC. I know it was always labeled as “beta” because Ultimachine was really treating Marlin as a second firmware for it. I honestly don’t know much about it. I haven’t ever touched one, but I have looked at the issues in Marlin by searching for archim. I’ve also had an issue open in the ultimachine github and it never even had a response.

It sucks, and I hope we can find some firmware that actually works, and then at least have some secure footing to stand on. I don’t have a lot of confidence that it will be supported for years like a lot of the other boards.

1 Like

Mine is an Archim 2.0 board with the screen. I got them flashed from Ryan for an MPCNC with dual endstops. I have not had the nerve to upload a new firmware because I’m afraid to break it. Sorry I can’t help.

@scrounge79 thanks Marion. Could you share what version displays on your startup screen? That may be a good one for me to try.

1 Like

@Jeffeb3 so uhh how do I get this firmware on the board? :wink: Compiles fine, but both Arduino IDE and PlatformIO fail to upload it:

The Arduino environment gives me this error:
arm-none-eabi-gcc: error: CreateProcess: No such file or directory

exit status 1
Error compiling for board Archim.

And Platform.io gives me:
Linking .pio\build\DUE_archim\firmware.elf
Building .pio\build\DUE_archim\firmware.bin
Checking size .pio\build\DUE_archim\firmware.elf
Advanced Memory Usage is available via “PlatformIO Home > Project Inspect”
RAM: [= ] 11.3% (used 11104 bytes from 98304 bytes)
Flash: [==== ] 41.9% (used 219676 bytes from 524288 bytes)
Configuring upload protocol…
AVAILABLE: atmel-ice, blackmagic, jlink, sam-ba, stlink
CURRENT: upload_protocol = sam-ba
Looking for upload port…
Auto-detected: COM8
Forcing reset using 1200bps open/close on port COM8
Uploading .pio\build\DUE_archim\firmware.bin
bossac: missing file
Try ‘bossac -h’ or ‘bossac --help’ for more information
*** [upload] Error 1
============================================== [FAILED] Took 160.10 seconds ==============================================

Environment    Status    Duration
-------------  --------  ------------
DUE_archim     FAILED    00:02:40.103
========================================== 1 failed, 0 succeeded in 00:02:40.103 ==========================================
The terminal process "C:\Users\Matt\.platformio\penv\Scripts\platformio.exe 'run', '--target', 'upload'" terminated with exit code: 1.

Googling both errors shows me to not be the only one, but doesn’t give any clear resolution. Is there a dependency I have to install?

FYI the official Lowrider firmware I was using prior to trying the one you linked does upload fine via Arduino IDE (haven’t tried Platform.io)

That means windows’ command line length is too long. That shouldn’t be a problem with the newer marlin builder version (504/505). Which version did you download?

I haven’t flashed an archim board (I don’t have one) and I believe Ryan has only uploaded with arduino, not platformio. I don’t know what bossac is, but it sounds like that is what it is trying to invoke to do the uploading.

@jeffeb3 I am using https://github.com/V1EngineeringInc/MarlinBuilder/releases/tag/505

I did manage to upload it via PlatformIO by messing with the platform.io config file to delete extra_scripts.py and switch the board to dueUSB. Of course I have no idea if those changes are going to cause other problems.

After making what I THINK are all the same config changes I had in previous firmware to support Lowrider, I have the firmware on there, but steppers don’t work properly. Instead of turning smoothly, even moving 1mm causes the steppers to just jerk forward. And the Z stepper driver doesn’t activate at all even though Z2 (E1) does.

So I don’t know if that’s firmware bugs or if that’s fixable in config.

I’m going to let it just run to see if this even solves the stability issue, but if it does I guess next step is having it drive the steppers correctly (which the previous unstable firmware did do)

If you can tell that the stalling is fixed, then let’s move forward. If it is still freezing, then I would head back to the firmware without your edits to make sure that none of your changes are causing it.

I would like to see the changes you had to make to get it to upload. Can you send me a zip of what uploaded?

I am bummed the CreateProcess is broken on 505. I know Ryan confirmed it worked for the rambo. But maybe the archim is a little different. I don’t have a windows box to test. We may need to go back to that and get arduino working.

Thanks. I’ll let it run today and tomorrow and if it’s stable I’ll let you know :slight_smile: Appreciate the help.

Here are the relevant sections of my (changed) platform.io, based on this thread: https://github.com/MarlinFirmware/Marlin/issues/18816

[common_DUE_archim]

platform      = atmelsam

extends       = env:DUE

build_flags   = ${common.build_flags}

  -DARDUINO_SAM_ARCHIM -DARDUINO_ARCH_SAM -D__SAM3X8E__ -DUSBCON

extra_scripts = ${common.extra_scripts}

  

[env:DUE_archim]

platform      = ${common_DUE_archim.platform}

extends       = common_DUE_archim

board         = dueUSB

The two modified parameters are adding the board = dueUSB and removing the second line from extra_scripts

If I can be of help testing, happy to do so. I do have both PlatformIO and Arduino IDE and a Windows 10 machine.

1 Like

Thanks. I will look more closely at those params and see. Maybe they need to be included upstream, or at least in the archim builds.

That CreateProcess error is because windows can’t make a single command line command that is longer than 32k characters. platformio gets around this by being smarter about which files to build. It builds them in smaller chunks and then combines them. But arduino prides itself on making as many decisions for the user as possible, so it compiles anything it can find and then tries to add them all together in one line. It also foolishly includes the whole path. So if you have 250 files, and each one’s location is 125 characters long, it will end up exceeding the 32k limit.

I tried to solve this in 504 (and it should still be in 505) by forcefully removing files that weren’t needed for the Archim board (and I remove things that aren’t needed for the rambo boards in the rambo builds, etc). It worked for the rambos on Ryan’s computer. So maybe I cut it from 250 files to 100 files (I’m making these numbers up, I don’t know how many files there are).

Is the location you have the files extremely long? Like C:/users/something/My Documents/projects/cool stuff/really cool stuff/cnc machines/cool cnc machines/really cool cnc machines/V1Engineering/Marlin? If you want to run a test for me, then you could unzip the 505 version on a thumbstick or in C:\ and see it that gets past that CreateProcess error if you try to build it in arduino.

I gave it another shot with the smallest possible path (my original one wasn’t too far off your example):
C:\Marlin

This is the smallest path Arduino permits without renaming Marlin.ino to something else.

Unfortunately it’s still the same error. I even tried updating to the latest IDE just to be safe. Same story.

Bummer. Maybe @vicious1 has an idea.

How did the stability test go?

I do not have an achim here currently but I flashed the allted/github archim firmware just fine with arduino a few weeks ago. The only thing I did differently is make sure you follow my instructions, meaning make sure you do not have u8glib installed in your arduino library.

When trying to re-flash the archim you also need to hold the reset button for at least 5 seconds while powered up then reset after that and flash.

@jeffeb3 505 has yet to crash so that’s at least promising. I let it sit turned on all day. So now we just have the problem that none of the stepper logic works right. Easiest to show by video (audio on):
https://drive.google.com/file/d/1SVPtxo5RBHBbwHKS8OeB42GGNSW6M3zc/view?usp=sharing

So the question is, is this broken firmware or can this be fixed with config changes? The weird stepper behavior happened on stock config. I since modified the config to make the MPCNC => Lowrider changes (on that note it would be neat if Lowrider had a dedicated firmware build).

The previous firmware controlled the steppers great, on all 5 motors. Thanks again.

@vicious1 u8glib isn’t installed. The current release of the firmware uploads fine via Arduino. The newer 505 is the one with issue (and in case you don’t have time to go through the whole thread, we are trying it because the official released firmware is unstable on Archim 1).

By the way in the video I am moving it by 1mm at a time. 0.1mm moves about half the distance (which also doesn’t make sense) but same horrible noise and very jerky motion. And again not all the drivers cause motion to even happen.