CircuitPython 6.2.0 Beta 1 Released, with Support for Raspberry Pi RP2040! @adafruit @circuitpython #RP2040 #RaspberryPiPico Copy

This is the second beta release of CircuitPython 6.2.0. This release, 6.2.0-beta.1, contains fixes and improvements, most notably for RP2040, ESP32-S2, and Spresense. See Port status below for details on port stability for each port, and Known issues for known problems. If you find any issues with this release, please file an issue.

Download from

Firmware downloads are available from the downloads page on The site makes it easy to select the correct file and language for your board.


To install follow the instructions in our new Welcome to CircuitPython! guide. To install the latest libraries, see this page in that guide.

Try the latest version of the Mu editor for creating and editing your CircuitPython programs and for easy access to the CircuitPython serial connection (the REPL).

Port status

CircuitPython has a number of “ports” that are the core implementation for a variety of microcontroller families. Stability varies on a per-port basis. As of this release, atmel-samd, nrf, and stm for the F4 family are stable. cxd56, esp32s2, raspberrypi, and stm for other STM chip families are being actively improved but may be missing functionality and have bugs. litex and mimxrt10xx are in an alpha state and will have bugs and missing functionality.

Changes since 6.2.0-beta.0

Fixes and enhancements

  • Re-enable native adafruit_bus_device, and enable it to support duck typing. #3936. Thanks @gamblor21.
  • EVE graphics library: change integer arguments to floating point, to match OpenGL. #4051. Thanks @jamesbowman.
  • Update protomatter library to support RGBMatrix tiling.. #4068. Thanks @jepler.

Board- and port-specific changes

  • ESP32-S2: Add initial displayio.ParallelBus support. #4047. Thanks @kmatch98.
  • Metro M4 Airlift Lite: Turn on EVE graphics library to support Gameduino 3X Dazzler. #4054. Thanks @dglaude.
  • raspberrypi:
    • Fix DigitalInOut.pull to return correct value. #4052. Thanks @tannewt.
    • Raise NotImplementedError when trying to use UART. #4071. Thanks @tannewt.
    • Add GP15 to available pins. #4063. Thanks @dhalbert.
  • Spresense: Update Spresense SDK and fix USB CDC after TinyUSB update. #4064. Thanks @kamtom48.

Build and infrastructure changes

  • Add CIRCUITPY_* switches for binascii, errno, json, and re. Update documentation about those modules. #4060. Thanks @dhalbert.


  • Update Design Guide for CO2 and eCO2 driver parameter names. #4070. Thanks @rpavlik.
  • Translation additions and improvements. Thanks:
    • @bergdahl (Swedish)
    • @hexthat (Chinese Pinyin)
    • @tawez (Polish)

New boards since 6.2.0-beta.0


Full commit log is here.

Breaking changes since 5.x

  • i2cslave is now i2cperipheral and the class in it is changed as well.
  • The stop kwarg has been removed from I2C.writeto(). If no stop is desired, then use writeto_then_readfrom.
  • The default speed of busio.I2C and board.I2C is now 100khz, not 400khz as before. Use busio.I2C to set the speed explicitly. #3471 Thanks @caternuson, @ladyada, @hierophect and @tannewt.
  • _bleio.ConnectionError has be removed. Code will now raise the native ConnectionError instead.

Known issues

  • ESP32-S2: Crash when repeatedly creating and destroying busio.I2C object on ESP32-S2. #3846.
  • Writing several larger files to CIRCUITPY when there is no serial connection to the board can take a long time or hang. To speed up copying, open a serial (REPL) connection. #3986.
  • See for other issues.


Thank you to all who used, tested, and contributed since 6.2.0-beta.0, including @bergdahl, @dglaude, @dhalbert, @gamblor21, @hexthat, @hierophect, @jamesbowman, @jepler, @kamtom480, @kmatch98, @ladyada, @rpavlik, @tannewt, @tawez, and many others on GitHub and Discord. Join us on the Discord chat to collaborate.


Documentation is available in

This release is based on MicroPython 1.9.4 @25ae98f. Support upstream MicroPython by purchasing a PyBoard (from Adafruit here) or sponsoring MicroPython on GitHub.


One important feature of CircuitPython is translated control and error messages. With the help of fellow open source project Weblate, we’re making it even easier to add or improve translations. Sign in with an existing account such as Github, Google or Facebook and start contributing through a simple web interface. No forks or pull requests needed!


Check out this guide for info on common problems with CircuitPython. If you are still having issues, then post to the Adafruit Support Forums and join Discord.


Builds are no longer stored as assets on this release page, because there are too many of them. Please see the Download from section above.

Read more »

