ICYMI (In case you missed it) – Tuesday’s Python on Microcontrollers Newsletter from AdafruitDaily.com went out – if you missed it, subscribe now!
Next one goes out in a week and it’s the best way to keep up with all things Python for hardware. It’s the fastest growing newsletter out of ALL the Adafruit newsletters!
Over 5,100 subscribers worldwide!
https://www.adafruitdaily.com/
Microchip is giving away some PyPortals for IoT Design Week – Now!
During the LIVE Microchip Livestream event on March 12, 2019 at 9am PT / 12pm ET US, which is almost right now if you’re just receiving this newsletter Tuesday on schedule. Microchip will be giving away 5 Adafruit PyPortals for IoT Design week! You may also register here for other prizes if you can’t tune in to the live show.
CircuitPython 4.0.0 Beta 3 released!
The CircuitPython 4.0.0 Beta 3 release is available here: https://github.com/adafruit/circuitpyth … 0.0-beta.3. This is a beta build of 4.0.0. Beta 3 includes many displayio
improvements, bleio
fixes, adds rotaryio
support to nRF and adds frequencyio
to SAMD. There are still issues to fix before a stable release and the new APIs may evolve a bit more, but it’s getting close! Please help test it.
Find the latest binaries for your board on the new website and check GitHub for the full details.
CircuitPython.org
Like making websites and want to help with CircuitPython? We’ve just setup circuitpython.org and can use your help to make it better. PRs welcome here – GitHub.
Pirate Translation for CircuitPython messages
“Belay that! Invalid pin for port-side channel.” There are now pirate messages for CircuitPython – GitHub. Add yours, ye matey!
pyboard-D series update!
The latest MicroPython newsletter is here and it has updates as well as details on the upcoming pyboard-D series!
A lot of effort has been spent over the past months verifying the stability of the system and making sure it is suitable for robust embedded systems. The new pyboard uses a Cortex-M7 which is a high-performance CPU and we needed to understand the full implications of the advanced features of this CPU and their interaction with the rest of the microcontroller system. We did see some issues when using the external QSPI flash in memory-mapped mode which have now been resolved.
News from around the web!
Scott is doing a CircuitPython mentored sprint for diverse beginners at PyCon. A mentored sprint is a newcomer’s introduction to contributing to an open source project. Here is how to contribute to CircuitPython. If you’re going to PyCon and either want to lead a mentored sprint or be part of one, sign up here.
This is pretty neat, a person did a PR and opened an issue for some MIDI control documentation and while they have been coding since 1982, they’re new to Python and GitHub. After reviewing our guides on “Collaborating with version control” and “Contributing to CircuitPython with git and GitHub” they were able to successfully get their PR merged – GitHub.
Meet RED! – Build + Code for a Tea Tin Robot made using Circuit Playground Express and CircuitPython, by Nick – YouTube & Google doc.
Adafruit PyPortal Wedge Box by atmakers – Thingiverse.
The latest Maker Update – Adafruit edition! Flipping switches, free boards for PyCon, shields, swords, robot music, purple rovers, LED legs, neon bikes, Lidar for dogs, and a look at PyPortal – YouTube.
Robo HAT MM1 – An open source robotics and automation controller for Raspberry Pi. Now on Hackaday.io
Making HIDAttacks cute again… PoC to compile DuckyScript to CircuitPython and embed it into a template. This makes it easy to configure it to the board or as way to trigger it, running on MiniSAM – Twitter.
Spicy button by Leon from Python Discord! – YouTube.
@eldritech is experimenting with PyGame Zero GUIs for MicroPython & CircuitPython devices/robots. Video shows responses to mouse activity – Twitter.
@Packratt1 replaced the Arduino controller on a Mystery Science Theater 3000 bot, with an Adafruit CircuitPython based CRICKIT board – Twitter.
Walk through communicating with cellular modems through UART with CircuitPython – GitHub.
Make: Magazine review: Adafruit HalloWing M0 Express – MakeZine.
SparkFun released a ESP32 WROOM board that is Adafruit FEATHER form-factor compatible. At the core of this module is the ESP32-D0WDQ6 chip which is designed to be both scalable and adaptive. To make the Thing Plus even easier to use, they moved a few pins around to make the board Feather compatible. Alasdair Allan on the hackster.io blog writes “With Arduino in the process of abandoning their “classic” form factor that has for some years now been the standard, in favour of something more modern, the community seems instead to be adopting Adafruit’s Feather as the next standard. Nothing suggests that more than the arrival of a SparkFun Feather board.” – hackster.io
Have a magical day, student animated artwork, made with CircuitPython – YouTube.
Joshua Vaughan, Mechanical Engineering Associate Prof. at UL Lafayette, posted up the latest notes and audio from the #MCHE201 lecture, continuing the journey through MicroPython with basic operations in the REPL and blinking LEDs – MCHE 201: Intro to Engineering Design.
Damien George presents his work-in-progress solution to loading native code from MicroPython modules – YouTube.
March 10 Linktastic MicroPython – melbournemicropythonmeetup.github.io
MicroPython board summary – GitHub.
A Logitech Extreme 3D Pro USB Joystick – LE3DPUSBH takes input from the Logitech joystick and outputs JSON on the Trinket M0 UART Tx pin at 921,600 bits/sec. This high speed is used because JSON is verbose – GitHub.
Google Coral Edge TPU: the Coral Dev Board is a single-board-computer that contains an Edge TPU coprocessor. It’s ideal for prototyping new projects that demand fast on-device inferencing for machine learning models. Adafruit has a few on order, we’ll get Blinka, CircuitPython on Linux, running on it – Coral.
Python code to perform basic remote operations with a Rohde and Schwarz RTO1044 Oscilloscope, including waveform capture, display, and FFT – Mind Chasers.
Text-based adventure games that print out in real time, with Quest Smith: the Raspberry Pi Zero W–driven handheld gaming device – YouTube & Raspberry Pi.
Make xkcd-style plots from Python – Hackaday.
Python programs to practice or demonstrate skills – GitHub.
Famous companies and the use of Python – futuremind.com
p2j – Python to Jupyter Notebook. Convert your Python source code to a Jupyter notebook with zero intervention – GitHub.
A collection of Python code snippets and cheatsheets (made for humans) – GitHub.
Discovering Hidden APIs with Python – YouTube & GitHub.
The fourth annual Open Source Yearbook looks back at 20 years of open source and rounds up hot new technologies and trends – opensource.com. The Open Source Yearbook has a lot of good Python related content: Open Source Cheat Sheets Python 3.7, Running a Python application on Kubernetes, is BDFl a death sentence? 10 Hello World programs for your Raspberry Pi, top 8 Python conferences to attend in 2019, and 40 top Linux and open source conferences in 2019.
Data Portability, not Open Source? Is it time for the GPL to die? – Medium.
Redesigning a Github repository page – Nikita.
‘cursewords’ is a “graphical” command line program for solving crossword puzzles in the terminal. It can be used to open files saved in the widely used AcrossLite ‘.puz’ format – GitHub.
Python: the most queried language on Stack Overflow – Global App Testing.
QR Code generator library. This project aims to be the best, clearest library for generating QR Codes – nayuki.io
The state of font rendering on Linux – PandaSauce.
Ghidra is a software reverse engineering (SRE) suite of tools developed by NSA’s Research Directorate in support of the Cybersecurity mission – ghidra-sre.org, NSA, and GitHub. Screenshot via Trammell.
The two most important software development skills aren’t technical – Atomic Object.
Good quote from Asim, it’s true – Twitter.
#ICYDNCI What was the most popular, most clicked link, in last week’s newsletter? A Halo for Lucy – CircuitPython assistive tech for dogs.
CircuitPython Weekly March 11th, 2019 on YouTube and on diode.zone
PyDev of the Week: Maria Khalusova on Mouse vs Python
PyPoral – Internet of Gremlin Things
Don’t get them wet, don’t put them near light, especially sunlight, and do not feed them after midnight, no matter how much they beg. This seems like a simple set of rules for keeping a pet mogwai from turning into a green monster gremlin, yet, it seems to happen every single time.
“You do with Mogwai what your society has done with all of nature’s gifts! You do not understand! You are not ready” – Mr. Wing (Grandfather)
We’re ready now. With this IoT Wi-Fi alarm clock (video), the mogwais will not be able to sneak around and change the clock, it uses adafruit.io and a time server. The device gets online, gets the time and then has 2 alarms: midnight, lets you know DO NOT FEED, then at 8am, back to being able to feed the mogwai. Made with CircuitPython on the PyPortal – adafruit.com/pyportal
Coming soon
Working up a puppet family photo soon, including Blinka the friendly CircuitPython snake!
Workin’ on a future breakout – this one is an ESP32 breakout board for use with CircuitPython boards as a co-processor or maybe if you want something compact and no USB-serial converter. We are using a Teensy 3.6 with SD card to write the test firmware over serial using the ROM bootloader, run some tests, and then burn the final firmware. It’s slower than command line, but easier to run two at a time, so … we think this is going to work out! – YouTube.
New Learn Guides!
CRICKIT Exhibit Demo Board from Dano Wall
PyPortal Twitter Follows Trophy from John Park
Circuit Playground Express Rocket Lamp from Archie Roques
Updated Guides – Now With More Python!
You can use CircuitPython libraries on Raspberry Pi! We’re updating all of our CircuitPython guides to show how to wire up sensors to your Raspberry Pi, and load the necessary CircuitPython libraries to get going using them with Python. We’ll be including the updates here so you can easily keep track of which sensors are ready to go. Check it out!
Adafruit GPIO Expander Bonnet for Raspberry Pi
Adafruit 15×7 CharliePlex FeatherWing
IS31FL3731 16×9 Charlieplexed PWM LED Driver
CircuitPython Libraries!
CircuitPython support for hardware continues to grow. We are adding support for new sensors and breakouts all the time, as well as improving on the drivers we already have. As we add more libraries and update current ones, you can keep up with all the changes right here!
For the latest drivers, download the Adafruit CircuitPython Library Bundle.
If you’d like to contribute, CircuitPython libraries are a great place to start. Have an idea for a new driver? File an issue on CircuitPython! Interested in helping with current libraries? Check out this GitHub issue on CircuitPython for an overview of the State of the CircuitPython Libraries, updated each week. We’ve included open issues from the library issue lists, and details about repo-level issues that need to be addressed. We have a guide on contributing to CircuitPython with Git and Github if you need help getting started. You can also find us in the #circuitpython channel on the Adafruit Discord. Feel free to contact Kattni (@kattni) with any questions.
You can check out this list of all the CircuitPython libraries and drivers available.
The current number of CircuitPython libraries is 136!
Updated Libraries!
Here’s this week’s updated CircuitPython libraries:
- Adafruit CircuitPython RA8875
- Adafruit CircuitPython PyPortal
- Adafruit CircuitPython ESP32SPI
- Adafruit CircuitPython Register
- Adafruit CircuitPython FRAM
PyPI Download Stats!
We’ve written a special library called Adafruit Blinka that makes it possible to use CircuitPython Libraries on Raspberry Pi and other compatible single-board computers. Adafruit Blinka and all the CircuitPython libraries have been deployed to PyPI for super simple installation on Linux! Here are the top 10 CircuitPython libraries downloaded from PyPI in the last week, including the total downloads for those libraries:
Library | Last Week | Total |
---|---|---|
Adafruit-Blinka | 564 | 18943 |
Adafruit_CircuitPython_BusDevice | 332 | 9347 |
Adafruit_CircuitPython_Register | 186 | 2191 |
Adafruit_CircuitPython_NeoPixel | 152 | 2835 |
Adafruit_CircuitPython_MotorKit | 90 | 1158 |
Adafruit_CircuitPython_ServoKit | 89 | 755 |
Adafruit_CircuitPython_BME280 | 86 | 1199 |
Adafruit_CircuitPython_PCA9685 | 80 | 1076 |
Adafruit_CircuitPython_Motor | 77 | 1135 |
Adafruit_CircuitPython_LIS3DH | 59 | 1014 |
Upcoming events!
KiCon is a KiCad user focused conference. Held for the first time ever, April 26th and 27th 2019 in Chicago IL. Adafruit is a sponsor – kicad-kicon.com
Digi-Key + Adafruit @ PyCon!
PyCon 2019 returns May 1–9, 2019 to Cleveland, OH – with talks, tutorials, sprints, and more!
Big news! Digi-Key and Adafruit have teamed up for PyCon 2019 so every attendee (about 4,000!) will receive a SPECIAL EDITION Circuit Playground Express, running … CircuitPython.
This effort is to get Python on hardware to the most folks out there, at the events that bring people together.
This is just one of many efforts we’re teaming up with Digi-Key to continue to fuel all the developers from beginners to pro, using Python on microcontrollers.
What else is happening? The CircuitPython team will be running several Open Spaces sessions (as they did last year), showing how to use CircuitPython on the Digi-Key / Adafruit PyCon special edition Circuit Playground Express. We’ll have extra addons to play with also: potentiometers, NeoPixel strips, and servos. The team will be running a CircuitPython Sprint for several days to work on CircuitPython libraries and CircuitPython core code. BYOMUSB “Bring your own Micro USB” cables, we’ll have some to borrow during the sprints/sessions, as well as some USB C adapters, good idea to bring one too!
The PyCon 2019 conference, which will take place in Cleveland, is the largest annual gathering for the community using and developing the open-source Python programming language. It is produced and underwritten by the Python Software Foundation, the 501(c)(3) nonprofit organization dedicated to advancing and promoting Python. Through PyCon, the PSF advances its mission of growing the international community of Python programmers.
We will have a lot more updates, stay tuned to the Adafruit blog, Twitter, Discord, and more!
Latest releases
CircuitPython’s stable release is 3.1.2 and its unstable release is 4.0.0-beta.3. New to CircuitPython? Start with our Welcome to CircuitPython Guide.
20190311 is the latest CircuitPython library bundle.
v1.10 is the latest MicroPython release. Documentation for it is here.
3.7.2 is the latest Python release. The latest pre-release version is 3.8.0a2.
1076 Stars Like CircuitPython? Star it on GitHub!
Call for help – CircuitPython messaging to other languages!
We recently posted on the Adafruit blog about bringing CircuitPython messaging to other languages, one of the exciting features of CircuitPython 4.x is translated control and error messages. Native language messages will help non-native English speakers understand what is happening in CircuitPython even though the Python keywords and APIs will still be in English. If you would like to help, please post to the main issue on GitHub and join us on Discord.
We made this graphic with translated text, we could use your help with that to make sure we got the text right, please check out the text in the image – if there is anything we did not get correct, please let us know. Dan sent me this handy site too.
11,057 thanks!
The Adafruit Discord community, where we do all our CircuitPython development in the open, reached over 11,057 humans, thank you! Join today! https://adafru.it/discord
Python on hardware, made in NYC – 4 million thank yous’
On March 6, 2019, one of our PnP (pick and place) machines recorded over 4 million produced boards!
We reached:
- 3 million boards on Jan 19, 2018.
- 2 million boards on November 11, 2016
- 1 million boards on June 25, 2015.
And a lot of these are what you’d expect, CircuitPython running electronics! Adafruit Circuit Playground Express, Adafruit Feather M0 Express, Adafruit Feather M4 Express, Adafruit Feather nRF52840 Express, Adafruit GEMMA M0, Adafruit Grand Central M4 Express featuring the SAMD51, Adafruit HalloWing M0 Express, Adafruit ItsyBitsy M0, Adafruit ItsyBitsy M4, Adafruit METRO M0 Express, Adafruit Metro M4, Adafruit NeoTrellis M4, Adafruit Trinket M0, Adafruit PyPortal.
2,000,000 thanks from Adafruit!
On March 8, 2019 @ 7:55 pm ET the 2,000,000 order was placed on adafruit.com for an Adafruit FONA 808 – Mini Cellular GSM + GPS Breakout, Adafruit Ultimate GPS FeatherWing, Mini GSM/Cellular Quad-Band Antenna – 2dBi SMA Plug, Adafruit Feather M0 with RFM95 LoRa Radio – 900MHz – RadioFruit, Adalogger FeatherWing – RTC + SD Add-on For All Feather Boards, and included the free items: Adafruit Perma-Proto Half-sized Breadboard PCB, Boomy the BoomBox – Limited Edition Enamel Pin. We emailed the 2,000,000th customer and here is what they had to say…
I love adafruit, and point out to my daughters that I order cool stuff from adafruit because it’s a woman owned business, and Limor demonstrably shows that its OK to be in tech, be yourself (and have cool hair), although I’m partial to mohawks. Lol. You guys are freakin’ awesome! I purchased items for my tortoise tracker (yes… really… he escaped and managed to scuttle a mile away or so, while I was like 3d printing, LoRa and GPS for the win!). The fact that I happened to be the lucky customer makes it just that much more awesome. Thank you so much, and thank you for being an amazing company and a true inspiration – Old dude with a mohawk.
On November 13, 2018 @ 3:18 pm ET the 1,900,000 order was placed for a Lock-sport Pick Set!. On July 23, 2018 at 1:55 pm ET the 1,500,000 order was placed for a Raspberry Pi Zero W. On January 27, 2016 @ 10:49:52am ET the 1,000,000th order was placed for a Mini-Theremin Kit from Gakken. On October 16th, 20015 @ 09:24:46am we hit 900,000 orders – Previously on June 2 2015 at 10:50am we hit 800,000 orders! On Feb, 6 2015 at 6:06am ET we hit our 700,000th order! On October 6th, 2014 we hit our 600,000th order. On May 14, 2014 we hit our 500,000th order. Before that in December of 2013 we hit 400,0000 orders and then previously in June of 2013 we hit our 300,000 orders. On November 25th, 2012 we hit 200,000 orders. In August of 2011 we hit 100,000 orders.
The first order since we started counting orders this way was placed on October 12th, 2005 for a x0xb0x. Thank you everyone in the community for all the support, everyone here at Adafruit is here because of our community, we do not have loans or venture capital, we are a 100% woman owned, open-source hardware company, manufacturing in NYC, Adafruit exists because of all you. Special thanks to Daigo today as well, good timing. It also happened on #InternationWomensDay. And it looks like our CFO Stella guessed what day we’d hit the milestone within 24 hours AGAIN. Thank you! Ladyada and the entire team at Adafruit.
ICYMI – In case you missed it
The wonderful world of Python on hardware! This is the video-newsletter-podcast that we’ve started! All the news comes from the Python community, Discord, Adafruit communities and more. It’s part of the weekly newsletter, then we have a segment on ASK an ENGINEER and this is the video slice from that! The complete Python on Hardware weekly videocast playlist is here.
This video podcast is on iTunes, YouTube, IGTV (Instagram TV), and XML.
Weekly community chat on Adafruit Discord server CircuitPython channel – Audio / Podcast edition – Audio from the Discord chat space for CircuitPython, meetings are usually Mondays at 2pm ET, this is the audio version on iTunes, Pocket Casts, Spotify, and XML feed.
Contribute!
The CircuitPython Weekly Newsletter is a CircuitPython community-run newsletter emailed every Tuesday. The complete archives are here. It highlights the latest CircuitPython related news from around the web including Python and MicroPython developments. To contribute, edit next week’s draft on GitHub and submit a pull request with the changes. Join our Discord or post to the forum for any further questions.