Page 1 of 1

MicroPython Newsletter Issue 8

Posted: Mon Apr 29, 2019 1:09 pm
by Damien
Dear community,

Today is MicroPython's Birthday! Six years ago on this date, the 29th of April, the initial goals and first line of code for what is now MicroPython were written.

Here is an excerpt from the initial notes. The title is "Python board" and the date is 29 April 2013:
Python board 29/4/2013

The smallest, cheapest python.

A piece of hardware that is small and cheap, runs python
scripts, and has good low-level access to hardware. If we
can do it with a single chip, that would keep it small and
cheap. Need then something with a large amount of flash and
a decent amount of RAM, that also is cheap enough. Atmel
SAM's have order 1MiB flash and 128KiB SRAM, for around $10
one-off.

Main features:
--> Implements Python 3 core language.
--> Flash presents as a flash drive with vfat filesystem.
--> Put python scripts on flash and it runs them (maybe have
a (multicolour?) led that flashes on error and writes a
"core" dump to the flash). This led can also double as a
user output led.
--> Can run multiple scripts on once.

Our strength would be small, cheap, simple, easy to replicate.

Can have a range of boards with different features. But all
must be basically compatible and capable of running the same
scripts.
The idea was to get Python 3 running on the simplest hardware possible, so that it was easy for anyone to make their own board to run the software. This meant it should run on a single chip (including filesystem) that can be easily soldered by hand. I was almost going to pick an Atmel SAM4S for the original pyboard but in the end went with the STM32F405 due to it's large RAM and 5V tolerant I/O pins.

In the beginning it was not intended to have bytecode or a virtual machine, but rather use the underlying CPU to execute natively compiled Python code directly. The reasoning was that native code would be faster than bytecode, and native code didn't need a separate virtual machine taking up precious room in the microcontroller. Eventually a virtual machine was added and by 20th September 2013 a very early version of the pyboard could run a script to flash an LED and respond to a button press, in both bytecode and native machine code form.

If you would like to hear more about The Early Days of MicroPython, see this video: https://www.youtube.com/watch?v=NBAqOYYW6vM

As for the new pyboard D-series: there was a great response to this and our initial stock sold out very quickly. We immediately set into production the next set of manufacturing runs and the pyboards and their accessories should be available in the store again next week. A separate newsletter will be sent out when they become available.

From Damien and the MicroPython team.

(If you're not already subscribed, you can receive this newsletter via email by signing up at: https://micropython.org/newsletter/)

Re: MicroPython Newsletter Issue 8

Posted: Mon Apr 29, 2019 3:18 pm
by ckuehnel
Damien wrote:
Mon Apr 29, 2019 1:09 pm
Dear community,

Today is MicroPython's Birthday! Six years ago on this date, the 29th of April, the initial goals and first line of code for what is now MicroPython were written.

Here is an excerpt from the initial notes. The title is "Python board" and the date is 29 April 2013:
Python board 29/4/2013

The smallest, cheapest python.

A piece of hardware that is small and cheap, runs python
scripts, and has good low-level access to hardware. If we
can do it with a single chip, that would keep it small and
cheap. Need then something with a large amount of flash and
a decent amount of RAM, that also is cheap enough. Atmel
SAM's have order 1MiB flash and 128KiB SRAM, for around $10
one-off.

Main features:
--> Implements Python 3 core language.
--> Flash presents as a flash drive with vfat filesystem.
--> Put python scripts on flash and it runs them (maybe have
a (multicolour?) led that flashes on error and writes a
"core" dump to the flash). This led can also double as a
user output led.
--> Can run multiple scripts on once.

Our strength would be small, cheap, simple, easy to replicate.

Can have a range of boards with different features. But all
must be basically compatible and capable of running the same
scripts.
The idea was to get Python 3 running on the simplest hardware possible, so that it was easy for anyone to make their own board to run the software. This meant it should run on a single chip (including filesystem) that can be easily soldered by hand. I was almost going to pick an Atmel SAM4S for the original pyboard but in the end went with the STM32F405 due to it's large RAM and 5V tolerant I/O pins.

In the beginning it was not intended to have bytecode or a virtual machine, but rather use the underlying CPU to execute natively compiled Python code directly. The reasoning was that native code would be faster than bytecode, and native code didn't need a separate virtual machine taking up precious room in the microcontroller. Eventually a virtual machine was added and by 20th September 2013 a very early version of the pyboard could run a script to flash an LED and respond to a button press, in both bytecode and native machine code form.

If you would like to hear more about The Early Days of MicroPython, see this video: https://www.youtube.com/watch?v=NBAqOYYW6vM

As for the new pyboard D-series: there was a great response to this and our initial stock sold out very quickly. We immediately set into production the next set of manufacturing runs and the pyboards and their accessories should be available in the store again next week. A separate newsletter will be sent out when they become available.

From Damien and the MicroPython team.

(If you're not already subscribed, you can receive this newsletter via email by signing up at: https://micropython.org/newsletter/)
Great work.
Congratulation Damien & Team

Re: MicroPython Newsletter Issue 8

Posted: Mon Apr 29, 2019 4:09 pm
by Roberthh
Happy birthday, MicroPython. live long and prosper.

Re: MicroPython Newsletter Issue 8

Posted: Tue Apr 30, 2019 6:43 pm
by barbudor
Happy Birthday MicroPython
Congrats to all the team

Did you completely gave up the native code compiler ?

Re: MicroPython Newsletter Issue 8

Posted: Wed May 01, 2019 1:01 am
by jimmo
barbudor: The bytecode VM is in addition to the native code emitter, which works for x86/64, arm/thumb, and extensa (ESP).

Re: MicroPython Newsletter Issue 8

Posted: Wed May 01, 2019 3:38 pm
by marfis
Awesome work, thanks a lot to the upy team and all contributors!

And best wishes for the next 6 years.

Re: MicroPython Newsletter Issue 8

Posted: Tue Nov 05, 2019 9:06 am
by jasontallen
Damien wrote:
Mon Apr 29, 2019 1:09 pm

The idea was to get Python 3 running on the simplest hardware possible, so that it was easy for anyone to make their own board to run the software. This meant it should run on a single chip (including filesystem) that can be easily soldered by hand. I was almost going to pick an Atmel SAM4S for the original pyboard but in the end went with the STM32F405 due to it's large RAM and 5V tolerant I/O pins.
(If you're not already subscribed, you can receive this papers via email by signing up at: https://micropython.org/newsletter/)

Brilliant implementation is what turns this simple idea into a great project! Keep it up!

Re: MicroPython Newsletter Issue 8

Posted: Tue Nov 19, 2019 3:36 am
by SummerGift
Great work!!! It brings me a lots of fun.