Posted by
Craige McWhirter on
Last edited
Damien George.
Motivations for MicroPython:
- To provide a high level language to control sophisticated micro-controllers.
- Approached it as an intellectually stimulating research problem.
- Wasn't even sure it was possible.
- Chose Python because:
- It was a high level language with powerful features.
- Large existing community.
- Naively thought it would be easy.
- Found Python easy to learn.
- Shallow but long learning curve of python makes it good for beginners and
advanced programmers.
- Bitwise operaitons make it usefult for micro-controllers.
Why Not Use CPython?
- CPython pre-allocates memory, resulting in inefficient memory usage which is
problematic for low RAM devices like micro controllers.
Usage:
- If you know Python, you know MicroPython - it's implemented the same
Kickstarter:
Damien covered his experiences with Kickstarter.
Internals of MicroPython:
- Damien covered the parser, lexer, compiler and runtime.
- Walked us through the workflows of the internals.
- Spoke about object represntation and the three machine word object forms:
- Integers.
- Strings.
- Objects.
- Covered the emitters:
- Bytecode.
- Native (machine code).
- Inline assembler.
Coding Style:
Coding was more based on a physicist trying to make things work, than a
computer engineer.
- There's a code dashboard
- Hosted on GitHub
- Noted that he could not have done this without the support of the community.
Hardware:
Listed some of the micro controller boards that it runs on ad larger computers
that currently run OpenWRT.
Spoke about the BBC micron:bit project. Demo'd speech synthesis and image
display running on it.
MicroPython in Space:
Spoke about the port to LEON / SPARC / RTEMS for the European Space agency for
satellite control, particularly the application layer.
Damien closed with an overview of current applications and ongoing software and
hardware development.
Links:
micropython.org
forum.micropython.org
github.com/micropython
