PDA

View Full Version : I made a mess.... I think I need a Rapide lite Firmware to flash



safonz
01-02-2015, 12:31 PM
Hi everyone
I'm a completly noob of the 3d printing and when I try to adjust the step per mm on Extruder i made a mess. I think I've completly cleared the firmware of the printer because when using Arduino 1.5.8. connected via USB I pressed the load button without code in the windows so I accidentally write an empty firmware.
Someone can help me?? I'm desperate!!

There is a procedure to reset to the factory firmware?

Someone have the firmware?

Thank you.

safonz
01-02-2015, 08:17 PM
It is downloadable via internet??

Shiki
01-02-2015, 08:36 PM
I think the firmware is Marlin, I don't have the printer here yet to check, but if the mainboard uses ATMEGA 2560, you can use it.
http://solidutopia.com/marlin-firmware-user-guide-basic/ (http://www.thingiverse.com/thing:271736/#instructions)

Then you will need calibrate it later using calibration cube.
http://www.thingiverse.com/thing:271736/#instructions

safonz
01-02-2015, 10:39 PM
I've tryed to follow this guide http://solidutopia.com/marlin-firmware-user-guide-basic/ (http://www.thingiverse.com/thing:271736/#instructions) but i'm too noob to propely restore the firmware (i can communicate with the printer but the motor don't move and i not have the temperature from thr extruder and the bed). I've send an email to rapide lite support hoping they can resolve. If they send me the firmware i will post in this tread to share with all the community

sm0orb
01-02-2015, 11:11 PM
Is a risk that the firmware is modified in some way by Rapide3D. I suggest you send a mail to support@rapide-3d.com and ask for a firmware to download.

bolsoncerrado
01-03-2015, 11:16 AM
I agree with sm0orb.

What i dont get is if you're noob to do a restore of a firmware, why did you connect an arduino to the board anyway? what for?

safonz
01-03-2015, 01:25 PM
I send a g-code command to extrude 100 mm of filament... measuring the result 83 mm.... Reading on internet how to solve the problem i've readed to recalculate the step per mm value to compensate and change it in the firmware, so i installed the arduino ide program to change this value. Run... hit load (thinking load value from board and not load value to board) ....and DOH!!! No more firmware...
To restore the original firmware, if i can have the .ino file, all i have to do is Open the file with arduino and load it to the board.
I've already sended an email to support@rapide-3d.com asking for the file

BobenhamHotspur
01-03-2015, 01:33 PM
I send a g-code command to extrude 100 mm of filament... measuring the result 83 mm.... Reading on internet how to solve the problem i've readed to recalculate the step per mm value to compensate and change it in the firmware........
Very adventurous for a noob! :p, hope it all end well :)

safonz
01-03-2015, 02:04 PM
I'm a noob of the 3d printing world but i love too mutch to tweak electronic... If it is not required an hardware modification I did it.
I've already successfully made a firmware update (to install custom firmware and OS) on my smartphone, mp3, multimedial HD... Failed on my printer ;)


hope it all end well :)

I hope too :D, i don't want a 12 Kg paperweight.

BobenhamHotspur
01-03-2015, 03:37 PM
@safonz - just a stab in the dark.

Have you turned off your printer since you had the problem? reading through the readme.md file that comes with the Marlin 1.0.1 zip file, there is a G code M503 - print the current settings (from memory not from eeprom).

Therefore if the code exists in 2 separate places on the motherboard you may have some options;

1) Did you upload the blank file to either A) the EEPROM or to B) the memory ?

2) If A and you haven't turned off your machine yet, can you save the memory out to disk then re-write it back to EEPROM?
3) If B and you haven't turned off your machine yet then rebooting should reload the settings from the EEPROM

4) If A and you have turned off your machine then you will need a new file to re-write it back to EEPROM
5) If B and you have turned off your machine then rebooting should have reloaded the settings from the EEPROM?

safonz
01-03-2015, 04:36 PM
I have turned off and reebooted and the result of the g-code M501 and M503 are the same, so I'm pretty sure i have writed it in either place.

p.s. when you use M503 come out something or nothing?? Before i have the problem M503 show no result to me.

BobenhamHotspur
01-03-2015, 05:00 PM
@safonz - I know very little about G codes so I can't answer your question. Reading the notes for M503 it says "print" but how or where I do not know. My other observations were made purely by applying logic to the stated facts e.g if it states "from memory not EEPROM" then it should exist in two places on the motherboard. Have you tried M502 - reverts to the default "factory settings". ?

