Historically, microcontrollers’ limited computing power and storage space meant software had to be written in low-level languages out of necessity. In recent years small affordable chips grew powerful enough that they could theoretically run higher level languages, sparking numerous efforts to turn that theory into reality. MicroPython delivered on this promise in a big way when their Kickstarter-funded pyboard was delivered along with its open source software. Several years have since passed, and now it is time for an upgraded pyboard: the D-series.
We’ve talked with [Damien George] back when the original Kickstarter was still underway. Since the launch of pyboard and release of MicroPython source code, we’ve played with ports running on an ESP8266 and on a BBC micro:bit. The software ecosystem has continued to grow, most recently we looked at LittlevGL graphics library. But just because all the flashy action has been happening on the software side doesn’t mean the hardware side has been sitting stagnant.
Pyboard-D upgraded from original pyboard’s STM32F4 to more capable STM32F7 chips. Witnessing the popularity of MicroPython on networked darlings ESP8266 and ESP32, there will be a pyboard D variant with a Murata 1DX on board for WiFi and Bluetooth connectivity. The new pyboard will be extremely compact with limited edge connections so a fine-pitched connector is required to bring out all the pins. To bring the new pyboard back to its educational and tinkerer roots, a breakout board will take those pins and spread them out in a breadboard friendly form factor. These breakout boards can also host small (12 mm x 12 mm) “tiles” to add individual features.
The wireless pyboard D will obviously invite comparison tests with an ESP32 running MicroPython, and its hardware expansion tiles invites comparison with Adafruit’s Wings. It’ll be interesting to see how they fare once widely available and we can get our hands on them. If you’ve picked up an earlier release at FOSDEM 2019, we invite you to share your experience in comments.
[via Adafruit blog]
16 thoughts on “New Part Day: Pyboard D Is Smaller, Wireless, And Has Expansion Modules”
Seen these at FOSDEM, haven’t tried them yet… I use MicroPython a lot, and I’m just not feeling this, for whatever reason. Maybe it’s the fact it’s so similar to Gumstix offerings and that’s what ticks me off, I don’t know. Or maybe it’s these connectors, not easily repairable and probably limited to their store’s modules from the very beginning – not by “lack of openness” as usual (I’m sure they’re fine), but by the fact you probably can’t even solder these with hot air very well, so they’re, like, just there.
It’s likely going to work well for different educational settings, though, as much as the connectors’ mating cycles allow anyway ;-P I also appreciate the “plug&play” nature, I’m sure that the integration with MicroPython will be stellar.
I think that it’s the fact that this is obviously targeted at semi-professional and professional audience, to be used in industrial prototypes and the like. That’s a long-standing trend in MicroPython, and you really can’t blame anyone, since that’s where the money are.
The connector is my concern, too.
Development boards are announced daily, and when they come with the usual USB/HDMI/Ethernet connectors, and 100mil pin headers, I’m sure that they are interesting, but when something comes with those fine pitch connectors, I can be sure that it’s above my budget.
I’m relatively sure, that I can solder such connectors at home (I have a microscope and a hot air rework station), but most other Micropython users can’t.
Also, there aren’t any off-the-shelf prototype boards where you can solder them on.
So most people will have to live with the limited number of standard-pitch pins that the board offers, or wait until someone makes a bigger, and more breadboard/jumper wire friendly version.
The board brings out 16 GPIOs spaced at a 2.54mm pitch for breadboard interfacing. For the board’s size that’s pretty decent. You also get access to 32 GPIOs at a 1.27mm pitch. In addition you can get access to an additional 59 IOs through the fancy WBUS connector, which when attached to the DIP28/DIP68 expansion boards can bring out these GPIOs (or some of them) at a 2.54mm pitch.
I’m more worried about the price to be honest. It don’t expect it to be ESP32 cheap. But they should price under under $30 (at most) to make it somewhat competitive. Also I would’ve like to see them utilize a 400MHz STM32H7 rather than the 216MHz STM32F7. I’m sure that they’ll eventually upgrade to STM32H7 perhaps in a year or two.
I have a NUCLEO-H743ZI. Very good price for all the features.
I doubt that a Pyboard can beat that.
Is the NUCLEO-H743ZI’s onboard ethernet supported in Micropython? If so it is a great deal
Daughter boards, extension boards, shields, capes, and now tiles, we got you covered.
you forgot Hats, pHats, …
Has anyone else been keeping an eye on @boochow ‘s “bare metal” micropython port for the PiZero / PiZeroW? https://github.com/boochow/micropython-raspberrypi
The video sure looks impressive https://www.youtube.com/watch?v=aUXRWUTasrY — and so is the future possibility of running micropython right on the VC4 VPU (work in progress).
Another TODO on my list of things to play with…
Yes, I’m watching it, but the fact that neither the USB client, nor the WiFi driver works, and the project seems to be dormant, keeps me from trying it.
I need to check, was boochow’s micropython compiled using the circle libraries https://github.com/rsta2/circle or is there any chance of leveraging the work already done there?
Circle is a C++ bare metal programming environment for the Raspberry Pi. It should be usable on all existing models (tested on model A+, B, B+, on Raspberry Pi 2 and 3 and on Raspberry Pi Zero). It provides several ready-tested C++ classes which can be used to control different hardware features of the Raspberry Pi. Together with Circle there are delivered some samples which demonstrate the use of its classes. Circle can be used to create 32-bit or 64-bit bare metal applications.
Wow, that’s a really good idea. The Pi Zero is kind of in a weird spot in terms of CPU power, where it’s overkill in microcontroller projects, but underpowered for SBC projects. But, I think it’d be a really perfect sweet spot for a MicroPython bare metal system.
Benchmarks results copied from : https://forum.micropython.org/viewtopic.php?f=2&t=2659
Show that the Pyboard D is quite performant when compared to the PyBoard v1.1 at max speed. The Pyboard D at 120MHz is almost as performant as the older Pyboard v1.1 but runs with significantly less current draw.
The Pyboard D blows the ESP32 and especially the ESP8266 out of the water.
The new MAiX Bit board is the fastest. I wonder how extensive its Micropython port is. Also current draw is probably quite high. Still very impressive.
– pystone_lomem (with ‘%g’ changed to ‘%u’ in lines 69 and 71 to be compatible with WiPy 1.0, download here), in pystones/second :
* Pyboard D SF2W with MicroPython v1.9.4 : 1,724 (120 MHz) / 2,762 (216 MHz);
* Pyboard v1.1 with MicroPython v1.8.6 : 1,754;
* Pyboard Lite v1.0 with MicroPython v1.8.6 : 1,048;
* WiPy 1.0 with MicroPython v1.8.2-103 : 659;
* ESP8266 with MicroPython v1.8.6-7 : 223 (80 MHz) / 415 (160 MHz);
* ESP32 with MicroPython v1.10 : 1,024;
* BBC Micro:bit with MicroPython v1.7.9 : not enough RAM to run;
* LoPy with MicroPython 0.9.6.b1 : 829;
* WiPy2 with MicroPython 0.9.6.b1 : 836;
* Teensy 3.2 with MicroPython v1.8.6 : 846;
* Teensy 3.5 with MicroPython v1.8.6 : 1,086;
* Teensy 3.6 with MicroPython v1.8.6 : 2,212;
* MAiX BiT with MicroPython v0.1.1 (@ 403 MHz) : 5,102;
Hi, out MaixPy for MaixBit is well support for micropython, and even support for openMV API & IDE.
And current is less than ESP32, about 60~100mA, as it is 28nm chip.
look at board intro: https://bbs.sipeed.com/t/topic/658
Definitely impressive, I have several and they work well, I love the included LCD/camera and comprehensive CV support. Also note that it’s possible to clock them at 600MHz by simply running the Maix.setfreq function (Which writes a file to flash with the new values), and by increasing the core voltage it can run at 800MHz. Not too many non-Linux boards that get even close to that performance, also has 8MB of RAM, though part of that is dedicated for the neural-network (KPU) processor.
Looks interesting, lets see about the price. If its 30 quid or less I might go for it (so long as you don’t have to spend another 20 quid to buy a breakout board, like the wipy).
Micropython on the ESP32 was never able to use the on-board bluetooth capability. Looks like this board has a separate chip for bluetooth that runs its own stack.
Please be kind and respectful to help make the comments section excellent. (Comment Policy)