Did I brick my minimosd 0.1?

Hi!

I got the MinimOSD v0.1 from Ebay.

Used my FTDI 3.3v cable that I got from an earlier project (with an Arduiono pro mini.)

Connected to the OSD software, but got "Cannot talk to bootloader".

Since then I have tried a lot of things I found googling. I have also been using my AVRispMkII to upload the software and burn bootloader from Arduino.

I have successfully compiled the latest code in Arduino and at one point managed to upload it.

I also did the "Burn Bootloader" from Arduino, successfully.

I tried everything. Running avrdude to set fuses won't work, it makes a Timeout-error. Can't find my avrisp perhaps?

Then I started trying everything...

Anyway, as it stands now, the board only shows the red powerlight. The blue led never flashes anymore.

1. Did I brick it? Can you even brick it?

2. When burning the bootloader from Arduino, which type of board should I choose? There are only the Arduino Boards to choose from.

3. In general: Heeelp! *sobbing*. Help me start over. :/

Thanks in advance, 

Magnus, Swedish noob.

You need to be a member of diydrones to add comments!

Join diydrones

Email me when people reply –

Replies

  • Leaving this here for posterity since this is an issue that has plagued me and other MinimOSD owners for quite some time.

    FIX

    There are many derivatives of the original architecture for the hardware and they may not all be wired the same way, but at least the components are common and we have a way to access the chip directly through the 6 pin ICSP header.

    I haven't determined the exact root cause of this, but it occurs after certain isolated firmware updates coupled with eeprom remappings which result in a "Failed to talk to Bootloader" issue.  Bear in mind this is separate from the "Reset button issue".  If you're using an FTDI adapter you are encouraged to connect the GRN/DTR line to the MinimOSD's GRN pin.  If you don't do that you have to precede each write to the board with a physical press of the reset button. (yes it's something silly like - click write to board -> press reset button -> watch the data fly).

    Anyway - if you do happen to brick your bootloader somehow you have 2 options for fixing it, both require soldering in straight pin headers to the ICSP pads to the right of the atmega 328p.

    Top row pins left to right are

    RESET | SCK | MISO

    Bottom Row is

    GND | MOSI | Vcc (5v)

    That's a standard wiring configuration - so don't worry about having to plug them in in the right order.

    Next you need a USBASP programmer.  They're like $5 on ebay and they're an essential tool in any rc'rs toolkit. They typically come with a wire connector that goes to a 10pin header and a 6 pin ICSP (In Circuit Serial Programming) header.  That plugs directly into the ICSP header of the MinimOSD board.

    What this does is expose the programming pins of the chip which allows you access to change fuse bits (careful here) as well as upload hex files directly to the chip.

    Now the tricky part is - a firmware upload shouldn't brick the bootloader, they're in two separate areas of memory - yet I've seen enough of these posts that we know "something weird" is happening during the update process in very isolated cases.

    Anyway - option 1 is reset the fuses and see if that does the trick.  You will need a copy of avrdude command line executables loaded

    If you want to read the fuse bits - the command is simply

    avrdude -c USBASP -p m328p -U lfuse:r:-:h 

    Breaking that down

    -c USBASP - use USBASP as the serial device (swap out for whatever you're using)

    -p m328p - target is an Atmega328p

    -U flash command - in this case - read the lfuse and print to stout in Hex (you can use "i" in place of "h" also for different output)

    if you're using any other programmer, like an arduino for instance you will need to add -P switch to designate what port you're connecting your programmer to (for example -P COM7 or  -P usb)

    If your settings don't read FF DA 05 for the low, high and extended fuses then something's wrong.

    To write the fuse bits:

    avrdude -c USBASP -p m328p -U lfuse:w:0xFF hfuse:w:0xDA efuse:w:0x05

    ( for reference this step rarely works for me, but I'm leaving it here because it has for others)

    If you can't even connect to the board then you something's REALLY wrong and that's typical of a case where the bootloader gets corrupted.

    If that happens - you need to fire up the Arduino SDK and reflash the bootloader using the steps in the link I posted earlier.

    So yeah just to recap: 

    1) make sure you're not dealing with the reset issue first (verify that 5 pins are connected over ftdi

    2) check the fuses

    3) write the fuses

    4) reflash the bootloader

    I recreated this entire process using an Arduino as an ISP programmer, and as much fun as that was - I wouldn't recommend that for the average user...spend $5 and get the right tool to save you some headaches...If you want to see the Arduino process - I posted that as well in the link above.

This reply was deleted.

Activity