1. Got a question or need help troubleshooting? Post to the troubleshooting forum or Search the forums!

[SOLVED][Linux] Upgrade firmware, baud rate change, connect to printer, etc

Discussion in 'Software' started by h54, Feb 5, 2015.

Thread Status:
Not open for further replies.
  1. h54

    h54 New Member

    Joined:
    Feb 5, 2015
    Messages:
    14
    Likes Received:
    2
    I didn't see a Linux thread so I decided to create one.

    I wanted to upgrade my firmware and change my baud rate. To ensure that I did it correctly, I scheduled a 1 on 1 webcall with a Robo3D representative. About an hour later, I received a confirmation email from Robo3D that I should expect a call from Jerry at our scheduled time. The call and the upgrade went smoothly and quickly. Here is what I learned:

    required software:
    arduino sdk
    http://arduino.cc/en/Main/Software

    groups required:
    ensure that your user is added to the tty, uucp, and lock groups for the arduino-sdk
    gpasswd -a $USER uucp
    gpasswd -a $USER lock
    gpasswd -a $USER tty

    log out, log back in or start a new terminal session

    1)
    install arduino sdk

    2)
    download the firmware for your printer:
    http://help.robo3dprinter.com/Wiki/RoBo_3D_Firmware

    3)
    extract firmware
    unzip Marlin_6_10.zip (or whatever version you've downloaded)

    4)
    launch arduino sdk. Ensure that repetier or any other printing software is
    not connected to the printer. One connection at a time.

    5)
    go to :

    Tools > board

    select the firmware for your particular printer. In my case (2014 PLA only, non-bed leveling)
    I selected:

    Arduino Mega 2560 or Mega ADK

    6)
    set the path to your extract firmware. Go to:

    file > preferences > Sketchbook location

    select the path to the extracted firmware. In my case it is:

    /home/fatso/robo3d/firmware

    inside of the firmware director, there is a folder called "Marlin_6_10"
    with the extract contents of the firmware zip file.

    7)
    restart arduino sdk

    8)
    go to:

    File > Sketchbook

    you should now see an option for Marlin_6_10 or whatever version firmware you have
    select your sketchbook version (in my case Marlin_6_10)

    9)

    The sketchbook is a c++ project in a bunch of tabs(most file extensions should be .cpp or .h)
    select the "Configuration.h" tab
    in this file, search for #define BADRATE. For windows, BAUDRATE should be defined as 250000.
    Copy this line, paste it immediately below and change its value to 115200
    it should look like this:

    //#define BAUDRATE 250000 // windows
    #define BAUDRATE 115200 // linux

    hit ctrl + s to save the change

    10)
    check which comm port the printer is using:
    in the arduino software, go to:

    tools > serial port

    take note of which ports are present. Connect your printer. Once connected,
    you should notice a new port present. In my case, it was:

    /dev/tty/ACM0

    select it

    11)
    you are now ready to push the new firmware with the changed baudrate to your printer.
    In the top left corner of the arduino sdk, there is right pointing arrow. This button
    will push the current sketchbook to connected printer. The project will compile and
    be flashed to your board.
    [​IMG]

    12)
    Once completed, you're ready to connect your printer with Repetier-Host. Close arduino-sdk.
    In the top right-hand corner of Repetier-Host select "Printer Settings"

    13)
    In the top left corner of Repetier-host, hit the connect button and you should connect!

    14)
    Connection tab
    change Baud Rate to 115200
    Printer Shape tab
    change X Max to 225
    change Y Max to 255
    change Print area Width to 220
    change Print area Depth to 250
    change Print area Height to 200

    Note:

    Ensure that your printer settings are ALL correct. One oversight may lead the print failing or never starting. My printer doesn't have a heated print bed. I neglected to remove the non-zero value in the printer settings. As a result, no prints ever started because the printer was hung up on trying to heat the bed.


    Fini, You're ready to print!!

    Corrections or updates are welcome.
     
    #1 h54, Feb 5, 2015
    Last edited by a moderator: Feb 9, 2015
    2 people like this.
  2. insomniac_lemon

    Joined:
    Aug 21, 2014
    Messages:
    33
    Likes Received:
    8
    Heh, using Arch Linux here, Repetier has an issue with 250000 baud rate but Pronterface doesn't.

    So I slice with Repetier (I suppose I could use Slic3r stand-alone but I like Repetier's gcode visualization) and print with Pronterface.

    AFAIK Repetier not accepting the R1's baud rate is actually Mono's fault.
    Anyone who isn't dead-set on printing with Repetier should try out Pronterface first.
     
  3. h54

    h54 New Member

    Joined:
    Feb 5, 2015
    Messages:
    14
    Likes Received:
    2
    Arch user here as well :D

    Ah man, from your thread, I was under the impression you got RepetierHost working.

    I actually changed the baudrate to 115200 for RepetierHost. Last night, I was issuing commands to the printer, no issues.
    Unfortunately, I am experiencing the same backup of commands you are. 5-6 commands backup before I kill the job.

    Lets try to figure this out:

    What owner and group does /dev/ttyACM0 on your system?
    For me: root uucp

    I'm a member of uucp and lock groups, amongst others.
     
  4. insomniac_lemon

    Joined:
    Aug 21, 2014
    Messages:
    33
    Likes Received:
    8
    Eh, I'm not sure why, I said just like I did here, that I'm printing with Pronterface (250000 baud). Here it is in the AUR: https://aur.archlinux.org/packages/printrun/ for some reason it's not listed as pronterface >_>

    Although to what you're saying, yes, I tried to fix it at one point and I think I added myself to the uucp and tty groups. I don't think I needed this for pronterface (I dunno, maybe I did, I did it so long ago that I forget). I thought I was using directions for getting Cura to work on Ubuntu, though.

    EDIT: Yes, the permissions of /dev/ttyACM0 are the same as yours.
     
    #4 insomniac_lemon, Feb 5, 2015
    Last edited by a moderator: Feb 5, 2015
  5. h54

    h54 New Member

    Joined:
    Feb 5, 2015
    Messages:
    14
    Likes Received:
    2
    I researched pretty deeply and it seems everyone agrees that there is a bug in mono that doesn't allow for non-ansi baud rates. For the time being, I'm going to give up on Repetier-Host.

    I have Pronterface installed now and flashed back to a baudrate of 250000. Is there anything else I need to do to get this to work? Its behaving the same way that Repetier-Host is. It says print started but nothing is happening... The extruder is not heating up. I'm getting frustrated.
     
    #5 h54, Feb 5, 2015
    Last edited by a moderator: Feb 5, 2015
  6. insomniac_lemon

    Joined:
    Aug 21, 2014
    Messages:
    33
    Likes Received:
    8
    If you've got it plugged in/powered/hit connect, added yourself to the uucp group, I don't see why you would have an issue.

    When was the last time you updated? Maybe there's some backend issue? (if it has been a while you should make sure you read the update news on archlinux.org to avoid issues)

    Does Pronterface connect at all? The control panel on the right should activate and allow you to move the gantry and print bed. Is the temp graph moving (if you're in a cold room and touch the bed it will likely fluctuate)?

    Have you ever printed with your R1 before?
     
  7. h54

    h54 New Member

    Joined:
    Feb 5, 2015
    Messages:
    14
    Likes Received:
    2
    I don't see why either. Everything is back to the way it was before. Baudrate on the firmware was returned to 250000.

    I'm a pretty experienced Arch user so yes I do check the news before every update :D. I'm 100% up-to-date.

    Pronterface connects, but like RepetierHost, I can give it manual commands. However, after slicing something and passing the gcode, nothing happens. The extruder doesn't even warm up! There are no errors in the logging sidepane, however.

    I have printed with the R1 but with Windows. I don't have access to a Windows machine any more.
     
  8. insomniac_lemon

    Joined:
    Aug 21, 2014
    Messages:
    33
    Likes Received:
    8
    I dunno. Did you do any hardware modifications that may have resulted in the hotend (either heater or thermistor) being unplugged (or plugged into the wrong place)?

    You never answered me: can you tell if the temp meter is actually working (visible fluctuations after touching stuff)?

    Are you slicing with Pronterface? Maybe it's trying to use skeinforge which isn't actually installed.

    Maybe try changing your start GCODE?

    Here is what I use:

    Code:
    G28 ; home all axes
    G1 Z5 F5000 ; lift nozzle
    M565 Z0
    G29 ; probe the bed
    G1 Z5 F5000 ; lift nozzle
    G28 X0 Y0 ; Home x and y
    M109 S[temperature] ; set the extruder temp and wait
    G92 E0 ;zero the extruded length
    G1 F200 E13 ;extrude 8mm of feed stock
    G92 E0 ;zero the extruded length again
    
    If it does homing and 9-point levelling but not heating you might have some other issue.
     
  9. h54

    h54 New Member

    Joined:
    Feb 5, 2015
    Messages:
    14
    Likes Received:
    2
    I don't have a heated bed or bed leveling. My printer is a first generation, PLA only printer. No hardware modifications. 100% stock.

    The extruder is not heating up. I used a laser thermometer to check. If I put my fingers on the extruder, the temperature curve is in fact affected.

    I'm trying what you've said works for you. Slice with Repetier-Host (cura), export the gcode, and attempting to print on Pronterface.
     
    #9 h54, Feb 7, 2015
    Last edited by a moderator: Feb 7, 2015
  10. insomniac_lemon

    Joined:
    Aug 21, 2014
    Messages:
    33
    Likes Received:
    8
    Might be a longshot, but maybe try running through terminal using pronterface.py? Maybe it will pass you an error that doesn't show up on the GUI. If you've got some technical error, that's your best bet of finding what it is.

    If that fails, maybe try 115200 with Pronterface and see what happens? Maybe you thought you flashed it back but you didn't?

    I would say try adding yourself to the 'dialout' group, but I'm not in that so I don't think it's required.
     
  11. h54

    h54 New Member

    Joined:
    Feb 5, 2015
    Messages:
    14
    Likes Received:
    2
    Yeah, I'd been trying launching from the console but nothing of note jumps out. Here is an example:
    After Print started at: xx:xx:xx nothing happens.
    The baudrate is correct because the printer does not connect unless its correct. I've flashed back to 115200, no problems connect but the results were the same.

    What version of the firmware are you using? I'm using Marlin_6_10. I wonder if that could be the issue.
     
  12. insomniac_lemon

    Joined:
    Aug 21, 2014
    Messages:
    33
    Likes Received:
    8
    I'm sorry, but I'm not sure.

    I can tell you I have an R1 (not beta) with heated bed/autolevel/M8 rods. I did flash a new firmware version (because the firmware installed by default wasn't for the M8 rods version) so it's likely I have a newer Marlin firmware version.

    If all else fails, you should probably try to test it using Windows (borrow someone's laptop, or use a VM?) to see if you can get the hotend to heat. If it works you'll know it's a software issue, and if it doesn't it's likely a hardware issue.
     
  13. h54

    h54 New Member

    Joined:
    Feb 5, 2015
    Messages:
    14
    Likes Received:
    2
    Good idea. I'm in the process of trying to borrow one from a friend. I think it is a software issue because the printer accepts manual commands (movement, extrusion, heating the etruder etc) but it won't run a job.
     
  14. insomniac_lemon

    Joined:
    Aug 21, 2014
    Messages:
    33
    Likes Received:
    8
    Really? Now THAT is odd! Maybe it's getting hung up on something in your start code preventing it from heating.

    Actually, without those auto-level sensors I'm not really sure how you would find Z0 hopefully you disregarded my start GCODE. What are you using for that, anyways?
     
  15. h54

    h54 New Member

    Joined:
    Feb 5, 2015
    Messages:
    14
    Likes Received:
    2
    I am using the default start gcode for both Pronterface and Repetier-Host.

    Here is some gcode generated for a print:
     
    #15 h54, Feb 8, 2015
    Last edited by a moderator: Feb 8, 2015
  16. h54

    h54 New Member

    Joined:
    Feb 5, 2015
    Messages:
    14
    Likes Received:
    2
    Update:

    A friend graciously brought over his Windwos 7 laptop. No printing on Windows either.

    I think its a firmware issue and will be contacting support about the issue.

    insomniac_lemon, thanks for helping me troubleshoot. I'll update this thread as I get more info.
     
  17. insomniac_lemon

    Joined:
    Aug 21, 2014
    Messages:
    33
    Likes Received:
    8
    That's a relief. Hopefully it is some small, dumb issue :D
     
  18. h54

    h54 New Member

    Joined:
    Feb 5, 2015
    Messages:
    14
    Likes Received:
    2
    Problem solved!!

    I can now run jobs through Repetier-Host!!

    I had another Skype call with Jerry and he caught my very silly mistake.

    The Issue:
    By default, Repetier-Host provides a value for the heated bed. If your printer does not have a heated bed, the slicer used (Cura in my case) might try to heat the bed before the extruder as part of the print initialization. The print will hang on this instruction because the bed temperature never changes.

    Also, there were some bugs in mono 2.xx that apparently have been addressed in the latest version. As of writing this, I'm on mono 3.12.

    The baudrate, however, still must be changed to 115200.
     
  19. h54

    h54 New Member

    Joined:
    Feb 5, 2015
    Messages:
    14
    Likes Received:
    2
    Another tip:

    • Don't waste your time with Cura. I have had nothing but trouble with it. It slices faster and has much shorter etas but the results have been far from inspiring. That being said, I have a Windows friend that prefers Cura over Slic3r. Slic3r has given me far superior results.
      • If your distro doesn't have Slice3r in its repositories or the version thats available is broken, merely download a binary for your architecture from the official site, extract it, and point Repetier-Host's slicer manager to the new location.
    Here are some results:
    http://imgur.com/a/Ocqyg
     
  20. Stephen Capistron

    Stephen Capistron Active Member

    Joined:
    Jan 28, 2015
    Messages:
    442
    Likes Received:
    154
    Based on some of those pictures it looks like you may have had a significant settings change from within the host program. Different number of top layers, potentially a different z-offset too.
     
Thread Status:
Not open for further replies.

Share This Page