Linkdump: October 2020

model airplane sitting on map next to sprue card of model parts

Read more »

App note: Digital inrush controller

App note from IXYS about their unique digital inrush controller using Zilog’s 8-bit Z8F3281 MCU. Link here (PDF)

Digital control allows distinctive solutions to control inrush current in typical AC-DC rectifier with capacitive load by limiting capacitor pre-charge current to a predetermined value at each half sine-wave cycle. Capacitor charge is spread over a number of cycles until capacitor is charged proportion of peak value of AC voltage source. Capacitor is charged according to timedependent pulse train. The pulses are designed in a way to provide substantially equal voltage increment applied to capacitor to keep peak of charging current about the same value at each cycle. Number of cycles depends on capacitor value and charge current. For a given capacitor value which is selected depending on desired ripples amplitude, the charge current is a function of number of pulses and its timing position with respect to rectified sine wave. Detailed algorithm of creating pulse train for Digital Inrush Control is described in the Principles of Operation section.

Read more »

This Arduino-based speed bag counts your punches

Creator DuctTapeMechanic loves sports and electronics, so for a recent project he decided to combine his two passions by hacking a speed bag to keep track of his punches.

As shown in the video below, the first step was to get it physically set up, modding an old metal bed frame into a support structure. He also added a recessed NPN capacitive sensor to pick up when the bag hits the back of the platform.

The sensor sends “hit” signals to an Arduino Uno via a PC817 optocoupler. The board then counts punches and displays the number of hits on an LCD screen mounted just above eye level.

Whether it’s competing with friends or simply improving your boxing skills, DuctTapeMechanic’s system looks like a fun one to build yourself!

Read more »

Supporting teachers and students with remote learning through free video lessons

Working with Oak National Academy, we’ve turned the materials from our Teach Computing Curriculum into more than 300 free, curriculum-mapped video lessons for remote learning.

A girl in a hijab learning at home at a laptop

A comprehensive set of free classroom materials

One of our biggest projects for teachers that we’ve worked on over the past two years is the Teach Computing Curriculum: a comprehensive set of free computing classroom materials for key stages 1 to 4 (learners aged 5 to 16). The materials comprise lesson plans, homework, progression mapping, and assessment materials. We’ve created these as part of the National Centre for Computing Education, but they are freely available for educators all over the world to download and use.

More than 300 free, curriculum-mapped video lessons

In the second half of 2020, in response to school closures, our team of experienced teachers produced over 100 hours of video to transform Teach Computing Curriculum materials into video lessons for learning at home. They are freely available for parents, educators, and learners to continue learning computing at home, wherever you are in the world.

Here’s the start of lesson 2 in the Year 8 ‘Computer systems’ unit

You’ll find our videos for more than 300 hour-long lessons on the Oak National Academy website. The progression of the lessons is mapped out clearly, and the videos cover England’s computing national curriculum. There are video lessons for:

  • Years 5 and 6 at key stage 2 (ages 7 to 11)
  • Years 7, 8, and 9 at key stage 3 (ages 11 to 14)
  • Examined (GCSE) as well as non-examined (Digital Literacy) at key stage 4 (ages 14 to 16)

To access the full set of classroom materials for teaching, visit the National Centre for Computing Education website.

The post Supporting teachers and students with remote learning through free video lessons appeared first on Raspberry Pi.

Read more »

Get VMware on Raspberry Pi

Hacking apart a sweet, innocent Raspberry Pi – who would do such a thing? Network Chuck, that’s who. But he has a very cool reason for it so, we’ll let him off the hook.

Subscribe to Network Chuck on YouTube

He’s figured out how to install VMware ESXi on Raspberry Pi, and he’s sharing the step-by-step process with you because he loves you. And us. We think. We hope.

Get cutting

In a nutshell, Chuck “hacks” apart a Raspberry Pi to show you how it can operate as three separate computers, each running different software at the same time. He’s a wizard.

Our poor sweet baby ?

VMware is cool because it’s Virtual Machine software big companies use on huge servers, but you can deploy it on one of our tiny devices and learn how to use it in the comfort of your own home if you follow Chuck’s instructions.

Raspberry Pi cut into three pieces with labels showing how powerful each bit is and what it's capable of
Useful labels explaining which bit of Raspberry Pi is capable of what

What do you need?

Make sure you’re up to date

So easy, it only takes 40 seconds to explain

Firstly, you need to make sure you’re running the latest version of Raspberry Pi OS. Chuck uses Raspberry Pi Imager to do this, and the video above shows you how to do the same.

Format your SD card

Network Chuck removing SD card from Raspberry Pi 4
It’s teeny, but powerful

