Showing posts with label BBC. Show all posts
Showing posts with label BBC. Show all posts

Friday, October 21, 2016

Opening the BBC micro:bit

As many of you will know, the PSF has been a partner in the British Broadcasting Corporation's (BBC) micro:bit project. A million devices capable of running MicroPython have been distributed to every 11 and 12 year old in the UK. Those of you lucky enough to attend EuroPython and PyCon UK will have also been given a device to take home.

The PSF wouldn't be involved if the project were not open source, and it has always been the intention that all the software and hardware designs should be released under open licenses so that anyone can recreate the project themselves.

We're very pleased to continue our association with the project as a partner with the new MicroBit Foundation ~ a charity tasked to promote and develop the project now that the BBC is stepping away. (It was always the intention of the BBC to step back once the UK "drop" of devices was complete.)

A few days ago they revealed their website and the final piece of the jigsaw was revealed: the hardware schematics.

If you're interested in learning more, check out the hardware page, learn about MicroPython on the micro:bit, join the Slack channel and take a look around the wider project.

It's a very cool device and puts Python firmly in the world of embedded hardware and Internet of Things. It's also a great complementary device to the Raspberry Pi: the skills children learn on the micro:bit transfer to the Raspberry Pi and vice versa. That there is progression from complete beginner to professional software developer is one of Python's great strengths.

Python is for everyone, no matter their age or ability. Having open embedded hardware that runs MicroPython makes Python all the more available to enterprising people all over the world.

Have fun!

Monday, March 28, 2016

"A Genuinely Nice Chap": Community Service Award Recipient Damien George

"We wouldn't have Python on the micro:bit if he hadn't made it work, to put it simply," Nicholas Tollervey says. He's talking about Damien George, the physicist and engineer behind MicroPython, the Python interpreter for microcontrollers.

George began his project to build a Python interpreter for microcontrollers in 2013. "I started writing MicroPython to see if it's possible," he says. "Could I shrink Python down small enough to run on these tiny chips?" From scratch, he made a Python compiler so skinny it could squeeze into 128 kilobytes of RAM, and then wrote the runtime and built-in functions. "After about 6 months I realized it was possible, and I had a proof of concept."

Damien George, PSF Community Service Award recipient
Surprisingly, MicroPython is based not on the CPython code, but on the documentation. "I tried to look as little as possible at CPython's implementation," he says. "I'd say 95% of the Python language is specified in the docs, maybe even more."

George launched the MicroPython campaign on Kickstarter at the end of 2013, and raised nearly £100,000. With the support of donors and the efforts of volunteers, he released MicroPython along with a small computer, the PyBoard, which packs a processor, RAM, LEDs, and an accelerometer into a package less than two inches square.

The MicroPython PyBoard
The BBC, meanwhile, wanted to port Python to its own little computer, the micro:bit. They partnered with the Python Software Foundation and worked with Tollervey, a PSF fellow, to obtain a Python interpreter for their secret project. That effort fell through in April 2015, leaving Tollervey anxious that Python would be left out of the micro:bit launch. Young coders can program the micro:bit with another tool, Microsoft's TouchDevelop, but Tollervey says that Python on the micro:bit provides a special opportunity: "The important thing about Python is continuity. Kids can pick up Python because it's easy to learn, and it's also the same language you use at the workplace. These are skills they can use in the future."

By chance, in a discussion over tea with an engineer from ARM, Tollervey realized MicroPython might work on the micro:bit. He sent a prototype of the board to George with a note stuck to it: "I want this back, Damien," and a smiley face. Within a week of getting the prototype, George had MicroPython running on it. Tollervey says, "When we had that I knew we were on to a goer." He did eventually get his board back.

The Python Software Foundation awarded Damien George a Community Service Award in 2016. In addition to his extensive volunteer work on the BBC micro:bit and MicroPython, George spent time answering questions, helping users, and reviewing code from the wider MicroPython and micro:bit communities. Tollervey adds, "He's a very good mentor, and just a genuinely nice chap."

Now that the micro:bit is launched, MicroPython is gaining a far wider audience. Last Tuesday the BBC began delivering micro:bits to a million school children. George says, "It's a relief that it's finally out there, and very exciting to see this new era of kids using Python on these little devices."

The BBC micro:bit

Tuesday, March 22, 2016

