Flash Destroyer firmware update

in Flash Destroyer by Ian | 4 comments

The Flash Destroyer was offline briefly for a firmware update (live stream here). In anticipation of rolling over to 10 million write-verify cycles, we’ve added a decimal point that shows the millions place. When it hits 10 million the least significant digit (the 1s) will be dropped, and the decimal point will move one to the right.

The counter is stored as a 32bit (4 byte) unsigned long variable. The maximum counter value is 4,294,967,295 before rolling over to 0 again, but this can be extended further if needed.

We pushed the button to save the current write count before updating the firmware. The image above shows a dump of the PIC’s internal EEPROM what contains the saved value.

  • The first four bytes are the saved count: 0x006E7ED9. If you put your system calculator in scientific/HEX mode, enter 006E7ED9, and then switch to DEC, you can get the more familiar decimal value 7,241,433.
  • 0xC9 is the simple parity check byte that ensures the previous four bytes weren’t just empty values on a blank chip.

There’s still 200+ bytes of free EEPROM in the PIC that can be used to store other configuration info, like EEPROM type or address, or write speed.

The latest updates are in the SVN. We’ll release an updated project archive shortly. You can preorder the Flash Destroyer ‘I like to solder’ kit for $30, including worldwide shipping.

This entry was posted in Flash Destroyer and tagged , , , .

Comments

  1. PeterZ says:

    I love this project, thanks.

    I’ve put together two of them and I am just starting to go through the source code for the project.

    There are a few things I’d like change and try after modifying the code. Is there an example or description of the process for compiling and flashing the firmware for the Flash Destroyer? Perhaps such instructions exist in another project, in which case I’ll continue searching through them but would greatly welcome any pointers.

    thanks!

  2. Ian says:

    Hi PeterZ,

    I really glad you like the flash destroyer. We have an PIC compiling how-to here:
    http://dangerousprototypes.com/docs/Compiling_PIC_projects

    The bootloader is the same as the IR Toy, you can follow these instructions to do the update:
    http://dangerousprototypes.com/docs/USB_IR_Toy_firmware_update

    but change the VID/PID to match the Flash Destroyer (0X04D8 0xFBEB):
    http://dangerousprototypes.com/docs/USB_VID/PIDs_used_in_projects

  3. PeterZ says:

    Outstanding! Thanks again and keep up the great work :)

  4. Ian says:

    No problem, please give me a shout in the forum when you get cooking, or if you need any help :)

Leave a Comment

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Notify me of followup comments via e-mail. You can also subscribe without commenting.