Daily tips and tricks from the experts at Adafruit!
View this email in your browser

Codecademy launches “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.

Visit Codecademy to access the Learn Hardware Programming with CircuitPython course and Adafruit to purchase a Circuit Playground Express.

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.

CircuitPython 4.0.0 Beta 7 released!

We are nearing the end of the betas of 4.0.0, and hope this will be the last beta. There are still a few issues to fix before stable. We think the API’s are now stable. Please use the latest 3.x stable release (available from the new website!) when first starting with CircuitPython. It is stable.

When you find a bug please check the current known issues and file an issue if something isn’t already known.

Downloads are now available from circuitpython.org! This site makes it much easier to select the correct file and language for your board. The downloads page is here.

4.0.0
4.0.0 is the latest major revision of CircuitPython. It features:

  • extensive new support for pixel-based displays (displayio)
  • a port to the Nordic nRF52840 microcontroller, including support as a BLE beacon or peripheral (bleio)
  • USB MIDI support
  • messages translated into multiple languages

Release notes – GitHub.

CircuitPython snakes its way to Gamebuino!

Learn Python easily – Gamebuino “Learning to code in Python is soon possible with Gamebuino!”

Python is a easy to learn language, thanks to the readability of its code and the simplicity of use. It’s an “interpreted” language, in other words you can execute it without compiling it. Not need to install another software, a simple text editor is enough! But simplicity does not mean a lack of possibilities! If it’s one of the preferred languages to learn programming (the Académie Française has chosen the Python language for the new high school reform), it also allows the creation of advanced programs, and many big companies use it for their applications: YouTube, Spotify, and even NASA claim its use! … If the final objective of Gamebuino (the creation of a game) is playful, we have put all our energy into making it a way for discovering the programming and becoming the ideal tool for learning Python.

Read more – gamebuino.com/python.

Related

Resurrections from Celeste – GameBoys running CircuitPython

Scott’s GameBoy orchestra sounds great! MIDI is coming from the computer into the black GameBoy pocket. CircuitPython running in the cart processes it and then queues the sounds in the GameBoy. Any notes the first GameBoy can’t play will be forwarded on to the next (blue) and then the DMG. Thanks to Playful Piano for the MIDI file. Thanks to Lena Raine for the wonderful Celeste soundtrack and to the Celeste crew for an amazing game. Support them by buying the game and soundtrack – YouTube.

Python snakes its way to LEGO and Visual Studio!

MicroPython for LEGO MINDSTORMS EV3 is here! This is a Visual Studio Code extension for programming LEGO® MINDSTORMS® EV3 using MicroPython – marketplace.visualstudio.com. 181 downloads so far 4/14/2019, appears to be the Linux port, not the “bare metal” as it’s sometimes referred to. micropython-ev3dev – GitHub, & EV3dev Python.

And there is more LEGO news.

LEGO is going full-on Python on hardware, this is the LEGO SPIKE Prime…

LEGO® Education SPIKE™ Prime is a powerful STEAM learning solution for middle school that combines LEGO bricks, coding language based on Scratch, and a programmable multi-port Hub to help every learner become a confident learner.

Read more, PDF, lesson plans, and pre-order ($329.95).

So: According to this site, the hub is running the “MicroPython Operating System”!

The spec sheet came from someone who posted this on the Facebook LEGO SPIKE page. And here is an unboxing video & parts list.

The SPIKE Prime system appears to be using the same LPF2 (Lego® Power Functions 2.0) BluetoothLE communication system that they introduced with their PoweredUp and Boost robotics gear in the last few years. This new set introduces a new hub that now has 6 general purpose ports (up from 2 in their previous LPF2 systems), and an expanded set of peripherals such as sensors and motors. … Even more exciting is that it says it’s running an embedded MicroPython OS, so hopefully they will release the Python API at some point for downloadable programs. The processor inside is, however, only specc’ed at 100MHz.

Hatier Variations 2019: Casio, HP, NumWorks and TI come together for Python!

