Welcome! Log In Create A New Profile

Advanced

Gen 6, Firmware upload

Posted by Lucastar 
Gen 6, Firmware upload
October 15, 2011 12:00PM
Hi Everyone,

Its been a while since I posted on this forum - I usually get all I need by reading everyone elses posts!

I've just completed my first reprap - a self build Isaac - I took the Fleming CNC alibre drawings, converted them to Rhino, then took CNC toolpaths from them, cutting out of black HDPE and white Nylon with a Gerber Sabre 408.
I have carbon fibre smooth rod for the x and y, steel for the z axis, and am running Adrians Extruder, (puchased from Nophead) with Gen6 electronics - (Mendel-parts Batch 1, #37)
The firmware that it is loaded with is 5d, and works OK (ish) but I really want to change to either Marlin, or (pref) Repetier.
The problem I have is that I cant work out how to change the firmware.

Do I need a usbTiny to change this firmware? or can I do it via the USB? - I read on Mendel-parts.com, but it is not specific.

The repetier site is no clearer:
https://github.com/repetier/Repetier-Firmware/wiki/Installation - It looks like USB is the way.

I have a USBtiny v2.0 I puchased from China, but I'm not sure its working (light comes on, and is found in device manager)- I tried to upload firmware to a gen 3 board, and I failed.

I have downloaded the arduino host, and have put in the sanguino extensions. I have chosen Sanguino as the board type, and the correct com for both the USBtiny, and the Gen6 via usb.

I have changed boards.txt to work at 19200 baud - purely because I control my reprap at that speed.

What is Stk500? is It a programmer that I'm not using?? I get:

avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51

Which Google comes up with board not communicating


I changed boards.txt to read usbtiny instead of stk500, and got this:
USB read error: expected 4, got -5
USB read error: expected 4, got -5
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.
My boards.txt file looks like this:
##############################################################

sanguino.name=Sanguino
sanguino.upload.protocol=USBtiny
sanguino.upload.maximum_size=63488
sanguino.upload.speed=19200
sanguino.bootloader.low_fuses=0xFF
sanguino.bootloader.high_fuses=0xDC
sanguino.bootloader.extended_fuses=0xFD
sanguino.bootloader.path=atmega644p
sanguino.bootloader.file=ATmegaBOOT_644P.hex
sanguino.bootloader.unlock_bits=0x3F
sanguino.bootloader.lock_bits=0x0F
sanguino.build.mcu=atmega644p
sanguino.build.f_cpu=16000000L
sanguino.build.core=arduino

Problem is, I dont have a clue what I am doing. (and Im no electronics wiz by far)
Would someone (who has changed the FW on this board) be kind enough to walk me through the process please?

I really dont want to make a brick out of my gen6!
Thanks

Aidan
Re: Gen 6, Firmware upload
October 15, 2011 01:56PM
Ahhh.... right, my error. Host software was still running, and I downloaded Mendel-parts version of the arduino018 with sanguino already installed, and found a tutorial on Youtube

All appears to have worked 'done uploading' (phew) but when I load repetier host, the program gives me:

serial com error:system.IO.Ports.SerialErrorReceivedEventArgs

Anyone got any ideas???
Re: Gen 6, Firmware upload
October 15, 2011 02:28PM
I found the problem - it was the baud - moving it from 19200 to 76800 in the repetier host program did the trick - now all the axis are backwards... I think thats in the configuration.h file...
Re: Gen 6, Firmware upload
October 16, 2011 01:33PM
Hi,

USB problems: Arduino 22 comes already with sangino support included, no changes needed (except the replacement files in boards directory for better speed). The GEN 6 has an arduino bootloader, so no programmer like TinyUSB is needed, Just plug in usb, select com port and board in arduino, and click upload. The 9600 for upload are independent from the speed, the firmware uses later. The stk500 is a development board from atmel. The bootloader on gen6 uses the same transfer protocol, as far as I know, hence the name. If it hangs during upload (after you see the compilation is finished), the green led should flicker. If not, touch reset once, then upload should start (happens only sometimes on by board).

the directions are in configuration.h, look at

// Inverting axis direction
#define INVERT_X_DIR false
#define INVERT_Y_DIR true
#define INVERT_Z_DIR false

invert them, if your direction is the other way around.

With your serial communication - as long as Repetier-Host is connected, you can't upload with Arduino. Disconnect, Compile and upload, connect again. That's because only one programm can use a serial connection at a time.

If you have more problems, just drop a message.

Edited 2 time(s). Last edit at 10/16/2011 01:52PM by repetier.


Repetier-Software - the home of Repetier-Host (Windows, Linux and Mac OS X) and Repetier-Firmware.
Repetier-Server - the solution to control your printer from everywhere.
Visit us on Facebook and Twitter!
Re: Gen 6, Firmware upload
January 25, 2012 10:21AM
Hello everybody,

I have a problem with my gen6 firmware (marlin) downloaded from mendel-parts.com
All axis are fine and X/Z axis are going on both directions. The problem ise the Y axis... He only goes in 1 direction and when I invert the Y axe in the configuration.h he goes in the other way when but not more in the first one (don't know if i maid myself understood;..)
Anyway, if you have any suggestion, comment or idea to solve my problem you are welcome!

Thanks! winking smiley

GEN6 + mendel v2
Re: Gen 6, Firmware upload
January 25, 2012 10:25AM
Don't double post. sad smiley


Bob Morrison
Wörth am Rhein, Germany
"Luke, use the source!"
BLOG - PHOTOS - Thingiverse
I got a board from 3dstuffmaker in May this year, which had a gen6 board on it.

I can run the printer using repsnapper and pronterface, but they both have different ideas about the filament flow rate compared to what the person who put the firmware on thought. I'm having trouble controlling for this, because reducing the axis speed in the programs also reduces the flow rate -- I can't find any way to change these independently.

I don't have an external programmer, so would like to refresh Lucastar's question, how can I reflash the firmware of a Gen6 board using its own USB port?

I've tried quite a few different arduino software combinations, but they all boil down to the following error:

avrdude: stk500_getsync(): not in sync: resp=0x73
avrdude: stk500_recv(): programmer is not responding

(the first response is what happens when I press the reset button after starting avrdude (either standalone, or within the arduino software), and the second response is when reset is not pressed.

This is at a baud rate of 19200. Using the 'default' rate of 37600 produced another consistent (but incorrect) response, 1e, but I'm pretty sure 19200 is correct because that's the rate I use for printing, and I get something interesting as a response at 19200 when trying the avrispv2 programmer option in avrdude. FWIW, I'm sure avrispv2 must be the wrong way to do it, but it produces the most interesting output from avrdude in verbose mode :

sarduino-0018/hardware/tools$ ./avrdude -c avrispv2 -b 19200 -i 10 -p m644p -P /dev/ttyUSB0 -F -U flash:r:20110522-factory_gen6.hex:i -vvvv

avrdude: Version 5.4-arduino, compiled on Jul 15 2009 at 20:33:23
Copyright (c) 2000-2005 Brian Dean, [www.bdmicro.com]

System wide configuration file is "/usr/local/etc/avrdude.conf"
User configuration file is "/home/grinja/.avrduderc"
User configuration file does not exist or is not a regular file, skipping

Using Port : /dev/ttyUSB0
Using Programmer : avrispv2
Overriding Baud Rate : 19200
Setting isp clock delay: 10
avrdude: Send: . [1b] . [01] . [00] . [01] . [0e] . [01] . [14]
avrdude: ser_recv(): programmer is not responding
avrdude: stk500_2_ReceiveMessage(): timeout
avrdude: Send: . [1b] . [01] . [00] . [01] . [0e] . [01] . [14]
avrdude: Recv: s [73]
avrdude: Recv: t [74]
avrdude: Recv: a [61]
avrdude: Recv: r [72]
avrdude: Recv: t [74]
avrdude: Recv: . [0d]
avrdude: Recv: . [0a]
avrdude: ser_recv(): programmer is not responding
avrdude: stk500_2_ReceiveMessage(): timeout
avrdude: Send: . [1b] . [01] . [00] . [01] . [0e] . [01] . [14]
avrdude: ser_recv(): programmer is not responding
avrdude: stk500_2_ReceiveMessage(): timeout
avrdude: Send: . [1b] . [01] . [00] . [01] . [0e] . [01] . [14]
^C

[The Recv lines only appear after I release the reset button on the board]

So, this thing is spitting out 'start' as soon as it is reset. I presume this is related to the ?FiveD firmware already on the machine. When I open the serial communication mode for arduino (19200 baud) and press reset, I can straight away sent G codes to it.

I get the feeling that avrdude is talking to the firmware/software rather than the board. Is it possible to reflash this board using the USB connection that I use to print things (possibly using the ?FT232RL interface)?
Re: Gen 6, Firmware upload
June 22, 2014 02:06PM
I have the same problem... I have the 3D Stuffmaker Evolution with the Gen6 board. I want to reload the firmware, but I am getting the same errors. Should I buy a USBTinyISP to flash it or is it possible to flash it with the onboard USB port?

I did just stumble across this and I am going to give it a shot later today, but I don't think it will work....
[docs.google.com]

Any help would be appreciated.

Thanks,
Will
Sorry, only registered users may post in this forum.

Click here to login