HackSpace Magazine Issue 56: CircuitPython and NeoPixels #CircuitPython #RaspberryPiPico @HackSpaceMag

HackSpace Magazine — Issue 56 features an article on CircuitPython sequences and adding brightness to NeoPixels – learn to use Python’s dunder methods to add new features to your classes.

In CircuitPython, PIO State Machines have a new feature: background_write. This is a way of creating a set of data that will then be sent to a PIO program in the background (either once or in a loop). This means that, if you’ve got a lot of data to send (or need to send it continuously), you don’t have to wait around for it to finish sending. As soon as you issue this instruction, the system will start the transfer, and then return control of the processor back to the program so your code will continue to run while the data CircuitPython sequences and adding brightness to NeoPixels transfers.

It’s not as fully featured as the DMA control that you can get if you program in C, but it is easy to use and works well in many use-cases. Let’s take a look at one great  application for this. Regular readers will know that we’re big fans of WS2812B LEDs – sometimes known as NeoPixels. However, one problem is that although they have 24-bit colour, there is no gamma correction. This means that the 8 bits per colour channel is spread evenly through the colour range, and there are very few brightness levels available at the low end.

There is a way around this – dithering. Basically, this means flicking between different brightness levels very quickly. Let’s take a look at how to do this. Along the way we’ll look at Python sequences – this is the mechanism that lets us create list-like objects.

Read more on pages 68-71download PDFbuy nowsubscribe.


Stop breadboarding and soldering – start making immediately! Adafruit’s Circuit Playground is jam-packed with LEDs, sensors, buttons, alligator clip pads and more. Build projects with Circuit Playground in a few minutes with the drag-and-drop MakeCode programming site, learn computer science using the CS Discoveries class on code.org, jump into CircuitPython to learn Python and hardware together, TinyGO, or even use the Arduino IDE. Circuit Playground Express is the newest and best Circuit Playground board, with support for CircuitPython, MakeCode, and Arduino. It has a powerful processor, 10 NeoPixels, mini speaker, InfraRed receive and transmit, two buttons, a switch, 14 alligator clip pads, and lots of sensors: capacitive touch, IR proximity, temperature, light, motion and sound. A whole wide world of electronics and coding is waiting for you, and it fits in the palm of your hand.

Join 32,000+ makers on Adafruit’s Discord channels and be part of the community! http://adafru.it/discord

Have an amazing project to share? The Electronics Show and Tell is every Wednesday at 7pm ET! To join, head over to YouTube and check out the show’s live chat – we’ll post the link there.

Join us every Wednesday night at 8pm ET for Ask an Engineer!

Follow Adafruit on Instagram for top secret new products, behinds the scenes and more https://www.instagram.com/adafruit/

CircuitPython – The easiest way to program microcontrollers – CircuitPython.org


Maker Business — A paradigm shift

Wearables — Look sharp with this quick tip!

Electronics — Straw Diffusers

Python for Microcontrollers — Python on Microcontrollers Newsletter: MicroPython 1.19 released and more! #Python #CircuitPython @micropython @ThePSF

Adafruit IoT Monthly — eInk Postcard, VR Spectrum Instrumentation, and more!

Microsoft MakeCode — MakeCode Thank You!

EYE on NPI — Maxim’s Himalaya uSLIC Step-Down Power Module #EyeOnNPI @maximintegrated @digikey

New Products – Adafruit Industries – Makers, hackers, artists, designers and engineers! — JP’s Product Pick of the Week 6/21/22 TSC2007 Touch Screen Controller @adafruit @johnedgarpark #adafruit #newproductpick

Get the only spam-free daily newsletter about wearables, running a "maker business", electronic tips and more! Subscribe at AdafruitDaily.com !



No Comments

No comments yet.


Leave a comment

Adafruit has a "be excellent to each other" comment policy. Help us keep the community here positive and helpful. Stick to the topic, be respectful of makers of all ages and skill levels. Be kind, and don't spam - Thank you!

Prove you are human by reading this resistor:

0Ω+/- 5%

0
0
1
2
3
4
5
6
7
8
9

0
0
1
2
3
4
5
6
7
8
9

0
0
1
2
3
4
5
6
7
8
9

5
5
10

Prove you are human by reading this resistor:


Click/tap drag the number in the circle of each slider on the left to the matching color band on the resistor.

Can't view resistor colors? Don't worry! Just type your comment and hit submit without moving the sliders. Our moderators will review and approve in a jiffy.

Click Here for a new resistor image.

New to electronics? Click here to learn how to read resistor values.

Or learn to read resistors by playing Mho's Resistance!