Hatier is a French publishing house specializing in scholarly works and educational materials and this year, they included all the variants of Python running on calculators, including CircuitPython on the TI-83, as well as: Casio Graph 90 + E, HP Prime, and NumWorks via TI-Planet.

Happy Birthday MicroPython, turning 6 soon!

We are getting ready to celebrate MicroPython’s 6th birthday, there was some debate about which day in April is the birthday day, so we asked the creator Damien George and we have the official dates.

  • 29th April 2013: first line of code written (in private, before anyone knew about it, before it was even called MicroPython)
  • 17th Sept 2013: first code running on a microcontroller, on the very first prototype of the pyboard
  • 2nd Oct 2013: register micropython.org
  • 4th Oct 2013: first commit in what is now the main repository
  • late Dec 2013: source code up on GitHub
  • 21st June 2014: last of the Kickstarter rewards sent out (for the first Kickstarter)

CircuitPython stickers for iOS devices

Spice up your iMessages with Blinka, Adabot, Minerva, Hans, schematic symbols & more – iTunes, and YouTube. Kudos to Trevor for the great video!

Blinka and CircuitPython logo and usage guidelines

We put together usage guidelines for CircuitPython and Blinka the CircuitPython snake in our CircuitPython art folder, these are in progress, take a look and let us know if we missed anything! – DropBox.

Python games & NES emulators on the NumWorks calculator

The NumWorks calculator is one of our favorite Python powered devices, more so since it’s possible to run emulators on it! An NES emulator on the NumWorks calculator – zardam.github.io & video. GESTE is a sprite and tile 2D render engine designed to run on microcontrollers / low performance systems. GESTE also provides a basic math and physics engine using fixed point arithmetic – GitHub, and video. And here’s pong and more about it from the maker.

News from around the web!

Twin Peaks Light Reactive Picture Frame by Blitz City DIY. This particular instance of this project concept is based on the cult classic TV series Twin Peaks. Twin Peaks is about the mythical town of Twin Peaks in Washington State and the many mysterious, creepy and bizarre happenings there that all seem to center around Laura Palmer. Guide and video – YouTube.

Displaying air quality on a CircuitPython powered PyPortal using openSenseMap – Twitter.

PyPortal_Tides, uses NOAA – GitHub.

ADABOX 011 unboxing of the CircuitPython powered PyPortal, projects, and more! – YouTube.

The next ADABOX ships in June, 2019 – sign up now.

NeoTrellis M4, Maker Minute at Digi-Key – YouTube.

Multicore 16ch Smarthome DIN PLC (ESP32, 328, D21) – 16 Channel board for Esp8266, SamD21, Arduino Nano, ESP32, STM32 – hackaday.io

irRobotAndRemote is for a rover robot built with the Adafruit Crickit board. It’s controlled with an IR remote using an Adafruit Trinket M0, Adafruit Seesaw and a custom PCB. Coded with CircuitPython – GitHub.

NeoPixel Emulator with Python – hackster.io

Updates on the No point IR camera. For this test, a slightly warm tea and a piece of frozen meat – hackaday.io

Caitlinsdad, always quick on the timely memes, Game of Portals – Twitter.

Monitoring Apache NiFi via PyPortal with CircuitPython – GitHub.

All aboard! Say hi to the SAMD51J19 cpu board running CircuitPython – GitHub.

MicroPython #3 – Fundamentals – YouTube.

Single board Multicore school robot – hackaday.io

MicroPython/CircuitPython-based gaming devices. A coin for scale – Twitter.

Grand Central M4 Express featuring SAMD51, without headers, released. The fastest way to run CircuitPython – Adafruit.

John is working on a new office door sign with PyPortal. Next up – writing an iOS app to post updates on the fly – Twitter.

Crickit/CPX and CircuitPython usage from Athenian FRC Robotics.

Paul is working on a plan to teach Python to his young children. His audience is under 8 years old. The plan is to eventually expand this to include a slightly larger audience of other elementary-aged kids, utilizing microcontrollers with lots of blinking lights and buttons, all using Python – GitHub.

Bicycle powered CircuitPython – Twitter.

Hackulele is an open-source library to talk to a Populele’s Led matrix – GitHub.