A Million Children

Today, March 22nd, the British Broadcasting Corporation (BBC) begin to deliver 1 million small programmable devices to the UK's 11 and 12 year old children. The aim is to inspire a new generation of digital creators. The device is called a BBC micro:bit and, among other things, it runs MicroPython.




The device is about the size of a credit card, comes in different colours and consists of a couple of buttons, a 5x5 LED matrix, I/O pins, an accelerometer, compass, ARM processor, micro-USB port, battery connector and BLE. Over the coming weeks all the software and hardware plans needed to recreate the project will be released under an open license. If you have the time and money, you could fork this work and make your own.


Since the project's inception, the Python Software Foundation has been a member of the partnership tasked to deliver this "moonshot". The partnership consists of almost 30 organisations including big multi-nationals such as ARM, Microsoft and Samsung, academic institutions like Lancaster University and volunteer and community based organisations such as the PSF and CodeClub.


Originally, the PSF agreed to provide Pythonic educational resources and expertise. The BBC told us they already had a Python solution in the pipeline. However, at the beginning of May the partner who was to deliver this solution dropped out and we were asked to provide an alternative.


Thanks to Damien George's amazing MicroPython project and his collaboration with an international community of Pythonistas the device runs a full re-implementation of Python 3. The version of MicroPython on the micro:bit doesn't include the standard library. However, it contains several easy to use modules for interacting with the device's hardware, making music, digital art and connecting stuff to the device via its I/O pins. All the standard language features are supported including data types, OOP, data structures, exceptions, generators and builtins. All this on a device with 256k of flash memory and 16k of RAM.


Special mention should be made of Mark Shannon who did amazing work on the display related capabilities of MicroPython on the BBC micro:bit. Mark also has interesting work-in-progress on improved audio capabilities.



Members of the community have been busy generating more than just code. Between them they have created:





We're incredibly proud that all the Python related work was created by volunteers in their spare time: community minded Pythonistas with a passion for education who want to inspire digital creativity in young people. It's yet more evidence that Python has the world's greatest programming community. A big "thank you" to everyone who contributed.


Why is this so important?


Asking what sort of education and learning our community supports is how we decide what sort of community we become. For it is through education and learning that we engage with our future colleagues, friends and supporters. Put simply, we're investing time and effort in the future of a diverse Python community.


You're probably wondering what you can do with the device. A quick look around the world-tour website will show you how MicroPython on the micro:bit can be adapted to a huge number of educational (and not so educational) uses. Two of our favourites are described below:


Radomir Dopieralski only had his device a few days before he'd managed to fry it while connecting it to a robot. Failure is an essential aspect of education - it's how we learn to adjust and improve our behaviour while exploring the world around us. Happily, Radomir learned from his mistake and went on to build several different robots including our favourite called "Bob" (which is wobbly-cute in a menacing "all humans must die" sort of a way):