safonz
01-03-2015, 08:16 PM
i have used the M502 command but it only copy the board setting in the temporary memory... :(

sm0orb
01-03-2015, 08:32 PM
Is there someone on the forum that is cunning in Arduino work and know if a firmware can be extracted from the printer and uploaded here to help safonz ?

synthius
01-03-2015, 09:41 PM
I've programmed Arduinos in the past and do not believe you can extract the firmware from it. We would need to get the firmware from rapidlite.

BobenhamHotspur
01-03-2015, 10:30 PM
Found this in the Arduino program 1.0.6, under 'File/Examples/EEPROM/eeprom_read'


/*
* EEPROM Read
*
* Reads the value of each byte of the EEPROM and prints it
* to the computer.
* This example code is in the public domain.
*/


#include <EEPROM.h>


// start reading from the first byte (address 0) of the EEPROM
int address = 0;
byte value;


void setup()
{
// initialize serial and wait for port to open:
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for Leonardo only
}
}


void loop()
{
// read a byte from the current address of the EEPROM
value = EEPROM.read(address);

Serial.print(address);
Serial.print("\t");
Serial.print(value, DEC);
Serial.println();

// advance to the next address of the EEPROM
address = address + 1;

// there are only 512 bytes of EEPROM, from 0 to 511, so if we're
// on address 512, wrap around to address 0
if (address == 512)
address = 0;

delay(500);
}


Looks like this might help ??

Shiki
01-04-2015, 03:20 AM
Found this in the Arduino program 1.0.6, under 'File/Examples/EEPROM/eeprom_read'


/*
* EEPROM Read
*
* Reads the value of each byte of the EEPROM and prints it
* to the computer.
* This example code is in the public domain.
*/


#include <EEPROM.h>


// start reading from the first byte (address 0) of the EEPROM
int address = 0;
byte value;


void setup()
{
// initialize serial and wait for port to open:
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for Leonardo only
}
}


void loop()
{
// read a byte from the current address of the EEPROM
value = EEPROM.read(address);

Serial.print(address);
Serial.print("\t");
Serial.print(value, DEC);
Serial.println();

// advance to the next address of the EEPROM
address = address + 1;

// there are only 512 bytes of EEPROM, from 0 to 511, so if we're
// on address 512, wrap around to address 0
if (address == 512)
address = 0;

delay(500);
}


Looks like this might help ??

Unfortunately, it really reads the EEPROM, but the code is written the flash, so it cannot be used to read the firmware.
Sorry.

safonz
01-05-2015, 10:18 AM
Last friday I sent an email to support@rapide-3d.com, how many days I have to wait to have an answer?

CrazyCoder
01-05-2015, 12:42 PM
They are on holidays, check the comments on indiegogo page, Ethan said they should be back today, but it will take some time to handle all the mails from the last weeks.

BobenhamHotspur
01-05-2015, 01:35 PM
Unfortunately, it really reads the EEPROM, but the code is written the flash, so it cannot be used to read the firmware.
Sorry.But isn't the code in the EEPROM loaded into memory when booting the system?

safonz
01-05-2015, 04:20 PM
@Shiki
The example code posted by BobenhamHotspur cannot be used on a unmodified RL200 to retrieve a file, even a PDF, with the firmware code??? (* Reads the value of each byte of the EEPROM and prints it to the computer)

Shiki
01-06-2015, 05:51 PM
@Shiki
The example code posted by BobenhamHotspur cannot be used on a unmodified RL200 to retrieve a file, even a PDF, with the firmware code??? (* Reads the value of each byte of the EEPROM and prints it to the computer)
Unfortunately flash memory is not accessivle by using that code. As it reads a eeprom not the flash memory (which has the rapide lite firmware).

BobenhamHotspur
01-06-2015, 08:45 PM
Unfortunately flash memory is not accessivle by using that code. As it reads a eeprom not the flash memory (which has the rapide lite firmware).Please excuse me if i misunderstand how eeproms work but how then does the firmware get onto the device and how do you save any changes that are made?

CrazyCoder
01-07-2015, 03:22 AM
There are different types of memory in the AVR devices. Firmware is stored in the program memory, EEPROM is a separate memory area in the chip used for storing the settings. While you can read EEPROM programmatically, to access the program memory, you have to use the ISP programmer device plugged into the 6-pin ISP port on the PCB. If the fuses set during programming permit, you can dump the firmware contents with the programmer connected to the ISP port.

Once you have the firmware dump, you should be able to flash it again into other chips. If there is a bootloader, it can be done easily via USB. If the bootloader is not present or was erased, the only way to upload the firmware in the device is using the same programmer device via the ISP port.

Here is the location of this port on the PCB:

https://dl.dropboxusercontent.com/u/2752840/ShareXmod/2015-01/2015-01-07_05-19-24.png