Then you’ll need to format your SD card ready for VMware ESXi. This can be done with Raspberry Pi Imager too. You’ll need to download these two things:

Chuck is the kind of good egg who walks you through how to do this on screen at this point in the project video.

VMware installation

Then you’ll need to create the VMWare Installer to install the actual software. It’s at this point your USB flash drive takes centre stage. Here’s everything you’ll need:

And this is the point in the video at which Chuck walks you through the process.

Once that’s all done, stick your USB flash drive into your Raspberry Pi and get going. You need to be quick off the mark for this bit – there’s some urgent Escape key pressing required, but don’t worry, Chuck walks you through everything.

Create a VM and expand your storage

Once you’ve followed all those steps, you will be up, running, and ready to go. The installation process only takes up the first 15 minutes of Chuck’s project video, and he spends the rest of his time walking you through creating your first VM and adding more storage.

Top job, Chuck.

Keep up with Chuck

Network Chuck holding a Raspberry Pi 4 next to his broadcasting microphone
Fun fact: Raspberry Pi 4 is the same length as Network Chuck’s beard

Network Chuck live-streams every Monday on his YouTube channel, and you can follow him on Twitter too.

There’s also the brilliant

The post Get VMware on Raspberry Pi appeared first on Raspberry Pi.

Read more »

The AxiDraw MiniKit 2

AxiDraw MiniKit 2

Today we are introducing a major refresh of the smallest member of the AxiDraw family of pen plotters: the new AxiDraw MiniKit 2. The AxiDraw MiniKit 2 is our special compact DIY-kit version of the AxiDraw lineup.

AxiDraw MiniKit 2

Versus the original AxiDraw MiniKit, the MiniKit 2 has been redesigned for easier assembly, better precision, and higher performance. The key change is that the long linear rail that forms the base of the machine — a custom aluminum extrusion in the original — has been replaced with a solid bar of 6061-T6 aluminum, machined in the same precision process as our top-of-the-line AxiDraw SE/A3, and then anodized to a satin-silver finish. This change simplifies a number of the assembly steps, but more importantly has a cleaner overall look and tighter manufacturing tolerances for improved precision.

AxiDraw MiniKit
In addition to be being “Mini”, the MiniKit 2 is also still a kit.

Unlike other models of the AxiDraw family like AxiDraw V3 and AxiDraw SE/A3 (which come assembled, tested, and ready to use), the AxiDraw MiniKit 2 is a machine that you assemble yourself.

We’ve taken great care in designing a kit that is rewarding to build, own, and use.

AxiDraw MiniKit

The new version is also heavier than the old one, which helps it to stay stable on your desk at higher speeds and gives it a small boost in effective speed, in addition to the upgrades in precision. Small but sturdy, The MiniKit 2 is built with machined parts, just one custom aluminum extrusion now, attention to detail, and care.

Read more »

Detect problems with your Arduino projects

This article was written by Per Tillisch, Tooling Team SW Engineer at Arduino.

The Arduino team created a tool to check Arduino projects for common problems. Arduino Lint runs over 175 checks on your sketches, libraries, and boards platforms which cover specification compliance, Library Manager submission requirements, and best practices.

Arduino Lint

Arduino Lint is an easy-to-use, yet powerful, command line tool. Its focus is on the structure, metadata, and configuration of Arduino projects, rather than the code.

Getting started

Follow the installation instructions to get ready to use Arduino Lint:

Now you only need to open a terminal at your project folder and run the command: arduino-lint

This will automatically detect the project type and check it against the relevant rules.

The default configuration of Arduino Lint provides for the most common use cases, while offering the option to change settings via command line flags.


Compliance setting

The --compliance flag allows you to configure the strictness of the applied rules. The three compliance level values accepted by this flag are:

  • permissive – failure will occur only when severe rule violations are found. Although a project that passes at the permissive setting will work with the current Arduino development software versions, it may not be fully specification-compliant, risking incompatibility or a poor experience for the users.
  • specification –  the default setting, enforces compliance with the official Arduino project specifications (sketch, library, platform).
  • strict – enforces best practices, above and beyond the minimum requirements for specification compliance. Use this setting to ensure the best experience for the users of the project.

Library Manager setting

Arduino Library Manager is the best way to provide installation and updates of Arduino libraries. In order to be accepted for inclusion in Library Manager, a library is required to meet some requirements.

Arduino Lint provides checks for these requirements as well, controlled by the --library-manager flag.

The Library Manager submission-specific rules are enabled via --library-manager submit.

Even if your library isn’t yet ready to be added to Library Manager, it’s a good idea to use this setting to ensure no incompatibilities are introduced.

