MicroPython - the Linux of IoT

What’s Micropython?

MicroPython is a lean and fast implementation of the Python 3 programming language that is optimised to run on a microcontroller. MicroPython was successfully funded via a Kickstarter campaign and the software is now available to the public under the MIT open source license.

MicroPython has advantages over traditional programming software such as C/C++ because it is essentially a live development environment and your write and debug code much faster…in fact 5-10 times faster than C++.

It ensures that the memory size/microcontroller performance is optimised and fit for purpose for the application it serves. Many sensor reading and reporting applications do not require a PC based processor as this would make the total application over priced and under-efficient.

As a programming language it is expressive and versatile and allows the developer or enterprise engineering teams to choose components that are optimised both in terms of price and performance.

Micropython is environmentally friendly. Yes, that right and here’s why: when a device boots up using MicroPython it does not consume memory and thus doesn’t incur current drain. If you want to see how energy efficient WiPy is compared to Arduino or Raspberry Pi have a look here:

PowerConsumptionWiPyvsOther Platforms

 

Did You Know?

By January 2016 the BBC will ship 1 million Micro: Bit MicroPython enabled boards to all British 11-year olds. Read more here (link to official BBC Article)

All Pycom products will be powered by MicroPython, thus allowing development cycles to be accelerated by a factor of 5-10. It is critical for enterprises to be able to reduce their development cycles to sub 12 months in order to continue benefiting from technology advancements. 2 -year development cycles can easily mean the product functionality is obsolete before it has hit the shelves. Python as a language (and hence MicroPython) is better suited for IoT than any other high-level scripting languages incl. Javascript, Lua and Ruby. MicroPython has the following benefits:

 

  • Robustness
  • Excellent exception handling
  • Very strict with type coercion (Javascript is terrible in this respect)
  • Good separation between int and float types (unlike Javascript and Lua)
  • Native bitwise operations for operations on 1’s and 0’s (unlike Lua)