EduBlocks has some great new branding, if you are supporting them on Patreon you can see a preview! – Patreon.

RelayKeys is a simple app/hardware solution to send keystrokes from one computer to another over Bluetooth LE. No software required on recipient machine – GitHub & forum post.

Snek update! SAMD21 USB Fixed on Windows 7. Snek on the Metro M0 Express board is now running great with all three operating systems – keithp.com

Generate and use stubs for different micropython firmwares to use with VScode and/or pylint – GitHub.

A new ESP32 datasheet (4/10/2019) is out! – PDF.

badge.team has MicroPython libraries and functions specific to the environment on badge.team badges. If you are a seasoned MicroPython coder and are familiar with badge development, this should provide the introduction you need – wiki.badge.team, GitHub & Twitter. There are also some scripts here.

Etch-A-Snap, the Raspberry Pi powered Etch-A-Sketch camera – Two Bit Arcade.

pybind11 is mainly focused on extending Python using C++, it’s also possible to do the reverse: embed the Python interpreter into a C++ program – pybind11.

Imaging, analysis, and simulation software for radio interferometry – GitHub.

Atom 1.36 released – Atom Blog.

Editor.js, next generation block styled editor. Free, returns clean data output in JSON – Editor.js

Giistr is a tool that help developers to quickly find a task which fit with their profile. The app display all the repositories you starred on GitHub and their issues in one view so you can apply filters and find an issue you are happy with – Giister.

The Ultimate Game Boy Talk by Michael Steil.

The 8-bit Game Boy was sold between 1989 and 2003, but its architecture more closely resembles machines from the early 1980s, like the Commodore 64 or the NES. This talk attempts to communicate “everything about the Game Boy” to the listener, including its internals and quirks, as well as the tricks that have been used by games and modern demos, reviving once more the spirit of times when programmers counted clock cycles and hardware limitations were seen as a challenge.

Machine Learning For Beginners – YouTube.

Lichee Pi Zero 1.2GHz Cortex-A7 512Mbit DDR Core Board Development Board Mini PC and translated docs.

The Python Software Newsletter has shipped! – Q1 newsletter.

Sunfish: a Python Chess Engine in 111 lines of code – GitHub.

Developer Survey Results, 2019 – Stack Overflow.

Python, the fastest-growing major programming language, has risen in the ranks of programming languages in our survey yet again, edging out Java this year and standing as the second most loved language (behind Rust)… For the seventh year in a row, JavaScript is the most commonly used programming language, but Python has risen in the ranks again. This year, Python just edged out Java in overall ranking, much like it surpassed C# last year and PHP the year before. Python is the fastest-growing major programming language today… Python is the most wanted language for the third year in a row, meaning that developers who do not yet use it say they want to learn it.

Calendar versioning for releases, this is kinda interesting – cockroachlabs.com.

GL-MT300N-V2 – Powered by MTK 7628NN 580Mhz SoC – gl-inet.com

IoT Inspector – An open-source desktop tool with a one-click install process, automatically discovers IoT devices and analyzes their network traffic, helps you identify security and privacy issues with graphs and tables – IoT Inspector.

adventurelib – easy text adventures. adventurelib provides basic functionality for writing text-based adventure games, with the aim of making it easy enough for young teenagers to do – GitHub, blog post, and Twitter.

#ICYDNCI What was the most popular, most clicked link, in last week’s newsletter? HackerBox #0041 – CircuitPython.

CircuitPython Weekly meeting recording for April 15th, 2019 on YouTube and on diode.zone

PyDev of the Week: Pierre Denis on Mouse vs Python

Made with Mu – Crossing the River by Feeling the Stones

An epic adventure in making stuff work – madewith.mu

Here’s a quick preview of Mu’s new “web developer” mode, which uses the Python “bottle” web framework as its basis – YouTube.

Coming soon

PyBadge running Jumper Wire – YouTube. More on Deshipu’s hackaday.io page.

PyBadge front, back, and PDF schematic.

PyBadge running Vacuum Invaders – YouTube. Also, check out State of PewPew for 2019-04-14 here.