Once your library is in the Library Manager index, each release is automatically picked up and made available to the Arduino community. Releases are also subject to special rules. The command arduino-lint --library-manager update will tell you whether your library is compliant with these rules.


The --format flag configures the format of arduino-lint‘s output. The default --format text setting provides human readable output. For automation or integration with other tools, the machine readable output provided by --format json may be more convenient. This setting exposes every detail of the rules that were applied.

The --report-file flag causes arduino-lint to write the JSON output to the specified file.

Continuous integration

Arduino Lint would be a great addition to your continuous integration system. Running the tool after each change to the project can allow you to identify any problems that were introduced.

This is easily done by using the arduino/arduino-lint-action GitHub Actions action:

Add a simple workflow file to the repository of your Arduino project and GitHub will automatically run Arduino Lint on every pull request and push.

Give it a try!

Will your project get a passing grade from Arduino Lint? There’s only one way to find out…

Support and feedback

You can discuss or get assistance with using Arduino Lint on the Arduino Forum.

Feedback is welcome! Please submit feature requests or bug reports to the issue trackers:

Read more »

Face Surveillance and the Capitol Attack

After last week’s violent attack on the Capitol, law enforcement is working overtime to identify the perpetrators. This is critical to accountability for the attempted insurrection. Law enforcement has many, many tools at their disposal to do this, especially given the very public nature of most of the organizing. But we object to one method reportedly being used to determine who was involved: law enforcement using facial recognition technologies to compare photos of unidentified individuals from the Capitol attack to databases of photos of known individuals. There are just too many risks and problems in this approach, both technically and legally, to justify its use. 

Government use of facial recognition crosses a bright red line, and we should not normalize its use, even during a national tragedy.

EFF Opposes Government Use of Face Recognition

Make no mistake: the attack on the Capitol can and should be investigated by law enforcement. The attackers’ use of public social media to both prepare and document their actions will make the job easier than it otherwise might be.  

But a ban on all government use of face recognition, including its use by law enforcement, remains a necessary precaution to protect us from this dangerous and easily misused technology. This includes a ban on government’s use of information obtained by other government actors and by third-party services through face recognition.

One such service is Clearview AI, which allows law enforcement officers to upload a photo of an unidentified person and, allegedly, get back publicly-posted photos of that person. Clearview has reportedly seen a huge increase in usage since the attack. Yet the faceprints in Clearview’s database were collected, without consent, from millions of unsuspecting users across the web, from places like Facebook, YouTube, and Venmo, along with links to where those photos were posted on the Internet. This means that police are comparing images of the rioters to those of many millions of individuals who were never involved—probably including yours. 

EFF opposes law enforcement use of Clearview, and has filed an amicus brief against it in a suit brought by the ACLU. The suit correctly alleges the company’s faceprinting without consent violates the Illinois Biometric Information Privacy Act (BIPA). 

Separately, police tracking down the Capitol attackers are likely using government-controlled databases, such as those maintained by state DMVs, for face recognition purposes. We also oppose this use of face recognition technology, which matches images collected during nearly universal practices like applying for a driver’s license. Most individuals require government-issued identification or a license but have no ability to opt out of such face surveillance. 

Face Recognition Impacts Everyone, Not Only Those Charged With Crimes 

The number of people affected by government use of face recognition is staggering: from DMV databases alone, roughly two-thirds of the population of the U.S. is at risk of image surveillance and misidentification, with no choice to opt out. Further, Clearview has extracted faceprints from over 3 billion people. This is not a question of “what happens if face recognition is used against you?” It is a question of how many times law enforcement has already done so. 

For many of the same reasons, EFF also opposes government identification of those at the Capitol by means of dragnet searches of cell phone records of everyone present. Such searches have many problems, from the fact that users are often not actually where records indicate they are, to this tactic’s history of falsely implicating innocent people. The Fourth Amendment was written specifically to prevent these kinds of overbroad searches.

Government Use of Facial Recognition Would Chill Protected Protest Activity

Facial surveillance technology allows police to track people not only after the fact but also in real time, including at lawful political protests. Police repeatedly used this same technology to arrest people who participated in last year’s Black Lives Matter protests. Its normalization and widespread use by the government would fundamentally change the society in which we live. It will, for example, chill and deter people from exercising their First Amendment-protected rights to speak, peacefully assemble, and associate with others. 

Countless studies have shown that when people think the government is watching them, they alter their behavior to try to avoid scrutiny. And this burden historically falls disproportionately on communities of color, immigrants, religious minorities, and other marginalized groups.

Face surveillance technology is also prone to error and has already implicated multiple people for crimes they did not commit