USB ASP programmer (http://www.ebay.com/itm/USBASP-USB-ISP-51-AVR-Programmer-/221653836937) price starts from $1. If you have any Arduino device, it can be used as the programmer too.

CrazyCoder
01-07-2015, 04:29 AM
I've tried to dump the firmware using the USB ASP programmer, it appears that firmware is protected from reading, the resulted file has only some parts of the bootloader code, but no actual firmware. EEPROM seems to be empty.

Here is the dumps archive (https://dl.dropboxusercontent.com/u/2752840/rapide200.zip), but it's of little use.

safonz
01-07-2015, 01:15 PM
I'm not understanding anything .... (too complicated for me), the USB ASP programmer (http://www.ebay.com/itm/USBASP-USB-ISP-51-AVR-Programmer-/221653836937) It's only used to dump memory or it's necessary to write the firmware to the board??
2) It's it possible I only flashed the EEPROM?? (I dont' have any USB ASP programmer only used Arduino IDE program with the printer connected on computer USB )
3) If n.2 answer is YES, It's possible to erase only the EEPROM??

Thanks for your patience and courtesy

CrazyCoder
01-07-2015, 03:53 PM
The board has a bootloader, so if you have a firmware, you can flash it via USB without the programmer. The problem is that we don't have the firmware with the settings specific to this printer and it seems to be protected in the chip, so there is no way we can dump it with USB ASP programmer (at least it didn't work for me).

It looks like you have flashed the new firmware via Arduino IDE, so you have erased the original firmware, not (only) EEPROM.

safonz
01-07-2015, 06:43 PM
Thank you for the clarification, so the only way is to wait the reply from the support team of Rapide 3D hoping they will send me a new firmware.

sm0orb
01-07-2015, 07:00 PM
A related question.
In repetier for win 1.0.6 there is a menu alternative to view the firmware settings as far as i understand. However all values here are 0.
Is there anyone who has any values in this in theese fields ?
Since there are no basis to start with, what values should there be, i have seen different values used for the same purpose in different places, obviusly becasue they are scaled in som way before writing or before use.
The value i was searching for is the extrusion step/mm value as used in Tom's video for calibrating, i get out 83 mm instead of 100 when testing in repetier manual mode and want to adjust it.

safonz
01-07-2015, 08:51 PM
A related question.
In repetier for win 1.0.6 there is a menu alternative to view the firmware settings as far as i understand. However all values here are 0.
Is there anyone who has any values in this in theese fields ?
Since there are no basis to start with, what values should there be, i have seen different values used for the same purpose in different places, obviusly becasue they are scaled in som way before writing or before use.
The value i was searching for is the extrusion step/mm value as used in Tom's video for calibrating, i get out 83 mm instead of 100 when testing in repetier manual mode and want to adjust it.

Same to me, so I installed Arduino Ide trying to read some value from firmware and made a mess....

sm0orb
01-07-2015, 09:23 PM
Then i'll avoid that. Better let someone familiar with that environment try and check the values. If noone responds maybe i'll try a pure serial comms program to see what the REAL return from the machine is, i think repetier is filtering out quite a lot from the log.

Joao
01-07-2015, 10:20 PM
Simplify3D has an option to display all communication flow, and it mentions some things (not much) regarding the firmware:

RECEIVED: echo: External Reset
RECEIVED: Marlin 1.0.0
RECEIVED: echo: Last Updated: Dec 8 2014 18:37:37 | Author: (none, default config)
Last Updated: Dec 8 2014 18:37:37 | Author: (none, default config)
RECEIVED: Compiled: Dec 8 2014
RECEIVED: echo: Free Memory: 3810 PlannerBufferBytes: 1232
Free Memory: 3810 PlannerBufferBytes: 1232
RECEIVED: echo:Hardcoded Default Settings Loaded
Hardcoded Default Settings Loaded
SENT: M105
RECEIVED: echo:SD init fail
SD init fail
RECEIVED: echo:Active Extruder: 0
Active Extruder: 0
RECEIVED: ok

I hope it helps.

sm0orb
01-08-2015, 07:35 PM
Don't show anything more than the repetier log.
I was mostly interested in the reactions to some manual commands.
For example as Tom said in the extruder calibration video i think it was M503 to read the settings from firmware.
Tried the command (just after watching the sequence to really get the correct one) but got nothing at all in the log.
So i'm wondering, does the printer even answer to that command or is it so that repetier sees the answer and handles it by putting the result in some data fields without displaying them.

Hopefully we can get a command summary from Rapide-3D soon so we have facts instead of guesses.

BobenhamHotspur
01-10-2015, 06:05 PM
I just noticed while using MatterControl that there was an option to read/write to EEPROM, has anybody tried this method to communicate with our board?

tigerpolis
01-10-2015, 06:23 PM
Did you try to reflash it with firmware like Marlin?

safonz
01-10-2015, 07:45 PM
yes, but there are too many settings and do not work the way it is.

safonz
01-14-2015, 01:10 PM
Today Rapide team have sended to me this Zip file. It also may be useful to calibrate the correct filament extrusion?

https://www.dropbox.com/s/0cr32vwztcnko7s/Firmwareforlite200.zip?dl=0