Gizmo. Do not get wet, do not feed after midnight, avoid sunlight.

METRO NRF52840.

New Learn Guides!

Drama Pinata from Dano Wall

Prop-Maker Keyblade from Noe and Pedro

PyPortal Cutefuzz Image Viewer from John Park

Adafruit AirLift – ESP32 WiFi Co-Processor Breakout from Kattni

PyPortal LIFX Lighting Controller from Brent Rubell

Twin Peaks Light Reactive PyPortal Picture Frame from Liz Clark

PyPortal New New New Product Viewer from John Park

eInk FeatherWing Display Stand from Noe and Pedro

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 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 145!

New Libraries!

Here’s this week’s new CircuitPython libraries:

Updated 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:

Library Last Week Total
Adafruit-Blinka 2140 26578
Adafruit_CircuitPython_Register 369 3991
Adafruit_CircuitPython_NeoPixel 311 4107
Adafruit_CircuitPython_PCA9685 292 1948
Adafruit_CircuitPython_Motor 284 2339
Adafruit_CircuitPython_BusDevice 266 9612
Adafruit_CircuitPython_ServoKit 191 1627
Adafruit_CircuitPython_framebuf 160 606
Adafruit_CircuitPython_BME280 137 1656
Adafruit_CircuitPython_MotorKit 129 1790

Upcoming events!

Happening April 26th and 27th 2019 in Chicago IL, this will be the first and largest gathering of hardware developers using KiCad. Talks at the conference will span hardware design, revision control, scripting, manufacturing considerations, proper library management and getting started developing the underlying tools. All talks have been listed on the conference site. Additionally, there will be contests, roundtable discussions with the developers and hands-on demos to deepen knowledge of hardware design and using KiCad.

Is this a conference only for current users of KiCad? No! Attendees will learn general concepts around PCB design, hardware creation and developing products for the market. Attendees include hardware and software developers from around the world, including members of the core KiCad development team out of CERN in Switzerland.

Attend this unconventional conference to learn more about how to build your next hardware project using open source, extensible tools. Join industry figures (and sponsors) like Digikey, Adafruit, Supplyframe and Bantam Tools. Interact with manufacturing experts from OSHpark, Royal Circuits, Aisler and SnapEDA. Meet and get to know others in the hardware community, who regularly are creating new hardware for fun and profit – kicad-kicon.com

PyLadies Dublin, Tuesday, April 16, 2019. Hot off PyCon Limerick, Mick Twomey is back giving an updated talk from November about the history of Python Packaging and why pipenv is awesome. Vicky Twomey-Lee will have some Adafruit Circuit Playground Express and you can play around with them with CircuitPython – Meetup.

PyCon AU has recently announced their Call for Proposals.

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.

Scott will be leading a talk at the Python Language Summit, History of CircuitPython. The Python Language Summit is an event for the developers of Python implementations (CPython, PyPy, Jython, and so on) to share information, discuss our shared problems, and — hopefully — solve them – pycon.org/2019/events/language-summit

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.7. New to CircuitPython? Start with our Welcome to CircuitPython Guide.

20190414 is the latest CircuitPython library bundle.

v1.10 is the latest MicroPython release. Documentation for it is here.

3.7.3 is the latest Python release. The latest pre-release version is 3.8.0a3.

1141 Stars Like CircuitPython? Star it on GitHub!

circuitpython.org updates!

Downloads are now available from circuitpython.org! This site makes it much easier to select the correct file and language for your board. The downloads page is here. Here are the latest boards added! There are now 53 boards!

Updates:

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

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. Not sure how to use the jobs board? We now have a video! – YouTube.

11,719 thanks!

The Adafruit Discord community, where we do all our CircuitPython development in the open, reached over 11,719 humans, thank you! Join today! https://adafru.it/discord

Updates to awesome-circuitpython

We updated awesome-circuitpython, the comprehensive, curated collection of all things CircuitPython – GitHub.

This week we have updated the boards in the hardware list as well as additional news items.

ICYMI – In case you missed it

The wonderful world of Python on hardware! This is our video-newsletter-podcast! 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.