/uBot_firmware

The firmware of the μBot, the educational floor robot. (A MicroPython port to ESP8266 with additional modules.)

Primary LanguagePythonMIT LicenseMIT

μBot firmware

The firmware of the μBot, the educational floor robot.
(A MicroPython port to ESP8266 with additional modules.)

Design decisions

  • Multifunctionality over processing speed
    • Multiple interfaces
      • Physical buttons: standalone device
      • Web "server" with AP: easy and versatile
      • REST API: for the more advanced controlling
    • Detailed settings:
      • Highly customisable (even the beeps)
      • Dedicated module for convenience
      • Persistent storing
      • Factory reset
  • Fail-safe exception handling
    • Intensive exception catching
    • Scalable logger with fallback mechanism
  • Modularity
    • Are wireless connections unnecessary? Turn it off.
    • What about motors? ... Buzzer?
    • Turtle programming interface?
    • ...
    • Do you need UART and I2C? OK, use it.

Setup

Well, this is exactly the same as you flash MicroPython to your ESP8266 with the help of this [detailed guide: Getting started with MicroPython on the ESP8266][setup]. This firmware is a MicroPython port, so nothing new.

The only difference this line you execute after erasing the flash:
esptool.py --port /dev/ttyUSB0 --baud 460800 write_flash --flash_size=detect 0 uBot_firmware_0.1.x.bin
(Where x is the current patch version number.) You find this binary file in [sandbox][sandbox].

But please note: This is a halfly documented, often error-prone (or buggy) pre-release for testing.
However, if you are brave enough, come on. ;-)

Acknowledgements

I would like to thank Damien P. George, Paul Sokolovsky and all their contributors for MicroPython, Geoff Lee for the micropython-smbus and Jack Whittaker for the lsm303-python.