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

Python snakes its way to the CASIO Graphing fx-CG50 PRIZM calculator

CASIO’s Graphing – fx-CG50 PRIZM calculator is the second calculator that we know of that is running a port of MicroPython. The first one we saw was NumWorks, it runs MicroPython 1.9.1, the operating system is called epsilon. And now there are two, this may be a trend.

The CASIO Graphing fx-CG50 PRIZM calculator also runs MicroPython, a slightly different version, 1.9.4. The USA one, which is shipping, has MicroPython pre-installed, at least it was on mine, which is running the CASIO OS version 3.20.0202. On Twitter, we saw that CASIO Japan has an update that can be downloaded to add Python support for the Japanese version. On page y-1 of the manual, it has the license information for MicroPython (MIT license). On the MicroPython forums, it appears there is some discussion about the CASIO MicroPython port, although we’re not sure for which calculator (US or Japanese).

We tried to do “import uos” and that module is not supported, looks like just “math” and “random”.

Our favorite feature is going to Connection mode, USB Flash after plugging in the USB cable, and the CASIO storage shows up like a USB drive (like CircuitPython!) from there you can edit/save Python (.py) files for running on the calculator. The VID/PID is – idVendor: 0x07CF / idProduct: 0x6102, 0x0409: “CASIO MassStorage Device”

The chip appears to be a Renesas CPU. There are some CASIO hackers out there, while it’s unclear what is supported on this newer calc, these add-on utils worked.

Python is one of the most popular programming languages, and it’s now becoming a standard part of the educational experience, including Python on at least two calculators used for AP, SAT, SAT Subject, PSAT / NMSQT, ACT & IB testing.

Display the price of Bitcoin with CircuitPython using an Adafruit Feather

Display the price of Bitcoin with CircuitPython using an Adafruit Feather (Adafruit Feather M4 Express – Featuring ATSAMD51 – ATSAMD51 Cortex M4) and HUZZAH ESP8266 breakout, and an Adafruit 0.56” 4-Digit 7-Segment FeatherWing Display – Green. Video overview & GitHub.

Using LoraWAN and The Things Network with CircuitPython

Here’s how to build a small weather-logging node using an Adafruit Feather and a temperature sensor. The captured data will then be sent over LoRaWAN to The Things Network.

Using CircuitPython, you can get this project up and running on The Things Network quicker than ever. Also, since we’re using CircuitPython, this guide is compatible with Python Linux boards, like the Raspberry Pi family – learn.adafruit.com

Particle Mesh is here! CircuitPython runs on it 🙂

We have an alpha alpha alpha of CircuitPython running on the boards – you need a JLINK to replace the bootloader and we do not have wireless radio support yet, but NeoPixels, digital pins, and peripherals work. So at this time, it’s basically a very fast FEATHER. More to come – Adafruit.

News from around the web!

Gingerbread Merry-go-round Circuit Playground Express, Crickit, using CircuitPython, by Jo HighVoltage – Adafruit.

Adafruit NeoTrellis Pixel Image Drawing in CircuitPython, by Maker Melissa’s Lab – YouTube.

As we continue to do a bunch of work getting CircuitPython running on Linux and more, we made a set of desktops with Blinka & Tux, enjoy! – Flickr & the CircuitPython art folder.

More photos of the CircuitPython running Mini SAM – Development Board by @bwshockleyAdafruit.

Happy holidays and nice Blinka stocking from caitlinsdad – Twitter.

More snakes in stockings 🙂 – YouTube.

More progress on the custom Linux board based on the SAMA5D2 by Goguard, now running CircuitPython while playing Doom – Twitter.

Work in progress school project powered by CircuitPython, by Timothy Garcia – Twitter.

The “Final Exam” Box Prank using CircuitPython to play a sound when opened – Reddit.

“When Linux required installation parties. You can learn a lot from the open source community, but don’t forget to be respectful” – Opensource.com

Crossing the Streams with CircuitPython. Adafruit’s CircuitPython makes it way onto a SparkFun board by Alasdair Allan – Hackster.io

Progress on CircuitPython messages in more languages, here is a video of Spanish messages for CircuitPython, with some more updates coming soon – YouTube. We are always seeking help for more.

Platform detection with Linux on single-board computers. Python code for detecting the current hardware from Adafruit_Blinka and Adafruit_Python_GPIOp1k3.com

The #1 blog post on Adafruit’s blog for November, 2018 was “Time to say goodbye to @Arduino and go on to Micropython / @Adafruit #CircuitPython.” The video is now almost up to 200,000 views with over 1,000 comments.

We ordered a Sony Spresense board. We are not sure if we’ll have a port of CircuitPython for it, however, we are adding this to our collection of boards – Adafruit.

Speaking of calculators, here’s how to add a Raspberry Pi to the insides of a NumWorks calculator, post & video.

Micropython – Python para microcontroladores – Slideshare.

A “breakout” like game on the Kano Pixel Kit using MicroPython – YouTube.

The BPI bit (also referred to as BPI-bit, stylised as bpi:bit) is an ESP32 with 32-bit Xtensa LX6 dual-core processor based embedded system. It supports Webduino, Arduino, MicroPython as well as Scratch X programming environments – banana-pi.org

Micro:bit MicroPython: UART OBLOQ HTTP GET Request to Flask server – techtutorialsx.com