Government use of facial recognition crosses a bright red line, and we should not normalize its use, even during a national tragedy. In responding to this unprecedented event, we must thoughtfully consider not just the unexpected ramifications that any new legislation could have, but the hazards posed by surveillance techniques like facial recognition. This technology poses a profound threat to personal privacy, racial justice, political and religious expression, and the fundamental freedom to go about our lives without having our movements and associations covertly monitored and analyzed.


Read more »

Get Your FPGA Fix

Hello everyone - we have quite a few new products to talk about today and it all starts with two new Alchitry FPGA boards. The Alchitry Au+ and Ft Element add new options for those of you wanting to get started with FPGA or collect a more powerful option if you feel comfortable with the platform. Also, we have a new line of upgraded, flexible Qwiic cables. We do plan to transition to these cables in the future so make sure to check those out! We end the day with a new 10A battery pack. Let's jump in and take a closer look!

What's better than Gold? Gold Plus!

Alchitry Au+ FPGA Development Board (Xilinx Artix 7)

added to your cart!

Alchitry Au+ FPGA Development Board (Xilinx Artix 7)

In stock DEV-17514

The Alchitry Au+ is the gold standard for FPGA development boards and it's possibly one of the strongest boards of its type o…

$199.95 $193.00

The Alchitry Au+ is the "gold" standard for FPGA development boards and it's possibly one of the strongest boards of its type on the market. The Au+ substitutes a more robust and scalable FPGA chip (Xilinx XC7A100T) that allows for more complex application circuits. The number of configurable logic blocks (LABs/CLBs), Logic Elements, and total RAM bits are all nearly three times those of the standard Au; see "Features" for more details.

Alchitry Ft Element Board

added to your cart!

Alchitry Ft Element Board

In stock DEV-17526

The Alchitry Ft Element Board adds USB 3.0 200MB/s high speed interface to your Alchitry board stack via the USB-C connector.


The Alchitry Ft Element is equipped with four 50-pin board-to-board connectors on the underside and top of the board that snap to the Alchitry Au and Au+ boards. It also adds a USB 3.0 200 MB/s high speed interface to your Alchitry board stack via the USB-C connector.

Flexible Qwiic Cable - Female Jumper (4-pin)

added to your cart!

Flexible Qwiic Cable - Female Jumper (4-pin)

In stock CAB-17261

This polarized I2C cable insulation is made from silicon making it more flexible than our original Qwiic cable particularly i…

Flexible Qwiic Cable - 50mm

added to your cart!

Flexible Qwiic Cable - 50mm

In stock PRT-17260

This polarized I2C cable insulation is made from silicon making it more flexible than our original Qwiic cable particularly i…

Flexible Qwiic Cable - 100mm

added to your cart!

Flexible Qwiic Cable - 100mm

In stock PRT-17259

This polarized I2C cable insulation is made from silicon making it more flexible than our original Qwiic cable particularly i…

Flexible Qwiic Cable - 200mm

added to your cart!

Flexible Qwiic Cable - 200mm

In stock PRT-17258

This polarized I2C cable insulation is made from silicon making it more flexible than our original Qwiic cable particularly i…

Flexible Qwiic Cable - 500mm

added to your cart!

Flexible Qwiic Cable - 500mm

In stock PRT-17257

This polarized I2C cable insulation is made from silicon making it more flexible than our original Qwiic cable particularly i…


These are our new Flexible Qwiic Cables, designed to connect Qwiic enabled components together but able to be used for other applications as well. The cable insulation is made from silicon, making it more flexible than our original cables, particularly in tight spaces or enclosures. We currently offer these cables in a 4-pin female terminated jumper as well as Qwiic-to-Qwiic terminated connectors in 50 mm, 100 mm, 200 mm, and 500 mm lengths.

Lithium Ion Battery Pack - 10Ah (3A/1A USB Ports)

added to your cart!

Lithium Ion Battery Pack - 10Ah (3A/1A USB Ports)

In stock PRT-15593

10Ah capacity & multiple USB options make this a great option for mobile USB power on your next project.


This is the same 10Ah battery pack that provides power to the SparkFun Jetbot! The multiple USB options for charging and discharging, along with a simple capacity indicator and power button, make this a great option for mobile USB power on your next project.

That's it for this week! As always, we can't wait to see what you make! Shoot us a tweet @sparkfun, or let us know on Instagram or Facebook. We’d love to see what projects you’ve made! Please be safe out there, be kind to one another, and we'll see you next week!

Never miss a new product!

hbspt.forms.create( portalId: "2224003", formId: "e963ae12-71f6-46d7-bb00-126dbfef8636" );

comments | comment feed

Read more »