OX2 Broken?

I plugged in the LCD ribbon cable into my OX2 while it was on and I think it screwed it up. Now when I turn on my OX2 it doesn’t beep and the red and yellow LEDs next to the program button blink alternately. I can still get it to beep into yellow programming mode, but I am unable to actually program it. Are the alternating red and yellow LEDs signaling it’s broken or something? Thanks
Matt

Hello.

The alternating red and yellow LEDs mean that the auxiliary microcontroller ran into a problem while trying to program the ATmega644. As a result, it blinks the LEDs in that pattern and keeps the mega644 reset until it is successfully reprogrammed. What happens if you put it into programming mode and try performing a chip erase?

Can you describe what happened right before things stopped working? Did you plug the LCD in wrong somehow? Did you short anything? Did you hear anything strange, see any smoke, feel anything get hot, etc? Are there any signs of burning/charring on the board?

It’s possible you damaged the ATmega644 since that connects directly to the LCD, but from your description of the X2’s behavior, it sounds like both microcontrollers are alive.

- Ben

AVR Studio detects the OX2, but when it trys to program (or erase) it I get an “ISP Mode Error: A problem occured when executing the command. Make sure that you are using the correct programming method. Current mode is ISP…” If I try to program it again, AVR Studio doesn’t detect the OX2 and I have to reset it. I haven’t changed any of the programming parameters and I’ve programmed this OX2 many times before. The LCD was inserted correctly, nothing appeared to short, no smoke or noise, no heat, and the board appears to be fine.

If nothing bad happened when you plugged in the LCD, what makes you think that it was the cause of your problems? Was that just the last thing you did before it stopped working right? Is there anything else you can think of that might have caused this? Was the X2 or LCD sitting on anything that might have shorted across different leads? Given that the device was working and suddenly stopped, it seems likely that some event was at fault, and knowing what happened would be a big help in diagnosing the problem.

Do you have anything connected to the board? If so, can you try erasing the device with nothing connected (not even the LCD) If that doesn’t work, could you try reflashing the auxiliary mega168 with the X2 firmware? You can find the firmware and firmware upgrade instructions under the X2’s resources tab.

- Ben

I’ve disconnected everything from the OX2 and still can’t program it.

Plugging in the LCD is one of the last things I remember doing before I noticed the flashing LEDs. The OX2 was sitting on a wood table.

I was trying to establish communication between the OX2 and a computer with the Pololu 23201a serial adapter. Somehow the adapter shorted and I saw a little smoke, but that was after the red and yellow OX2 LEDs began blinking on the OX2. The 23201a was being powered by a separate voltage source (common ground with the OX2), and was only connected to the OX2 by two IO pins. Now if I connect the 23201a to power it instantly gets burning hot, so it’s obviously fried. I’m not sure if this is what caused the short in the 23201a, but I had the TX and RX connections to the OX2 reversed. I guess the OX2 could have fried before the 23201a smoked, I was really hopping the red and yellow blinking LEDs could represent some problem that could be reset or something.

The flashing LEDs do represent a resettable state if they’re not the result of physical damage to the device (e.g., if push the power button in the middle of programming, you’ll see the red and yellow LEDs alternately flash when you next power up, and reprogramming the device will reset this state). If the problem is physical damage to the MCU, there really isn’t anything you can do via software.

If your serial adapter smoked due to an incorrect connection to the X2, there could easily be equivalent damage to the X2’s mega644 since the current that damaged the adapter passed through the X2’s MCU. Were your connections made via pins PD0 and PD1 with the mega644’s UART enabled? The mega644 must be functioning at least enough to provide a 20 MHz clock to the auxiliary microcontroller, but the short might have damaged it in a way that makes it unresponsive to programming.

Out of curiosity, is there a reason why you chose to use a serial adapter rather than using the X2’s USB connection and auxiliary MCU to communicate with the computer?

At this point, the best recourse is probably for us to take a look at it in person. If you’re interested, please send it to the address listed on our contact page. Make sure to include the address you want us to ship it back to and contact information, and please reference this thread so we can identify it.

- Ben

Yes the connections were to D0 and D1 with UART enabled. The reason I am using this method with the serail adapter is because my ultimate goal is to use the OX2 to communicate with RoboteQ’s AX3500 robot controller via RS232 serial.

I’ll try to send my OX2 in soon. Thanks for all your help.