We’ve got our blink on… Python style!
If you haven’t had a chance to check out the specs on Maple Native:
- 72MHz
- 1MB external SRAM
- DACs
- I2Cs
- SPIs
- UARTs
- ADCs
- FSMC
To summarize, its got some junk in the trunk.
Last week we had a meeting to figure out a good way to demonstrate why EVERYBODY will not be able to live without it, and AJ chimes in with: “Has anybody played around with PyMite?”
PYTHON!… on a microcontroller! That you can interact with! At runtime! Tooo good to be true.
Took me a week of randomly banging on a keyboard but yesterday we typed blinky into interactive pymite (IPM) and… let’s just say I’m giddy.
Anyway, we think it might be ready for some users to play around with. It’s still rough around the edges, but if you’ve got a Maple Native or a Maple RET6 Edition and want to partake in some luscious Python goodness, then grab the latest release from our projects repo on GitHub (sorry, but this little slice of heaven is currently only usable from the command line toolchain):
$ git clone git://github.com/leaflabs/projects.git
Then follow the hastily written up instructions on the wiki.
Dave


on September 23, 2011 at 3:41 pm
Permalink
One thing that would convince at least a small subset of people that the Maple Native is a must-have would be to wrap I2S support into the library. The Native is the only development solution (board, IDE, etc) that I know of that gives access to all the pins needed for I2S. My experience trying to get I2S “from the ground up” with other ARM cortex dev boards has been a nightmare at best, so if you guys had I2S support out-of-the-box I’d sign on for sure.
on September 23, 2011 at 3:49 pm
Permalink
There is a working bit-banged i2s for Maple (and arduino for that matter) over at openmusiclabs.com , check it out! Also, I agree on the I2S for Native, with any luck there will be an audioshield for native that uses it.
on September 26, 2011 at 10:16 am
Permalink
I would buy a Maple in a heartbeat if Python was was fully supported by Leaf Labs!
on September 26, 2011 at 6:32 pm
Permalink
I am probably overlooking it, but is there a schematic for the “Native”?
– Russ herrold
on October 3, 2011 at 11:46 am
Permalink
Yup! See this section in the board hardware documentation for the details:
http://leaflabs.com/docs/hardware/maple-native-beta.html#hardware-design-files
on September 26, 2011 at 7:37 pm
Permalink
Thanks for mentioning p14p and PyMite. If anyone needs a hand with p14p, I answer nearly every question posted to our maillist. Find a link to it at pythononachip.org
on October 3, 2011 at 11:48 am
Permalink
Thanks a lot! We’ll definitely be taking you up on that.
on September 26, 2011 at 7:38 pm
Permalink
This is a very funny.
I have been looking at using P14p (Python-on-a-chip) for a long time (maybe before I got a Maple, last year) because there is an STM32F port.
I was persuaded a week ago to attend the PYCON UK conference (happened at the weekend), where a guy offered to help. So I have been asking questions of the P14p community.
Today, I discover you’ve been on the same path :-)
What am I thinking of now? Have you done it yet :-)
on October 3, 2011 at 6:03 am
Permalink
Hi, nice work.
But it would be really nice to make a script than send it to the module and run it.
The module Telit gm-862 as a inside python script interpreter, all u have to do is write the script, compile than upload to the module. It can do lots of functions including IO’s control, serial, i2s, can control inside gsm and gps Module RAM is 1,9Mb and 1,2Mb for python usage.
An ideia like that in this STM32 would be a really nice inovation.
Python is high level and realy easy, so the ideia of running it on a microcontroller is great.
Regards
on October 3, 2011 at 11:49 am
Permalink
We agree with you ;)
on October 5, 2011 at 1:19 pm
Permalink
So can this be ported to more meager development boards, or does it require plenty of code space and ram?
Also I’m assuming a python script will come in thru the uart to the micro, but are there extensions to the python language that allows it to control the micro’s built-in peripherals and i/os?
on October 17, 2011 at 7:38 pm
Permalink
The requirements are pretty stiff. It won’t fit on Maple, for example.
And yup, you can control the peripherals from Python — check out the screenshot in the post; that’s code to periodically blink the LED from the interactive interpreter.