FEZ Cerbuino Bee doesn't show up at FEZ Config

My FEZ Cerbuino Bee just arrived and I want to perform:

  1. Loader (TinyBooter) Update FEZ Cerberus (https://www.ghielectronics.com/docs/55/loader-tinybooter-update-fez-cerberus)
  2. Firmware (TinyCLR) Update (https://www.ghielectronics.com/docs/127/firmware-tinyclr-update)

At Loader/STEP 4 I cannot find the path
“C:\Program Files (x86)\GHI Electronics\GHI OSHW NETMF v4.2 SDK\FEZ Cerb Family\Firmware whereTinyBooter_4_2_x_x.dfu”
what I have tried:
“C:\Program Files (x86)\GHI Electronics\GHI NETMF v4.2 SDK\Firmwares\Cerb Family\Loader.dfu”
Is this right? ???

After starting FEZ Config.exe for 2./Firmware, I cannot see any USB device in the drop down. :frowning:
VS 2012 also don’t list it for deployment.
But inside the Windows Hardware list it’s listed as “FEZ Cerberus”.

I’m using Windows 8.1 Enterprise x64.

If any of you can help my, this will be great.

@ Larry87 -

Does “C:\Program Files (x86)\GHI Electronics\GHI NETMF v4.3 SDK” exist on your PC?

You mean “C:\Program Files (x86)\GHI Electronics\GHI NETMF v4.3 SDK\Firmwares\Cerb Family”?
Is FEZ Cerbuino Bee with NETMF v4.3 full compatible?

I was now able to update Loader and Firmware to 4.3 with a different PC. (Image: Version4.3.png)

The difference a saw was at the Windows Hardware list:

  • PC with trouble: “FEZ Cerberus” (Image: BadPC.JPG)
  • PC with no trouble: “Cerb-Family” (Image: GoodPC.png)

Both: Win 8.1, USB 2.0

Any ideas?

has one of these PCs had legacy/older SDKs installed on it before? Do they have a different history from a Windows perspective - for example was one a Win7 upgrade and one a fresh install ? Is there any USB2/USB3 port differences ?

No. No. No, both USB2

Since yesterday I don’t see any Hardware when I connect it per USB.
I was debugging with VS2012 and during this, the hardware (FEZ Cerbuino Bee) disconnected and since this situation it feels like the USB Connection totally fail.

When I connect it per USB, I can see the red LED, but Windows doesn’t recognize it. (I have tested two PC where it was running before)

Can the microcontroller be in an invalid state? (because the Debugging Interrupt)
How can I delete the deployed program?
How can I do a factory reset?

Thanks a lot,
Ricardo

I have to add:
I can see, that the deployed program is still running :wall:

OK, a deployed program that is still running when you can’t connect to the device is simply likely that you have it in a processor intensive loop and the debugging thread gets no time to respond to PC commands.

To get out of this, boot into the bootloader mode and reapply the firmware, which will clear your app out. Then update your app to do a thread.sleep(1) occasionally and you should be good.

Thanks for your response.

Here is the code from last deployment:

public class Program
    {
        public const Cpu.PWMChannel D9 = (Cpu.PWMChannel)12;
        public const Cpu.PWMChannel D10 = (Cpu.PWMChannel)13;
        public static readonly Cpu.Pin D5 = GHI.Pins.Generic.GetPin('A', 8); //GHI.Hardware.FEZCerb.Pin.PA8;
        public static readonly Cpu.Pin D6 = GHI.Pins.Generic.GetPin('A', 10); //GHI.Hardware.FEZCerb.Pin.PA10;
        public static readonly Cpu.Pin A0 = GHI.Pins.Generic.GetPin('B', 1); //GHI.Hardware.FEZCerb.Pin.PB1;
        public static readonly Cpu.Pin A1 = GHI.Pins.Generic.GetPin('A', 5); //GHI.Hardware.FEZCerb.Pin.PA5;
 
        private static readonly PWM Motor1SpeedPin = new PWM(D9, 490, 0.01, false);
        private static readonly PWM Motor2SpeedPin = new PWM(D10, 490, 0.01, false);
        private static readonly OutputPort Motor1PinA = new OutputPort(D5, false);
        private static readonly OutputPort Motor1PinB = new OutputPort(D6, false);
        private static readonly OutputPort Motor2PinA = new OutputPort(A0, false);
        private static readonly OutputPort Motor2PinB = new OutputPort(A1, false);
 
        /// <summary>
        /// the setup() method is executed only once
        /// </summary>
        static void Setup()
        {
            Thread.Sleep(5000);
        }
 
        static void Stop()
        {
            Motor1PinA.Write(false);
            Motor1PinB.Write(false);
 
            Motor2PinA.Write(false);
            Motor2PinB.Write(false);
        }
 
        static void Forward()
        {
            Motor1PinA.Write(true);
            Motor1PinB.Write(false);
 
            Motor2PinA.Write(true);
            Motor2PinB.Write(false);
        }
 
        static void Backward()
        {
            Motor1PinA.Write(false);
            Motor1PinB.Write(true);
 
            Motor2PinA.Write(false);
            Motor2PinB.Write(true);
        }
 
        /// <summary>
        /// the loop() method is repeated
        /// </summary>
        static void Loop()
        {
            const double max = 0.7; // max 6V of 9V
 
            Motor1SpeedPin.DutyCycle = max;
            Motor1SpeedPin.Start();
 
            Motor2SpeedPin.DutyCycle = max;
            Motor2SpeedPin.Start();
 
            Stop();
            Forward();
            Thread.Sleep(2000);
 
            Stop();
            Backward();
            Thread.Sleep(2000);
        }
 
        /// <summary>
        /// Main method, starting point
        /// </summary>
        public static void Main()
        {
            Setup();
 
            while (true)
            {
                Loop();
            }
        }
    }

What is very strange:
If I connect the device per USB (power it), it has right away power (HIGH, tested with LED) on pins D9 and D1.

I have already tried this (connecting LDR Pins) but it doesn’t show up in Windows > I’m unable to use the firmware tool.

If helpful I can collect and provide a USB ETW trace from Netmon.

Hi guys!!! Help me please. I just updated a Tiny bootloader on my Fez Cerbuino bee and it’s not shown in fez config after that… do you have any ideas?

I would start by the troubleshooting guide and by looking the device manager.

Welcome to the community

1 Like

Thank you Gus, i forgot about this question. I solved my problem. I should use download radiobutton instead erase one. After i switch the button into the right position and repeat the operation everything goes well know.