In recent days, I wrote about low cost MCU boards such as the $2 BluePill, and the One Dollar Board project, but several people commented that while the board themselves are very cheap, it might still be a problem in some developing countries, where access to computers cannot be taken for granted. So person suggested that such initiative would work better in some countries if programming was possible via a smartphone instead. Is that true?
According to a 2014/2015 study by Pew Research Center, there is some truth to it, but it varies greatly between countries. For example, 55% of Brazilian adults own a computer at home, while only 24% own a smartphone, but in Kenya only 8% own a computer at home, while 15% own a smartphone. Some devices in the “cellphones but not smartphones” might be feature phones with WiFi and a web browser.
Anyway ideally a low cost board should support both computer and smartphones or cellphone with a web browser. 陳亮 has provided instructions to program ESP8266 WiFi boards with Lua using the web browser of his smartphone, for people who may want to program on the go, but this may also be useful for educators in developing countries.
Some of the steps (installing firmware) require a computer, but this could be either done at the factory or using a single computer in the classroom, with Lua programming done on the students smartphones. A summary of the steps can be found below:
- Build and download NodeMCU firmware with your required modules @ http://nodemcu-build.com/
- Flash NodeMCU firmware using a computer via a USB to TTL board
- Download the web server code based on Marcos Kirsch’s nodemcu-httpserver with Lua editor on Github.
- Configure the firmware with serial port and WiFi details
- Run NodeMCU uploader to load nodemcu-httpserver to the board
- Connect the board acting as an access point, and type the board’s IP in a web browser to start coding on your smartphone or other device with a web browser.
This solution would also work in locales where electricity is unreliable, as ESP8266 could run on batteries, and the phone already has its own.