Brazil
Asked

Firmware Iotiny

My IoTiny has corrupted the Firmware and now it no longer works with just a blinking blue Led and does not recognize on the Wifi network. What can I do to recover the firmware?


Related Hardware EZ-B IoTiny

ARC Pro

Upgrade to ARC Pro

ARC Pro will give you immediate updates and new features needed to unleash your robot's potential!

PRO
Synthiam
#1  

How did you corrupt the firmware? Are you certain it's not damaged?

Please do no double post:) We can see your single post

Brazil
#2  

at the moment of the update of Firmware of my Io-Tiny lacked energy and my computer shut down in the middle of the update.

#3  

Hi,

I have the same issue: the firmware update failed in the middle of the process and now the blue led of the Io-Tiny blinks very fast... and that's all. So, if there is a way to solve that, I am really interested :-)

PRO
Canada
#4  

The only thing I can think of is pressing the reset button, and see what happens but if that doesn't work there's no easy way to recover from this situation.

You would have to directly reprogram the WiFi module firmware with an STLINK V2 programmer which is challenging as there isn't a programming header breakout. It would require soldering directly to the programming pins on the side of the WiFi module. I guess you could use some pogo pins to temporarily connect to the programming pins but it would be difficult to prevent them from shorting out on each other.

The connections you'd need to attach to the STLINK are:

Pin 25 SWD_SWCLK Pin 26 SWD_SWDIO 3.3V GND

User-inserted image

In summary, yes, it is possible to reprogram the IoTiny's firmware but it is a challenge. The time and effort will cost you more than the cost of a replacement IoTiny.

PRO
Synthiam
#5   — Edited

The way to recover the firmware is to first check if the device is indeed operating. It’s very very very difficult to corrupt the firmware - and has never been achieved by me. I’m guessing you accidentally damaged the iotiny and hoping the firmware fixes it - it won’t. The firmware upload process doesn’t actually write the firmware until the very last second. There’s a very small window to corrupt a firmware upload.

To check if the chip is operational, you will require a usb to uart adapter. Check the data sheet and connect the rx and tx of the usb to tx and rx of the camera port. And of course shared ground.

Then, hold the reset button down on the iotiny and apply power to the iotiny.

That will boot the iotiny into the boot loader console. Use a terminal program to view the boot loader console.  You can verify the firmware and upload new firmware using commands. There’s a help dialog to provide help

this same process works with the ezb v4.x/2

PRO
Canada
#6  

Whoops! It must must have been too early on a Monday morning because @DJ's solution completely slipped my mind.xD

#7  

Hi DJ, I assure you I didnt' try to fix the IoTiny with a firmware update. My IoTiny was just fine before the update.

I have one EZB v4 & two IoTiny and try to make a firmware update for all of them. It goes well for the EZB and the first IoTiny, but for the second one, the update stops at the middle of the process, with an error message. After that, the blinking led...

I think I have an usb to uart adapter somewhere, so I will test your solution as soon as I find it.

By the way, as I use the lattepanda as a computer, can I connect it directly to the tx and rx of the camera port, instead of using the usb adapter?

Thanks for the help.

#8  

OK, So I successfully boot the iotiny into the boot loader console and access it through a terminal.

User-inserted image

I entered the help and guessed that I have to use the FWUPDATE command, but i am stuck. I don't now how to send the firmware... I think it goes beyond my knowledge now, but I would be happy to learn.:)

PRO
Canada
#9  

I think we'll need DJ's help on this one.

I think putty should have a "Send File" ability somewhere. You should be able to grab the firmware file from the IoTiny Github page to send it to the IoTiny but I don't have a great idea on how to prep the file so that it's read properly. I tried doing this with Tera Term but ended up getting lots of "unknown command" errors.

User-inserted image

PRO
Synthiam
#10  

If the EZ-B or IoTiny is locking up during firmware update using the standard (and suggested method), it must not have adequate wifi connectivity or power. Disconnect devices connected to the units and upload again. If the device boots and connects to ARC or the firmware updater, the device is operational. If the firmware updater locks up during upload, I would also recommend checking your PC for a virus or some trojan or firewall utility that is disconnecting the network connectivity.

*WARNING: Do not use the firmware from the github to program using bootloader interface. The github firmware includes the bootloader and that won't work

  1. Select FMUPDATE

  2. Use YMODEM to transmit firmware file (Firmware IoTiny.zip or Firmware EZB v4.zip)

#11  

Thanks DJ, it worked ! I had to use ExtraPutty (because Putty cannot use YMODEM to send file) and everything went smoothly.

I have now a new, fresh, IoTiny. And because it was inside my Wall.E, he is now alive again:D

I have also learn a lot about firmware, terminals, protocols... it is what I like with this community !

And, by the way DJ, if you can take a look to the discussion on the lattepanda page (https://synthiam.com/GettingStarted/Build-Robots/LattePanda-18256), I have some question concerning the connection of the IoTiny directly to the lattepanda. It is why I came to try updating the IoTiny firmware in the first place...;)