Cobra II Mainboard Dead

I am using a Cobra II (G120 SoM), a T43 Display and an RS232 Module and everything worked fine until something happened during the deployment of a quite simple program.

Just initializing COM port, sending a string and displaying the responses.

Then I added a test for the touch panel. Just printing the coordinates of the touch.

While deploying again, there was a message in VS2012 like “Updating display settings”.

Finally the program started to run and the SoM kept resetting continuously. There was no way to stop it. I tried to erase the application using FEZ_config_v013.exe which was quite difficult since the device was recognized only for few seconds until the next reset.

The message “Application erased successfully” appeared.

Now, the device is not recognized anymore by the PC. The debug LED is continuously on and the RS232 port outputs (@ 115200Baud) stuff like:

pc =0xa0310000
lr =0xf03fff58
sp =0x10000900
r00 =0x00000001
r01 =0x00000001
r02 =0x00000001
r03 =0x00001000
r04 =0xaff2ff58
r05 =0xf03fff58
r06 =0xa0310000
r07 =0x1000ff10
r08 =0xa031ff58
r09 =0xa031ff58
r10 =0xa0123aac
r11 =0x00000080
r12 =0xaff2ff58

What can I do to recover it? Reset button does not help and the device is not recognized by the PC.

The last program deployed

        void ProgramStarted()
            Debug.Print("Program Started");
            rs232.Initialize(9600, GT.Interfaces.Serial.SerialParity.None, GT.Interfaces.Serial.SerialStopBits.One, 8, GT.Interfaces.Serial.HardwareFlowControl.NotRequired);
            Debug.Print("RS232 intialized  9600, 8N1");
            rs232.serialPort.LineReceived += serialPort_LineReceived;
            rs232.serialPort.AutoReadLineEnabled = true;
            Debug.Print("Display Height = " + display_T43.Height + " Display Width = " + display_T43.Width);
            display_T43.WPFWindow.TouchDown += WPFWindow_TouchDown;

        void WPFWindow_TouchDown(object sender, Microsoft.SPOT.Input.TouchEventArgs e)
            display_T43.SimpleGraphics.DisplayText("X: " + e.Touches[0].X + " Y: " + e.Touches[0].Y, Resources.GetFont(Resources.FontResources.small), GT.Color.Blue, (uint)e.Touches[0].X, (uint)e.Touches[0].Y);

        void serialPort_LineReceived(GT.Interfaces.Serial sender, string line)


And how to install tinybooter if the device cannot be accessed?

As my status says “Newbie”. Would you be so kind to explain me step-by-step how to get there. If it works, you’ll be my hero of the day.

in step #7 under section “TinyBooter” Update through GHI Boot Loader, for cobra II push and hold down LDR0 and LDR1 buttons.

That was it!
Following the instructions was successful.

It is a bit confusing that the document is called “Firmware update EMX”. So using a G120 it is not very straightforward to look there even though the same steps are applied.

A more general document name would make it easier to find.

Just a suggestion.


Glad you came up and running! Good luck with your project, and welcome to the forum.