Stable g2 firmware on Arduino Due

Home Forums TinyG TinyG Support Stable g2 firmware on Arduino Due

Tagged: 

Viewing 15 posts - 1 through 15 (of 22 total)
  • Author
    Posts
  • #10183
    user34534
    Member

    Hi,

    I just want to run the latest stable g2 firmware on my Arduino Due.

    The TinyG-Updater doesn’t work for me and hasn’t been updated in over a year.

    The g2 wiki links to this page but the latest there is 078.03.

    The releases on github are all “pre-release”

    Is there somewhere else I can get latest stable bin/elf files?

    Thanks!
    Max

    #10184
    cmcgrath5035
    Moderator

    TinyG-Updater is for tinyG only; DUE requires a different tool chain.

    The G2 Wiki has straightforward how-to for downloading.

    G2 is under continuous development, so I’m not sure what you would consider “latest stable” release. Each new release has bug fixes and new features.

    There is not a whole lot of G2 traffic here. You might want to peruse

    to see what others are up to and are finding.

    If you want to play in G2, I suggest you follow the wiki and set up a local build environment. Then you can compile what ever version you might want to try. Building on both Linux (native tools) and on Windows (Atmel tool chain) both work well (past experience).

    There are numerous ‘power users’ on the Ox forum and on Chilipeppr that discuss G2 based systems; many of them are heavily customized by the users.

    Good Luck with the adventure.

    #10188
    user34534
    Member

    Thank you cmcgrath5035.

    My mistake about the TinyG-Updater.

    I was hoping for pre-compiled binary files but as there was none I had to build my own, like you mention. I used this as a guide as the wiki is lacking in some areas:
    https://github.com/synthetos/g2/issues/205

    Also the firmware update script for Mac doesn’t work. There is an PR to fix this that hasn’t been merged:
    https://github.com/synthetos/g2/pull/118
    You can use the script version from there to get it to work.

    I have questions about specific configuration items of G2. Where is the best place to ask these? Here? Github issues? Ox forum?

    Thanks again.

    #10190
    cmcgrath5035
    Moderator

    OK, you discovered Issues which might help.

    There does not seem to be a large community of MacOS users, and some of the MacOS issues seem to be in OS drivers, etc that Win and Linux folks are unfamiliar with.

    The G2 Wiki has several items focussed on parameters and tweaking,
    Beyond that, I would say that the Ox forum has a lot of G2 experimenters.
    Be sure to describe your machine – (belt, screw, etc.).

    #10700

    What did you end up gong with? I’m looking to load G2 core v0.97 on a Due, best case I could find a .hex ready to go and save some time. Any ideas? Thanks

    #10702
    cmcgrath5035
    Moderator

    cbarbre: It is not clear to me what you are asking about.
    It reads like you want to install $fb=078.03 on a DUE, which should be straightforward using bossac tools.
    What is your working environment – MAC, Linux, Win?

    What is your ultimate goal – build a machine or just experiment with G2core’s capabilities?

    $fb=078.03 is dated FW and there are significant updates and enhancements in the most current Edge build, $fb=100.26
    The time you spend now to build your own DUE+gShield binary, and to understand the G2core build system, will save you a lot of time in the long run, if your goal is to actually build and operate a machine. There will be no further updates to $fb=078.03 $fv=0.97 code, sooner or later you will want to move to 100.26 or later.

    #10758

    Hello all,

    thank you for your comments, it is good to see that there seems to be some activities out there, that I didn‘t find.

    I am considering to switch from a grbl based system with integrated motor drivers to a Arduino Due with Tiny G2core firmware, because I can then use external drivers (read: closed loop).

    Now in researching github and the forums, it seems, that there is very little development going on and there is not a synthetos‘ own board available that lets you use external drivers which would make it easier to get support officially from synthetos.

    You mentioned an Ox Forum – where there are people using g2core and can report on functionality or stability? Where is that forum? When I go the the OpenBuilds forum and search for TinyG, G2 or g2core, nothing comes up!

    I have read every single page in the g2 wiki, but they still leave some questions open, e.g. it is mentioned that the Due/the processor has no eepro storage there is no persistence of settings, so, how does everybody store the machine setting? Do they always re-compile the firmware and flash it, once they have the need to change a setting?

    There is no problem in compiling the stuff (I‘m on Mac OS but also have some Linux machines around (ia64 based and arm based).

    I am also looking around, what may be the best way to send gcode to such a setup (chilipeppr is one option I know) – a simple minimal GUI with a few buttons like performing jogging, homing and loading/sending a gcode file would be sufficient.

    If there is anyone around here, that can provide some tipps or a link to the above mentioned forum – many thanks!

    Michael.

    #10759
    cmcgrath5035
    Moderator

    I am considering to switch from a grbl based system with integrated motor drivers to a Arduino Due with Tiny G2core firmware, because I can then use external drivers (read: closed loop).

    I assume you mean closed loop drivers; there is no easy way to close loop back thru G2core

    Now in researching github and the forums, it seems, that there is very little development going on and there is not a synthetos‘ own board available that lets you use external drivers which would make it easier to get support officially from synthetos.

    Not very visible yet; two boards are under development (4 drivers and 5 drivers) as well as FW enhancements/extensions for 3D Printing.
    Have a look at https://github.com/synthetos/g2/issues , where alot of early adopters and partners hang out with the developers.

    You mentioned an Ox Forum – where there are people using g2core and can report on functionality or stability? Where is that forum? When I go the the OpenBuilds forum and search for TinyG, G2 or g2core, nothing comes up!

    Have a look here https://plus.google.com/communities/110852928951643236736
    I agree, searching for stuff using Google + can be difficult

    I have read every single page in the g2 wiki, but they still leave some questions open, e.g. it is mentioned that the Due/the processor has no eepro storage there is no persistence of settings, so, how does everybody store the machine setting? Do they always re-compile the firmware and flash it, once they have the need to change a setting?

    Folks have developed their own strategies. I have relatively stable parameters, so simply built a settings file for my system and recompiled those to be the defaults. You mention Chilipeppr below; it has an ability to download commands (parameter settings) when SPJS first connects. There are some python scripts floating about as well.

    I am also looking around, what may be the best way to send gcode to such a setup (chilipeppr is one option I know) – a simple minimal GUI with a few buttons like performing jogging, homing and loading/sending a gcode file would be sufficient.

    You can give CNC.js a look too, somewhat simpler than Chilipeppr

    If there is anyone around here, that can provide some tipps or a link to the above mentioned forum – many thanks!

    Bring back anything else you find, a lot of folks are developing under the covers.

    Good luck

    #10760

    Hi,

    thanks for your hints and answers! As soon as I have my hand on the Due I’ll give it a whirl. Yes, I meant the Leadshine ES-D508 and associated motors. I ordered a break out board from Djuke – DIY Audio as it was suggested here in the forum to get easy access to the signal pins.

    Thanks – I’ll have another look at the issues page, had been there before, but still there might be something I missed.

    Michael.

    #10761
    cmcgrath5035
    Moderator

    Issues – as you can probably tell, the GitHub issues serves as an interface to discuss anomalies that may result in trackable Bugs.
    Many of the repeat posters you see are product developers who have proprietary clones of the DUE core machine or are developing new products that will use the new G2core all-in-one boards.

    #10774
    Zootalaws
    Member

    On a Mac mini:

    Downloaded the compiled bin file from: http://synthetos.github.io/g2/binaries/TinyG2_Due-edge-078.03-default.bin

    In terminal (I already have git loaded)

    git install https://github.com/synthetos/g2.git

    move the downloaded bin from downloads to ~/g2:

    mv ~/Downloads/TinyG2_Due-edge-078.03-default.bin ~/g2/Resources/TinyG2-OSX-Programmer/TinyG2.bin

    Plug a USB cable from the computer to the Programming port of the Due (the one closest to the power jack).

    cd ~/g2/Resources/TinyG2-OSX-Programmer/
    
    ./DueFromOSX.sh -f TinyG2.bin -p /dev/cu.usbmodem*
    Forcing reset using 1200bps open/close on port /dev/cu.usbmodem241311
    wait...
    Starting programming of file TinyG2.elf -> TinyG2.bin on port cu.usbmodem241311
    Erase flash
    Write 119380 bytes to flash
    [==============================] 100% (467/467 pages)
    Verify 119380 bytes of flash
    [==============================] 100% (467/467 pages)
    Verify successful
    Set boot flash true
    CPU reset.

    Done. You now have a G2 core Due.

    Peasy…

    If you don’t have git installed, download the zip file from https://github.com/synthetos/g2 (clone or download – choose ZIP) and unzip it to a folder – you could leave it in Downloads and change the paths above to reflect that – ~/g2 becomes ~/Downloads/g2, etc.

    • This reply was modified 6 years, 3 months ago by Zootalaws.
    #10776
    Zootalaws
    Member

    I omitted: unplug the Due after programming and connect the native USB port, then connect using a terminal program using 115200,8,N,1. I use CoolTerm.

    tinyg [mm] ok> 
    [fb]  firmware build             78.02
    [fv]  firmware version            0.97
    [cv]  configuration version       5.00
    [hp]  hardware platform           3.00
    [hv]  hardware version            0.00
    [id]  TinyG ID                   02130215d40
    [ja]  junction acceleration  100000 mm
    [ct]  chordal tolerance           0.0100 mm
    [sl]  soft limit enable           0
    [mt]  motor idle timeout          2.00 Sec
    [pdt] pause dwell time            0 uSec
    [ej]  enable json mode            0 [0=text,1=JSON]
    [jv]  json verbosity              2 [0=silent,1=footer,2=messages,3=configs,4=linenum,5=verbose]
    [js]  json serialize style        1 [0=relaxed,1=strict]
    [tv]  text verbosity              1 [0=silent,1=verbose]
    [qv]  queue report verbosity      0 [0=off,1=single,2=triple]
    [sv]  status report verbosity     1 [0=off,1=filtered,2=verbose]
    [si]  status interval           250 ms
    [gpl] default gcode plane         0 [0=G17,1=G18,2=G19]
    [gun] default gcode units mode    1 [0=G20,1=G21]
    [gco] default gcode coord system  1 [1-6 (G54-G59)]
    [gpa] default gcode path control  2 [0=G61,1=G61.1,2=G64]
    [gdi] default gcode distance mode 0 [0=G90,1=G91]
    tinyg [mm] ok> 

    It literally took me as long to do as it took to write those two posts – I had a Due on my desk and had never done this before, so it’s not rocket science.

    #10777
    Zootalaws
    Member

    PPS – you don’t need to clone the git.

    You do need the TinyG updater app installed, as it uses ‘bossac’ to program the Due.

    My copy is in ~/Downloads so the path is: /~Downloads/TinyG-Updater.app/Contents/Resources

    Edit the .sh file:

    sudo nano DueFromOSX.sh

    In the line: FLASH_TOOLS= replace the path with the path above (assuming you downloaded the TinyG updater app to Downloads.

    The first 3 lines of the script should read:

    #!/bin/bash
    FLASH_TOOLS="~/Downloads/TinyG-Updater.app/Contents/Resources"
    BOSSAC=$FLASH_TOOLS"/tools_darwin/bossac/bin/bossac"
    
    • This reply was modified 6 years, 3 months ago by Zootalaws.
    #10779
    Zootalaws
    Member

    Downside to using the Due? You can’t use a Raspberry Pi running SJPS to run Chilipeppr remotely as there is no USB-B port on the Due.

    But, You can use a FTDI-USB module and talk to it through serial, via the Pi.

    I will hook up an ESP8266 running as a transparent bridge instead, although my transparent bridge iteration doesn’t have John Lauer’s nice buffering… I need to work on that.

    #10780
    Zootalaws
    Member

    @MichaelRommel.

    You can use a GRBL shield – pin compatible. Just watch out for the voltages – the DUE is 3.3V only.

    I would use a DUE prototyping shield – cheap and easy to get started on, and some polulu-type drivers. Again, cheap and easy to use, although if you’ve bought a driver/stepper set, no bother. For safety’s sake I would use opto-couplers – easy and cheaper than buying another $45 board.

    Once you have that sorted out, you can go for a more permanent solution.

    I have all the above components, so if you get stuck, give me a shout and I’ll see if I can help – but, we’re just about to look for and move to a new house in the three weeks before we head off to Korea for the olympics – a busy time, so it may have to wait till the first week of March.

Viewing 15 posts - 1 through 15 (of 22 total)
  • You must be logged in to reply to this topic.