It is a result of a successful KickStarter campaign by Thomas Lee of “Funnyvale”, a group of San Jose area area hackers and makers from California. Curiously, when I received my WiThumb and saw the sender’s address, I realized I used to live nearby back in -95/-96, when I was a young trainee with NCD (Network Computing Devices) of Mountain View. A small world.
But let’s get back to the device – it uses a ESP8266 chip that enjoys huge popularity among Python IoT developers, after Damien George’s successful project to bring MicroPython to it. MicroPython is used also in the OpenMV Python-programmable machine vision camera, another favourite device of mine.
When I saw that ESP8266 was used in WiThumb, I asked Thomas whether MicroPython was or would be supported. Apparently other people asked too, and he was able to make it work, using an unofficial MicroPython build for the ESP8266 by Stefan Wendler.
The instructions on flashing the WiThumb with MicroPython firmware and connecting to it were for Windows, however. While I have a Windows VM on my laptop, I wanted to try & see if I could make things work on OSX as well. It was a surprisingly smooth experience. Here’s how:
- Figure out what’s the device file, after plugging in the WiThumb. There are other ways, but I like doing things in Python so I created a small withumb Python package that uses PySerial to help identify the WiThumb easily. For example my WiThumb appeared as
- Install esptool, the official Python package to work with the ESP8266, and erase the flash:
esptool.py --port /dev/tty.SLAB_USBtoUART erase_flash
- Download the unofficial micropython nightly (see link earlier) and flash the WiThumb with it:
esptool.py --port /dev/tty.SLAB_USBtoUART --baud 460800 write_flash --flash_size=8m 0 mp-esp8266-firmware-latest.bin
- Remove and plug in the WiThumb
- Connect to it using the
screencommand at 115200 baud speed
screen /dev/tty.SLAB_USBtoUART 115200
- Have fun with MicroPython on the WiThumb!