Restoring bricked Caddx Turtle after failed firmware update

        If you have failed to update the Caddx Turtle firmware, then you’ll probably have “bricked” device that refuses to work (black screen, no video out, no reaction to buttons, etc). Don’t be upset and don’t throw it away – it is relatively easy to restore the firmware by using the Arduino board.

        Hardware

        USB to TTL adapter. Better get one with 3.3V option. I have tested the cheap CH340G adapters and they work flawlessly, therefore I recommend them.

        (Possible variants on ebay: https://www.ebay.com/sch/i.html?_nkw=USB+to+TTL+CH340G+3.3V)

        Arduino Mini Pro with Atmega328P. Probably any Atmega328 based Arduino board should fit, just have in mind that we need 3.3V power supply and logic levels.

        (possible variants on ebay:?https://www.ebay.com/sch/i.html?_nkw=Arduino+Mini+Pro+atmega328)

        Software

        You can download all the software in one package here:?http://bit.ly/Google-Drive-Caddx-Turtle-Firmware-Flashing?or you can download the individual packages from the list down below:

        Note! It seems that the Caddx has changed the Turtle Cam sensor board for the latest batches and you should pay attention what firmware you are uploading. There are two firmware files: for old sensor board and the new sensor board. The provided firmware may not work for particular your version of Caddx Turtle. Do the firmware backup!

        Procedure step by step

        First you need to flash Serprog firmware to Arduino Mini Pro:

        1. Connect USB – TTL converter to Arduino Mini Pro board
        2. If everything is ok, You should see “FTDI” or “USB-SERIAL CH340” device in device manager
        3. Connect Arduino Mini Pro to USB-TTL adapter (check that your FTDI or USB Serial adapter uses 3v for powering)
        4. Start Xloader, open [fser-duino.hex] file, set the? COM port and hit “Upload” (tip: Press and hold Reset button on the Arduino board and release right before you hit the “Upload” button).

        Now You have Flashrom compatible programmer.

        Connect the Turtle serial flash IC to the Arduino. Use supplied connection schematic. Solder 6 wires: VCC, GND, CS, CLK, MOSI and MISO.?Try to keep them as short as possible, better about 10cm. Use small diameter wire.

        Connection table:

        FLASH CHIP ARDUINO BOARD
        VCC (pin 8 ) 3.3V output (5V can kill the board!)
        GND (pin 4) GND pin
        CS (pin 1) pin 10
        MISO (pin 2) pin 12
        MOSI (pin 5) pin 11
        Clock (pin 6) pin 13

        Connection schematic:

        Caddx Turtle Flash chip connected to the Arduino board should look like that:

        Do not power the Caddx Turtle board with alternative power source. It should be left only connected to Arduino board.

        Once you have everything connected, try reading the contents of flash IC by running this command in Windows Command prompt:

        mingw32-w64-flashrom-r1781.exe --programmer serprog:dev=COM7:115200 -c MX25L6445E --read test.hex

        Here in the parameter?--programmer serprog:dev=COM7:115200?change COM7 to whatever COM number your USB-TTL adapter has.

        You should get similar output to this:

        E:\My\RC\Flashrom\Caddx.Turtle>mingw32-w64-flashrom-r1781.exe --programmer serprog:dev=COM7:115200 -c MX25L6445E?--read test.hex
        flashrom v0.9.7-r1781 on Windows 6.2 (x86)
        flashrom is free software, get the source code at http://www.flashrom.org

        Calibrating delay loop... OK.
        serprog: Programmer name is "frser-duino"
        Found Macronix flash chip "MX25L6445E" (8192 kB, SPI) on serprog.
        Reading flash... done.

        Be patient – reading 8Mbytes of the data takes ~ 10 min.

        If everything goes OK by this far, you are ready to flash the firmware. To flash the device, start this command:

        mingw32-w64-flashrom-r1781.exe --programmer serprog:dev=COM7:115200 -c MX25L6445E --write flash.hex

        You should get similar output to this:

        E:\My\RC\Flashrom\Caddx.Turtle>mingw32-w64-flashrom-r1781.exe --programmer serprog:dev=COM7:115200 -c MX25L6445E?--write flash.hex
        flashrom v0.9.7-r1781 on Windows 6.2 (x86)flashrom is free software, get the source code at http://www.flashrom.org?
        Calibrating delay loop... OK.

        serprog: Programmer name is "frser-duino"
        Found Macronix flash chip "MX25L6445E" (8192 kB, SPI) on serprog.

        Reading old flash chip contents... done.
        Erasing and writing flash chip... Erase/write done.
        Verifying flash... VERIFIED.

        Note: Flashing 8Mbytes of the data takes a lot of time – be patient. Arduino flashing device uses slow SPI connection with 115200 baud rate. (approx 14kb per second, or 840kb per minute) so it takes about 10 min to read, 20 min to erase-write and 10 min to verify…

        Note: Caddx Turtle can not boot normally while the Arduino board is connected. Options – you can disconnect the wires after the flashing or you can hold the reset button on the Arduino board while the Caddx Turtle is booting to check if everything is working after the flash process.

        Note: Windows command prompt can be opened by selecting the File – Open command prompt from the file explorer menu.

        You are done! You have successfully restored the firmware.

        If you have questions or you need more details, then leave a comment below.

        Mandatory disclaimer: Do it on your own risk. Flashing the firmware can result in bricking your device.

        Comments
        1. Aldo
          • montis
        2. David
        3. PatrikE
          • montis
        4. Agnus
          • montis
          • Reza
          • Helder Vieira
            • dfebrihardy6
        5. taurusfpv
          • montis

        Leave a Reply

        Your email address will not be published.

        *

        主站蜘蛛池模板: 常宁市| 冕宁县| 牡丹江市| 崇州市| 富川| 建始县| 泊头市| 申扎县| 栾城县| 大田县| 彰武县| 麦盖提县| 云林县| 宜章县| 福泉市| 嫩江县| 石河子市| 广宁县| 沧州市| 监利县| 梅河口市| 大宁县| 固始县| 包头市| 淮安市| 周宁县| 襄城县| 怀集县| 南阳市| 雅安市| 绿春县| 金塔县| 崇州市| 蓬溪县| 郸城县| 呼伦贝尔市| 长垣县| 黑水县| 锡林郭勒盟| 溧阳市| 盱眙县|