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.
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?
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.).
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
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.
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!
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!
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.
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.
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.
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.
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.
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.
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.
Wow, Zootalaws, those are very thorough instructions - I highly appreciate that! I am waiting for my Due to arrive and also for the breakout shield, that I ordered from Djuke in the Netherlands.
I am building the CNC frame and the base that it sits upon right now. It will be a couple of weeks, until all is ready. I tend to look ahead quite a bit, since many times, the ordering and shipment process takes quite long, especially if you order some parts from China, as most of us hobby CNC users do.
The big decision I had to make - and the reason for this post and asking for advice - was whether it is a reasonable and „future-proof“ path to switch from an integrated solution (Arduino+grbl+board-with-4-drivers) to a modular solution (due+tinyg2core plus external drivers) which in the end would allow me to drive my 2 Y Axis and an additional A axis so I would end up with 5 drivers.
It seems this is the way to go, as there IS development and community around g2core! I am very happy and am looking forward to being part of this community and endeavour!
Thanks for all the help!!
Michael.
This topic is from the original forum (May 2018). Your reply starts a new discussion linked to it.