Background

The wifi cicada is a wifi module replacing the 2G cicada module on the Edamame pod.

The initial testing equipment required manual plug and play of a TTL/USB serial communicator with manual activation of a rocker switch to toggle between programming mode and operation mode.

Since 500 cicada’s were to be made it was decided that a BON was needed.

Around 5-6 weeks were spent trying to increase the effectiveness of the tests on the BON.

Hardware

The BON clamps on 16 1.3mm test pins + 1 antenna test pin onto the Cicada while upside down. A script will automatically attempt to flash the board with a firmware. However if flashing is unsuccessful, a relay will trigger a hard reset between the USB/TTL communicator in an attempt to reestablish a connection for a successful flash. The wifi_eol script is also able to detect a change in serial ports in the event that the ports are changed during a reset.

Once the Cicada has been flashed. It will attempt to connect to a given wifi network in an attempt to get the NTP time. If and only if the cicada is able to flash and get the NTP time is it considered a pass which can be mounted in an Edamame.

Challenges

  1. Initially it was unknown why the board could not be flashed. But further investigation revealed that firmware is only capable of flashing on TTL1, while a hard reset was often needed which would occasionally switch the TTL interface.

It was solved by using a serial relay to trigger a hard reset then having the firmware adapt to the selected TTL interface.

  1. It was difficult determining the effectiveness of the cicada since it would not connect to NTP servers. It was often assumed that the antenna or positioning of the cicada with regards to the router was causing the most significant problem.

This was solved by first using a soldered connection instead of plugging jumper cables. After discussing with firmware team, it was also revealed that they were using pool.ntp.org as the NTP server which could have caused significant lag as we were in china. Eventually the firmware was upgraded to be able to select servers with pool.ntp.org being the default.

  1. Moreover it was discovered that NTP time uses UDP protocol which some networks actively block. The team initially wanted to host their own

The antenna pin revealed to be a hinderance to the tests since the antenna pin was only 2mm in diameter and the test pin would often short the antenna to ground. Even without the antenna test pin and open connector would act as a good enough antenna. 3. 2023 - July: After trying to setup EOL again, there was an issue with DNS. Therefore led me to realise that Firewall was blocking connection again, required HK simcard to bypass firewall

Future Improvements:

  1. Instead of using 0.cn.pool.ntp.org as the NTP server. The Linux computer can be set as a hotspot with hostapd - the onboard wifi module may or may not support AP mode.

HostAPD allows a USB wifi stick to be set to AP mode and connect with the cicada