Here’s a project which makes a pointing device using MicroPython, part of the MicroPython Advent Calendar.

ESP32 + Raspberry Pi + Amazon Dash Button with MicroPython – hr-sano.net

rshell is a simple shell which runs on the host and uses MicroPython’s raw-REPL to send Python snippets to the pyboard in order to get filesystem information, and to copy files to and from MicroPython’s filesystem – GitHub.

Micropython-Editor is a small text editor written in Python running on PYBoard, WiPy 1, the pycom.io modules like WipPy 2, Lopy, SiPy, ESP8266 modules and teensy 3.5/3.6, allowing editing of files locally – GitHub.

micropython and OpenMV port to NXP MCUs – GitHub.

newt is a tiny Python-like language – keithp.com

Teaching and Learning with Jupyter: this handbook is for any educator teaching a topic that includes data analysis or computation in order to support learning. It is not just for educators teaching courses in engineering or science, but also data journalism, business and quantitative economics, data-based decision sciences and policy, quantitative health sciences, and digital humanities. It aims to provide an entry point and a broad overview of Jupyter in education – jupyter4edu.github.io

Mouse vs Python is one of our favorite Python sites. The author, Mike Driscoll, has interviews, post, books, resources and more – www.blog.pythonlibrary.org

Python library for exceptional text to speech – Tooling Tuesday.

Packaging Python Projects – Python.org

Improve your Python by fixing errors, small code samples that have errors in them. Initially, there is only one error and it is relatively easy to spot – GitHub.

video-to-ascii is Python package to play videos in the terminal using characters as pixels – GitHub.

FoxDot is an easy-to-use Python library that creates an interactive programming environment and talks to the powerful sound synthesis engine, called SuperCollider to make music – FoxDot.org

Creating A Simple Live Flight Tracking in Python – GEODOSE.

“More and more big companies are starting race/hackathons to teach deep learning, computer vision and robotics, including Amazon, Google, Mapbox and Arm. Here’s one that TrendMicro did in Taiwan with 2000 employees” Chris AndersonYouTube.

Buildroot is a simple, efficient and easy-to-use tool to generate embedded Linux systems through cross-compilation – Buildroot.

Microsoft Edge and Chromium Open Source – GitHub. Looks like WebBluetooth and WebUSB will be supported by Edge.

#ICYDNCI What was the most popular, most clicked link, in last week’s newsletter? SparkFun Pro nRF52840 Mini – Bluetooth Development Board.

CircuitPython Weekly for December 10, 2018 – YouTube

PyDev of the Week: Steve Dower from Mouse vs Python

Coming soon


New Learn Guides!

Launch Deck Trellis M4 from John Park

Interactive Map with Circuit Playground Express from Dano. Also, news from the future: giant spider heading to NYC!

CircuitPython on Linux and Orange Pi from Ladyada

Mu Keyboard Shortcut Cheat Sheets from Mike Barela

Adabox 010 from John Park

FlappyBird Game for NeoTrellisM4 in CircuitPython from Dave Astels

Using LoraWAN and The Things Network with CircuitPython from Brent Rubell

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 (CPython). We’ll be including the updates here so you can easily keep track of which sensors are ready to go. Check it out!

Adafruit Motor Shield v2

Adafruit DC and Stepper Motor Hat for Raspberry Pi

Adafruit Stepper + DC Motor Featherwing

Adafruit LSM9DS0 Accelerometer + Gyro + Magnetometer 9-DOF Breakouts

Adafruit LSM9DS1 Accelerometer + Gyro + Magnetometer 9-DOF Breakout

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

New Libraries!

Here’s this week’s new CircuitPython libraries:

Updated Libraries!

Here’s this week’s updated CircuitPython libraries:

Upcoming events!

May 2019 Cleveland, Ohio! 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 – PyCon.

CircuitPython Workshops: Chicago in December

Hackerspace Pumping Station: One has an embedded meetup every other Monday called Not Exclusively Raspberry Pi (NERP). NERP is hosting a CircuitPython workshop on 17 December 2018 starting at 7pm. This is a beginner level workshop using Circuit Playground Express to learn CircuitPython. Check out the meetup event for registration details.

CircuitPython Project Night is happening on 20 December 2018 from 6:30pm to 8:30pm in Chicago with the Chicago Area Python Users Group, ChiPy. It’s a beginner level workshop using Circuit Playground Express to learn CircuitPython. Seating is limited, so if you’re interested, registration is open.

Latest releases

CircuitPython’s stable release is 3.1.1 and its unstable release is 4.0.0-alpha.5. New to CircuitPython? Start with our Welcome to CircuitPython Guide.

20181208 is the latest CircuitPython library bundle.

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

3.7.1 is the latest Python release.

621 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.

jobs.adafruit.com – post your skills, or apply for that dream job

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. FEATURED JOB this week is: Lead Electrical Engineer – quip.

Join 9,255 makers on Discord!

The Adafruit Discord community where we do all our CircuitPython development in the open reached over 9,255 humans, thank you! Join today! 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’re trying out! The news comes from the Python community, discord, Adafruit communities and more. It’s part of the weekly newsletter here, then we have a segment on ASK an ENGINEER and this is the video slice from that! This video is a recap of last week’s newsletter. The complete Python on Hardware weekly VideoCast playlist is here.


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.