TinyCircuits Forum

TinyCircuits Products => TinyDuino Processors & TinyShields => Topic started by: tom on November 18, 2018, 08:15:43 PM

Title: WiFi TinyShield, ATWINC1500-MR210B, Firmware Updater
Post by: tom on November 18, 2018, 08:15:43 PM

I am trying Tinyduino + WiFi TinyShield, ATWINC1500-MR210B + WiFi101 ver 0.15.2 with Mac OS X.
When I run CheckWifi101FirmwareVersion, I got this output.

WiFi101 firmware check.

WiFi101 shield: DETECTED
Firmware version installed: 19.4.4
Latest firmware version available : 19.5.4

Check result: NOT PASSED
 - The firmware version on the shield do not match the
   version required by the library, you may experience
   issues or failures.

As instructed, I added this;
Code: [Select]
WiFi.setPins(8, 2, A3, -1);

Then, I tried FirmwareUpdater. I didn't see any output from the serial port. And then, I closed the serial monitor, and opened WiFi101 Firmware Updater.

I selected /dev/cu.usbserial-DM01MY0V which is the one I am using for the software downloading, and clicked 'Test connection' button, but I got Connection error. dialog with "Programmer not responding".

I am not sure if I need to add WiFi.setPins and where to add, but I tried both, with and without WiFi.setPins right after the Serial.begin.

I have an issue for HTTP communication. After rebooting, the first access and the second access work, but the third access don't work for my server. It works for www.arduino.cc, so there may be another issue, but I am wondering if updating the firmware solves this issue.

Hope someone can have the answer.
Title: Re: WiFi TinyShield, ATWINC1500-MR210B, Firmware Updater
Post by: Ben Rose on November 20, 2018, 02:56:25 PM
Hi Tom,

We're hearing about some issues with the firmware updater on TinyDuino. This is due to the 115200 baud rate chosen for the IDE tool. This rate is fairly inaccurate on 8MHz Arduino boards, and will often work for sending text(ASCII characters) but can result in errors when sending lots of binary data. I was able to modify the firmware updater tool and change the baud to 250000 which does not have the large error rate. You can add this version by creating a ‘tools’ folder inside your Arduino sketch folder(similar to the ‘libraries’ folder) and unzipping this file inside it:
Then, in the ‘FirmwareUpdater.ino’ example, replace:
Under ‘Tools’ in the IDE, you should see two different ‘WiFi101 Firmware Updater’ tools, the new one should be the second one, and you should be able to get a positive result when testing the connection. Let me know what you see.

Hopefully the update fixes your other problem- there are some bugfixes that could be relevant.

Title: Re: WiFi TinyShield, ATWINC1500-MR210B, Firmware Updater
Post by: tom on November 20, 2018, 03:34:21 PM
Hi Ben,

This worked perfectly. I could update the firmware to the latest version. Further more, the issue for HTTP communication is also solved!! I am really happy to see my Tinyduino is communicating with my server well. Thank you for your help!

Best regards,
Title: Re: WiFi TinyShield, ATWINC1500-MR210B, Firmware Updater
Post by: Ben Rose on November 28, 2018, 11:05:07 AM
Glad to hear it fixes the HTTP issue as well! We are now updating the firmware here as part of the test procedure.
Title: Re: WiFi TinyShield, ATWINC1500-MR210B, Firmware Updater
Post by: sobedrinker42 on January 03, 2019, 11:10:29 PM

Thank you for this post, but i'm still running into some issues.  I just recently purchased the TinyZero and WiFi Tinyshield.  After completed the steps that you wrote out here (setting baud to 250000 and setPins), I get to the point where my test connection says "The Programmer is working!" 

When I attempt to update the firmware (WINC-1501  Model B 19.5.4), I get an stack trace error that says "Error while erasing flash memory."  i'm just wondering if i'm missing anything and if you could shed some light onto some other troubleshooting ideas.

Code: [Select]
java.lang.Exception: Error while erasing flash memory.
at cc.arduino.plugins.wifi101.flashers.java.FlasherSerialClient.eraseFlash(FlasherSerialClient.java:139)
at cc.arduino.plugins.wifi101.flashers.java.JavaFlasher.updateFirmware(JavaFlasher.java:79)
at cc.arduino.plugins.wifi101.UpdaterImpl$3.run(UpdaterImpl.java:138)

Thank you,