Martin O'Hanlon is a regular contributor to the education track at PyCon UK. His lessons in programming Minecraft with Python are genius-level performances that end with a hundred kids and their parents furiously hacking Python so Minecraft does crazy things. It's inspiring to see such a thing unfold. As a result, we were especially looking forward to his contribution (and he didn't disappoint).


Mart has managed to tick pretty much all the boxes for many 11 year olds with his X-Wing flying in Minecraft running on a Raspberry Pi controlled via MicroPython running on a BBC micro:bit. Perhaps the only thing missing is that it doesn't come with a side of pizza and fries:




Finally, if you're wondering what it feels like to program such a device... the following reaction is typical:




You'll soon be able to get your own via mail-order when they're released to the general public over the summer.


If you're interested in contributing (there is so much yet to be done) then join our mailing list or check out our source code. We accept contributions, without prejudice, from anyone. If you're thinking, "but not me", then we especially mean you. Good quality content and engagement with respect, humour and intelligence wins every time.


Our children's latent talent, joie de vivre and receptiveness to programming in Python is something unambiguously good for us to support, cherish and foster. MicroPython on the BBC micro:bit is one way to do this.


Come join in the fun!

Tuesday, October 20, 2015

BBC’s micro:bit project open-sourced today!

As you may recall, there have been a couple of previous posts to this blog about the BBC’s micro:bit project  (also see PSF newsblog).
The micro:bit is a small, stripped-down, wearable computer (similar to a Raspberry Pi) and based on an nRF51 chip. The educational project, part of a larger UK program called Make it Digital, is designed to inspire children to become digital creators by giving away 1 million micro:bits to all 11 year-old UK schoolchildren this spring.

Today I heard some exciting news about the project from our good friend, Nicholas Tollervey, which I’m happy to pass along here. 
According to Nicholas: 
From the beginning the BBC have said that Python would be one of the possible languages that the device can be programmed in. The PSF is one of around twenty organisations in the project partnership. Since it’s a microcontroller, and the aim is to run Python… well, there’s a pretty obvious answer when trying to combine those two things. 
We’re incredibly pleased to announce that MicroPython runs on the BBC’s micro:bit. Furthermore, all the work done so far is being open-sourced today and the repository can be found here: https://github.com/bbcmicrobit/micropython
Right now only the code related to the MicroPython port is released. When the device is delivered, all the resources needed to recreate the entire project are to be released under an open license. The laudable intention is to provide an unencumbered legacy so others can build upon and adapt the work of the partnership that has created this device. 
To read more details and learn the story of how MicroPython came to be on the micro:bit, check out Nicholas Tollervey’s blog post found here: http://ntoll.org/article/story-micropython-on-microbit
Finally, there is much to be done. The project needs help from people with skill and experience developing for such devices. Could you contribute something to a project that will touch the lives of 1 million children and leave an open legacy that anyone could re-use? If so then please read the above-linked post and head on over to the code repository.
I hope that many of you will take Nicholas up on his request to contribute to this worthwhile project.
I would love to hear from readers. Please send feedback, comments, or blog ideas to me at msushi@gnosis.cx.

Tuesday, July 07, 2015

BBC Micro:bit successfully launched!

July 7, 2015 BBC Microbit 
Last March, I wrote about a terrific educational project taking place in the UK, with which the PSF is proud to be involved (see PSF Blogpost). I am very happy to report today that the BBC micro:bit project has successfully launched!
The BBC micro:bit release is part of the BBC’s Make it Digital initiative, whose purpose is to prepare a generation for the challenges of a tech-driven world. The project is a collaboration of 29 partners from industry, education, and government. 
Key partners include ARM, Microsoft, Samsung, Barclays, Freescale, Element14, Lancaster University, Nordic Semiconductor, Technology Will Save Us, ScienceScope and the Wellcome Trust.
At the beginning of the school term this September, every year-7 UK student (11-12 years old) will be given a BBC micro:bit computer. Designed to inspire creativity, the BBC micro:bit is pocket-sized, versatile, and, most importantly, easy to use:
Something simple can be coded in seconds – like lighting up its LEDs or displaying a pattern – with no prior knowledge of computing. All that’s needed is imagination and creativity.
The idea, according to Sinead Rocks, head of BBC Learning, is to make using computers creatively as natural to children as using crayons to experiment with coloring. 
The micro:bit can be programmed via web-based editors capable of using several programming languages, including Python, Javascript, C++, Microsoft Touch Develop, and Blocks (a visual language). The user can then save her program, run it in a simulator, and retrieve it any time to load it onto the BBC micro:bit. 
In addition to internet connectivity, the device can also connect, via five I/O rings as well as Bluetooth, to other computers and devices, including Raspberry Pis, Arduinos, Kanos, robots, and motors. When connected, it can be powered off another device, or it can run on its own battery. The micro:bit also features a compass and an accelerometer.
BBC Learning, along with the project’s partners, are providing educational resources and tutorials aligned with school curriculum, in an effort to ensure that teachers are ready when the micro:bits are distributed to students. With open-sourced specs and plans for a non-profit to oversee further educational use of the device, the micro:bit’s initial reach is sure to grow. Commercial development of the device is anticipated by the end of 2015.
The PSF is eager to seize this opportunity to further the use of Python and to increase programming literacy. According to the BBC, 
The Python Software Foundation will be working with the BBC micro:bit to provide a code editor that will help to teach children the Python programming language. They will be working with the Python development community to produce resources and activities that children can build using Python. 
I urge Python developers to volunteer for this effort and to get involved in this wonderful educational initiative. You can read more about this project at: BBC micro:bit and BBC Learning.
I would love to hear from readers. Please send feedback, comments, or blog ideas to me at msushi@gnosis.cx.