The next newsletter goes out in a week and being subscribed the best way to keep up with all things Python for hardware.
Over 6k+ subscribers worldwide!
Max Holliday – CircuitPython in space, SmallSats and more!
KickSat-2 development yielded the PyCubed project and after Max’s talk at SmallSat 2019, over 60 universities have reached out wanting to use and/or incorporate PyCubed into their Cubesat development efforts.
All of the radiation testing, data collection, etc. … for the research is collected using CircuitPython.
Max is really excited lately with the time-of-flight ranging capability of the Semtech SX1280 radios. So Max built a breakout that fits existing HopeRF footprints and published a working (albeit rough around the edges) CircuitPython library!
Max was in NYC for this Keysight IoT competition. Using the KickSat-2 CircuitPython platform (the small form-factor sprites), Max’s team worked with a chemical engineering group at Stanford to develop a completely new means of measuring ammonia concentrations in water. The mesh network, gateways, sensing nodes, etc. are all using CircuitPython.
Max’s contributions to the Maker community and Stanford curriculum include:
Max developed the SAM32 board as a “catch-all” or swiss-army knife for student projects. It’s is now part the curriculum in 5+ courses in the fall.
One example, Eng240, is a MEMS course that’s historically been purely theory-based. However, Prof. Roger Howe and Max have overhauled the class to include labs in the fall. The first of which has students assembling their own SAM32, the second has students designing their own “marco” accelerometer using PCBs. Everything is driven with CircuitPython.
Max is a self described soldering nerd, and he was completely dissatisfied with resources online for folks learning to solder. Max made a very polished tutorial with a self-assessment quiz. Then he coupled it with a soldering practice + exam board for Stanford students to use.
Program CircuitPython devices with iPhone & iOS 13
With the launch of iOS 13, iPhone users now have the ability to edit code on CircuitPython USB devices! Once you’re device is updated, you can connect a board such as Circuit Playground Express and edit & run code on the go – Adafruit.
CircuitPython snakes its way to the FT232H
The FT232H is a handy USB to GPIO/I2C/SPI breakout board we’ve stocked for a long time. It is used by lots of folks as a hardware interfacing bridge. For a long time, we’ve had Python support for it, but that support has gotten kind of old and neglected as we’ve spent a lot of our efforts on CircuitPython. Well, now we have CircuitPython Blinka support, so you can control sensors, OLEDs, buttons, LEDs and more all via FT232H! All thanks to Carter who fearlessly took on this code support – we’ll start writing up a guide in the next week or two – YouTube.
CircuitPython slithers its way to Halloween! HackSpace issue 23!
Turn to the fun (and dark) side of making with a look at the best crazy, creative Halloween builds around – then have a go at making your own! There are a lot of CircuitPython and Python projects in this issue, check it out and help support a great magazine!
Subscribers save a bunch and they get a free Circuit Playground Express!
Send data with If This Then That – Control almost anything with CircuitPython
“If This Then That (IFTTT) is a really simple bit of glue that lets you link a condition with an action, both of which are taken from web services. All IFTTT applets are in the format If ‘condition’ then ‘action’. This simple form is surprisingly powerful because it’s linked to a huge number of internet services and web-connected devices. The sheer range of services that can link together, and the fact that everything can be configured by clicking on things in a website, make it a great platform for basic Internet of Things devices and experiments.”
Motorized wing, making your cosplay move
“Add movement to your cosplay with a servo motor! In this intermediate build, we’ll make an articulating wing that opens and closes at the touch of a finger. This project is a perfect add-on to a sci-fi robot costume, a steampunk aviator, or any costume with a shoulder pauldron. We’ll bring our wing to life with some crafting, soldering, and a little bit of code! We’ve kept this build simple with everyday materials like cardboard and string. Clean, used shipping boxes are a great source of 4mm corrugated cardboard. A laser cutter makes quick work of cutting out the wings, but if you don’t have access to one, use scissors or a craft knife to cut the cardboard by hand. Our cyberpunk-style wing template includes design lines that can be engraved or traced on the surface of the wing for more texture. Download our template at hsmag.cc/issue23, or create your own custom wing shape from scratch. Just make sure the pivoting side of the wing is a nice, round circle, for smooth movement. Once cut, paint the wings to match your costume – a coat of silver spray paint made our cardboard shine bright.”
Adafruit Feather takes flight with the SparkFun Thing Plus Artemis
The latest SparkFun board is Feather-compatible! This is the fifth SparkFun Adafruit Feather-compatible board (not including the Particle boards which are Feather format as well).
“To make the Thing Plus even easier to use, we’ve moved a few pins around to make the board Feather compatible…“
Feather is a complete line of development boards that are both standalone and stackable. They’re able to be powered by LiPo batteries for on-the-go use or by their micro-USB plugs for stationary projects. Feathers are flexible, portable, and as light as their namesake. FeatherWings are stacking boards and add functionality and room for prototyping. At its core, Feather is a complete ecosystem of products – and the best way to get your project flying.
The Feathers at Adafruit are open source. Adafruit encourages other companies to utilize this form factor to maximize compatibility with dozens of pre-existing boards.
Check out awesome-feather for a complete list! – github.com/adafruit/awesome-feather.
Meet the new Circuit Playground TFT Gizmo, a Bolt-on Display + Audio Amplifier – Adafruit.
Extend and expand your Circuit Playground projects with a bolt on TFT Gizmo that lets you add a lovely color display in a sturdy and reliable fashion. This PCB looks just like a round TFT breakout but has permanently affixed M3 standoffs that act as mechanical and electrical connections.
Once attached you’ll get a 1.54” 240×240 IPS display with backlight control, two 3-pin STEMMA connectors for attaching NeoPixel strips or servos, and a Class D audio amplifier with a Molex PicoBlade connector that can plug on one of our li’l speakers.
This is a great companion for our Circuit Playground Express or Bluefruit boards thanks to their fast SPI hardware speeds, and it works in CircuitPython. It comes with a PCB that has pre-soldered standoffs attached and 12x M3 screws for attachment.
CircuitPython and Mu book!
Lots of activity and more for the CircuitPython & Mu book that is coming soon from Japan, including shirts! – STEAM TOKYO.
Introduction to CircuitPython class in Canton, CT
For individuals (Ages 10 – Adult) who love circuits or coding, check out this Introduction to CircuitPython class at NextGen SmartyPants in Canton, Connecticut USA – nextgensmartypants.com.
News from around the web!
A nice laser cut holder for all of the PyBadges at MacInspires – Twitter.
Mike, from Mouse vs Python, has his PyBadge up and running – Twitter.
Silver Mask with moving eyes with ADABOX 013 – YouTube via Twitter.
Presenting a pair of Spectral Foxes – Instagram.
More progress on Jeff’s CircuitPython board – Twitter.
Kevin’s CircuitPython based custom conference badge is looking great! – Twitter.
PyPortal IoT Plant Monitor with Microsoft Azure IoT and CircuitPython. Monitor your plant’s vitals by combining CircuitPython with Microsoft Azure IoT – learn.adafruit.com
Anrhok work in progress, eyes made by Lucky and Hige – Twitter.
Daniel’s excellent PyBadge – Twitter.
Building Custom Deep Learning Based OCR models by Anuj Sable – nanonets.com
Building a micro:bit gesture controlled lamp – manjo.ninja.
Microsoft has a 44 part series on YouTube, all about Python –
“Probably the largest hurdle when learning any new programming language is simply knowing where to get started. This is why we, Chris and Susan, decided to create this series about Python for Beginners! Even though we won’t cover everything there is to know about Python in the course, we want to make sure we give you the foundation on programming in Python, starting from common everyday code and scenarios. At the end of the course, you’ll be able to go and learn on your own, for example with docs, tutorials, or books.”
The latest Amp Hour electronics podcast had Ken Burns of TinyCircuits – towards the end of the interview there are some CircuitPython mentions around the 1 hour 22 min mark.
Laser crown! – Instructables.
Jepler was working on a cool Commodore 64 + CircuitPython project!
Robo HAT MM1 by Robotics Masters – their testing jig arrived – Crowdy Supply.
KiPro is Professional support for KiCad. Offers private bug reports, customized hardware and feature release schedules kipro-pcb.com.
Visualizing 100k decimals of Pi, Tau and e with Python – moon.hoyd.net.
Token scanning – GitHub.
Lectures in Quantitative Economics with Python – PDF.
A Python alternative to Docker – Matt Layman.
Basic TensorFlow Object Recognition on any Computer or iOS device with Google Colab – Adafruit.
An absolute beginners guide to nRF52840 by Teja Chintalapati.
A few days left for the Humble Level Up Your Python Bundle, pay what you want and help charity – humblebundle.com/level-up-your-python.
PyGame: A Primer on Game Programming in Python by Jon Fincher – Real Python.
Inside Tesla’s Neural Processor In The FSD Chip – wikichip.org
Artbreeder – Create beautiful, wild and weird images.
ImageNet Roulette is a provocation designed to help us see into the ways that humans are classified in machine learning systems. It uses a neural network trained on the “Person” categories from the ImageNet dataset which has over 2,500 labels used to classify images of people – imagenet-roulette.paglen.com
Halloween custom prints – Print all over me.
Balancing Makers and Takers to scale and sustain Open Source – DRIES BUYTAERT.
Software Engineering at Google – PDF.
Moore’s law visualization, predictions vs actual growth in transistor count – Twitter.
And on that note, this is great to hear – Twitter.
“Thanks to Adafruit’s UF2 bootloader, the update process is super easy.”
Bugfix and DMCA Lawsuit Progress NeTV2 – Crowd Supply.
How did we miss this? Mouser acquired Crowd Supply LAST YEAR – Crowd Supply.
PyDev of the Week: Peter Farrell – Mouse vs Python.
Updates coming soon to Bluefruit! – YouTube.
STEMMA Relay Breakout. This all-SMT breakout lets you control a 60W relay with a plug-n-play 3-pin JST PH cable connection. Clicky clacky!
Working on some new cases for the PyBadge!
Mini SAM + WiFi backpack, maybe? – Twitter.
New Learn Guides!
“This week I finished up and released the SSD1305 framebuf driver to be used with the upcoming Large OLED Bonnet. If I may say so myself, it looks great! I also assembled and started working on the driver for the upcoming MPU-6050 STEMMA QT compatible 6-axis Accelerometer and Gyroscope.”
“This week, my main work was more research about DAC issues on the boards with samd51 microcontrollers, like the Metro M4 Express. A pull request improved various problems when the DACs were used for simple analog out or audio out, but some strange behavior remains where high amplitude square waves are concerned. I personally suspect there might be gremlins in the silicon at this point. Along the way, I learned how to use my scope’s pass/fail mode to record how often an anomaly occurred when looping a short sample via CircuitPython’s AudioOut. Answer: Less than 0.5% of the time in this test, after employing a workaround.”
“The Circuit Playground Bluefruit guide has been published! I found a number of bugs during testing, and we’ve since fixed them all. This week, I’m working on the Hallowing M4 guide. If you’re looking for how to get going with your Hallowing M4, keep an eye out for that to be published soon! After that, I’ll be adding three Bluetooth examples to the Circuit Playground Bluefruit guide. They’ll provide a starting point for using CircuitPython with the Bluetooth features of your CPB!”
“We just wrapped up AnalogIO for the STM32 today after getting held up by some tricky bugs. Now that that’s completed, I’ll be moving on to expanding the implementation of I2C and the rest of BusIO using a new implementation of peripherals specific to the STM32. This will enable a bunch of new modules and breakout boards to be used with CircuitPython! I’ll also be working on support for new F4 dev boards.”
“Just finished up writing a learn guide for a new utility called CircUp that allows easy maintenance of CircuitPython libraries across your devices. You can check out the learn guide here. I’ve gone through the displayio examples making some minor updates and updated the corresponding CircuitPython displayio learn guide pages. I’ve also been adding several new boards to the circuitpython.org website under the Downloads page. I took the Arduino ST7735 Library and split up the graphicstest example into 4 different examples so it would be easier to follow along with newer boards such as the HalloWing M4. I also fixed a bug in the CircuitPython Seesaw library that wasn’t allowing the NeoTrellis and MiniTFT boards to work correctly on the latest versions of CircuitPython. Now I’m working on going through updating the monochrome OLED learn guide pages to reflect some of the recently added displayio drivers.”
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!
Keep checking back for more updated guides!
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 187!
Here’s this week’s new CircuitPython libraries:
Here’s this week’s updated CircuitPython libraries:
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:
“October is Open Hardware Month! Check out the Open Hardware Month website. Host an event, find a local event, or certify your hardware to support Open Source Hardware. We are providing resources and asking you, the community, to host small, local events in the name of open source hardware. Tell us about your October event by filling out the form. Your event will be featured on OSHWA’s Open Hardware Month page (provided you have followed OSHWA’s rules listed on the “Do’s and Don’ts” page).”
Ada Lovelace Day (ALD) is an international celebration of the achievements of women in science, technology, engineering and maths (STEM). It aims to increase the profile of women in STEM and, in doing so, create new role models who will encourage more girls into STEM careers and support women already working in STEM – findingada.com.
PyCon DE & PyData Berlin, Germany // October 9 – 13 2019. Main conference, 3 days of talks and workshops. More than 100 sessions dedicated to PyData (artificial intelligence, machine learning, ethics…) and Python topics (programming, DevOps, Web, Django…) – de.pycon.org.
micro:bit Live 2019 is coming to BBC MediaCityUK, Greater Manchester, England on October 4-5. This will be the very first annual gathering of the global micro:bit community of educators and partners – micro:bit.
Hackaday Superconference is November 15th, 16th, and 17th in Pasadena, California, USA. The Hackaday Superconference is returning for another 3 full days of technical talks, badge hacking, and hands-on workshops: Eventbrite & hackaday.io
20190922 is the latest CircuitPython library bundle.
Call for help – CircuitPython messaging to other languages!
We 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.
jobs.adafruit.com – Find a dream job, find great candidates!
jobs.adafruit.com has returned and folks are posting their skills (including CircuitPython) and companies are looking for talented makers to join their companies – from Digi-Key, to Hackaday, Microcenter, Raspberry Pi and more.
The Adafruit Discord community, where we do all our CircuitPython development in the open, reached over 14,151 humans, thank you! Join today! https://adafru.it/discord
We just reached 14,000 humans, here’s what that looks like over time!
Discord now offers “server boosts”. We have 13 on our server (level 2) and if we get to 50 boosts we get to level 3 and some other good features for the community: +100 emojis for a total of 250, 384 Kbps audio, vanity URL, 100 mb uploads for all members (and all the things we have now, like the server banner). Stop by and boost! https://adafru.it/discord.
ICYMI – In case you missed it
The wonderful world of Python on hardware! This is our first video-newsletter-podcast that we’ve started! 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.
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.
And lastly, we are working up a one-spot destination for all things podcast-able here – podcasts.adafruit.com
Codecademy “Learn Hardware Programming with CircuitPython”
Codecademy, an online interactive learning platform used by more than 45 million people, has teamed up with the leading manufacturer in STEAM electronics, Adafruit Industries, to create a coding course, “Learn Hardware Programming with CircuitPython”. The course is now available in the Codecademy catalog.
Python is a highly versatile, easy to learn programming language that a wide range of people, from visual effects artists in Hollywood to mission control at NASA, use to quickly solve problems. But you don’t need to be a rocket scientist to accomplish amazing things with it. This new course introduces programmers to Python by way of a microcontroller — CircuitPython — which is a Python-based programming language optimized for use on hardware.
CircuitPython’s hardware-ready design makes it easier than ever to program a variety of single-board computers, and this course gets you from no experience to working prototype faster than ever before. Codecademy’s interactive learning environment, combined with Adafruit’s highly rated Circuit Playground Express, present aspiring hardware hackers with a never-before-seen opportunity to learn hardware programming seamlessly online.
Whether for those who are new to programming, or for those who want to expand their skill set to include physical computing, this course will have students getting familiar with Python and creating incredible projects along the way. By the end, students will have built their own bike lights, drum machine, and even a moisture detector that can tell when it’s time to water a plant.
Codecademy has helped more than 45 million people around the world upgrade their careers with technology skills. The company’s online interactive learning platform is widely recognized for providing an accessible, flexible, and engaging experience for beginners and experienced programmers alike. Codecademy has raised a total of $43 million from investors including Union Square Ventures, Kleiner Perkins, Index Ventures, Thrive Capital, Naspers, Yuri Milner and Richard Branson, most recently raising its $30 million Series C in July 2016.
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.