Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build Help Thread #1

Open
xC0000005 opened this issue May 29, 2019 · 5 comments

Comments

Projects
None yet
2 participants
@xC0000005
Copy link
Owner

commented May 29, 2019

Steps:

  1. Download and install the Arduino IDE from https://www.arduino.cc/en/Main/Software
    In the Arduino IDE, under preferences (Mac, no idea for Windows), add the following additional boards manager url: https://github.com/stm32duino/BoardManagerFiles/raw/dev/STM32/package_stm_index.json

  2. From Tools->Board->Choose “Board Manager.”

  3. Install the STM Microsystems Core. You know it’s the right one because it even says it supports the M200 V1 and V2.

  4. Download Marlin 2.x + a few M200 fixes. This won’t always be necessary but I have a few fixes not in main yet. From https://github.com/xC0000005/Marlin/tree/M200Fixes, choose “Clone or download” and download it somewhere.

  5. Open the Marlin project in the Arduino IDE by choosing File->Open and browsing to wherever you downloaded Marlin.

  6. Make sure you have the right external library and USB settings selected. If your printer works but the LCD won’t show temperatures, you didn’t. Your board should be the appropriate one for your printer (early run V2s use the V1 board setting). USART->Enabled (generic Serial), USB support -> “CDC (no generic Serial)”, USB speed->”Low/Full Speed”, C Runtime Library must be a version that includes Float Printf for now.
    Screen Shot 2019-04-25 at 9 38 17 PM

  7. Customize your configuration.h. In this particular branch, it’s already set up for an early run V2 but if you have a V1 you’ll need to make changes to the steps per unit.

  8. From the Sketch Menu, choose Export Compiled Binary. It will take a while.

  9. When it’s done, look near the end for a line like this:

  10. arm-none-eabi-objcopy -O binary /var/folders/2w/45wss0310nbfs7dbvg2mv01c0000gn/T/arduino_build_780815/Marlin.ino.elf /var/folders/2w/45wss0310nbfs7dbvg2mv01c0000gn/T/arduino_build_780815/Marlin.ino.bin - that’s your firmware, “Marlin.ino.bin”

  11. Make sure the X and Y limit switches are not closed by moving the bed slightly forward and the x carriage to the right a bit. If you do not do this, the bootloader will wait, attempting to update the LCD.

  12. For a V1, this file needs to be copied to your SD card as “update.bin.” If you choose to build for a V2 to test it, it would be “firmware.bin”. Otherwise, it’s identical to any other reflash (put a file called fcupdate.flg on the root of the sd card, restart, etc).

  13. Your first sign it’s working will be when you see a version number of 99 on restart.

If you have Windows, you can use the Arduino Portable installation here: https://1drv.ms/u/s!AjuNQlXUvQuaq-45AF_Nwk7l9XIhag

@atomgomba

This comment has been minimized.

Copy link

commented Jun 17, 2019

I just compiled and flashed (previously was stock V41) from e03432b and I did not get the message on the LCD with version number "V99". Even though I see this response in OctoPrint:

Recv: FIRMWARE_NAME:Marlin bugfix-2.0.x (Github) SOURCE_CODE_URL:https://github.com/MarlinFirmware/Marlin PROTOCOL_VERSION:1.0 MACHINE_TYPE:Malyan M200 EXTRUDER_COUNT:1 UUID:cede2a2f-41a2-4748-9b12-c55c62f367ff

And this seems to be success regardless.

@xC0000005

This comment has been minimized.

Copy link
Owner Author

commented Jun 17, 2019

@atomgomba

This comment has been minimized.

Copy link

commented Jun 17, 2019

I have a clean working tree, same state as remote.

@xC0000005

This comment has been minimized.

Copy link
Owner Author

commented Jun 17, 2019

@xC0000005

This comment has been minimized.

Copy link
Owner Author

commented Jun 20, 2019

Another possibility is that you have the X and Y limit switches closed, so the bootloader is trying to update the UI firmware. Remove the SD card, move X and Y so they're not closed, and restart, see if it works.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.