Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
MicroPython Cookbook
MicroPython Cookbook

MicroPython Cookbook: Over 110 practical recipes for programming embedded systems and microcontrollers with Python

eBook
€26.99
Paperback
€32.99
Subscription
Free Trial
Renews at €18.99p/m

What do you get with Print?

Product feature icon Instant access to your digital eBook copy whilst your Print order is Shipped
Product feature icon Paperback book shipped to your preferred address
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Product feature icon AI Assistant (beta) to help accelerate your learning
Table of content icon View table of contents Preview book icon Preview Book

MicroPython Cookbook

Controlling LEDs

In this chapter, we will introduce several methods of controlling the range of NeoPixel LEDs that come with the Adafruit Circuit Playground Express. In these recipes, we will examine various ways of setting the colors of the pixels, each with its own trade-off.

We will also demonstrate how to time operations so that fades and other light animation effects can be created. NeoPixels are a powerful way of allowing a richer visual interaction with your projects. These recipes will provide you with the necessary building blocks to incorporate these visual concepts into your own projects.

In this chapter, we will cover the following recipes:

  • Turning on the pin 13 LED
  • Setting the brightness of the NeoPixel
  • Controlling the color of a single NeoPixel
  • Displaying an LED color using the RGB and hex code
  • Setting an LED color using color names
  • Setting all NeoPixels to the...

The Adafruit Circuit Playground Express layout

The following diagram shows the locations of the LEDs that will be used in this chapter:

Courtesy of adafruit.com

The pin 13 LED is a simple single red LED that will be used in the first recipe. There are a total of 10 NeoPixels on the board. Each NeoPixel is made up of a red, green, and blue LED. By controlling the individual brightness of each of these LEDs, you will be able to set any NeoPixel to a specific color.

Turning on the pin 13 LED

In this recipe, we will learn how to turn the pin 13 LED on and off. This is the simplest LED available on the board as it has only one color, and interacting with it in Python is also very straightforward. For these reasons, the pin 13 LED is a good starting point.

Getting ready

You will need access to the REPL on the Circuit Playground Express to run the code presented in this recipe.

How to do it...

To do this, perform the following steps:

  1. Run the following lines of code in the REPL:
>>> from adafruit_circuitplayground.express import...

Setting the brightness of the NeoPixel

Controlling the brightness of the pixels will be the theme of this recipe. It is important to be able to set the brightness of the pixels depending on the need of the project. Note that you will have to change the brightness to a level that is bright enough so that the pixels are clearly visible, but not so bright that it causes discomfort.

Getting ready

You will need access to the REPL on the Circuit Playground Express to run the code presented in this recipe.

How to do it...

To do this, perform the following steps:

  1. Run the following...

Controlling the color of a single NeoPixel

This recipe will show you how to set the a specific NeoPixel to different colors. It will then show you how to change the color of any of the 10 NeoPixels that come with the board. This will be a useful recipe to follow so that you can start unleashing the power and flexibility of these onboard pixels.

Getting ready

You will need access to the REPL on the Circuit Playground Express to run the code presented in this recipe.

How to do it...

To do this, perform the following steps:

  1. Run the following lines of code in the REPL:
...

Displaying an LED color using the RGB and hex code

There is a common convention to express any color using the hex code, which works by representing the red, green, and blue components of the color. This recipe demonstrates how to set the color of a NeoPixel using this hex code convention. Using such a popular convention will be useful when you want to apply specific color settings from other applications on the web or your desktop.

Getting ready

You will need access to the REPL on the Circuit Playground Express to run the code presented in this recipe.

How to do it...

...

Setting an LED color using color names

Using human-readable color names can make it much easier to keep track of what colors are in use in your application. This recipe demonstrates a technique that allows you to set pixel colors using regular color names. This feature of referring to colors by a standard set of color names is available in popular languages, including CSS. This recipe shows you how to bring this feature to your MicroPython scripts.

Getting ready

You will need access to the REPL on the Circuit Playground Express to run the code presented in this recipe.

How to do it...

...

Setting all NeoPixels to the same color

This recipe explains how you can set all the pixels to one color through a single call, instead of looping through all the NeoPixels and setting their colors individually. You can use this technique to create a nice effect to set all 10 NeoPixels to the same color. They are arranged in a perfect circle, so it creates a ring of color when they are all set to the same color. It is also an easy way to turn all the NeoPixels off in one call.

Getting ready

You will need access to the REPL on the Circuit Playground Express to run the code presented in this recipe.

How to do it...

...

Setting a range of NeoPixels to one color

This recipe will explore how the slicing feature can be used to set a specific range of pixels to a specific color. This can be quite useful when you want to turn the ring of pixels into a gauge to show the level of a value from 1 to 10. Essentially, it provides a clearer and simpler way of setting a range of pixels to a particular color.

Getting ready

You will need access to the REPL on the Circuit Playground Express to run the code presented in this recipe.

How to do it...

To do this, perform the following steps:

  1. Run the following...

Generating random NeoPixel LED colors

This recipe demonstrates a technique that can be used to endlessly generate random colors. We will then use these random colors on a specific NeoPixel. Adding randomness to the color section can make projects more interesting, as you can never predict the exact sequence of colors that will appear as your script executes.

Getting ready

You will need access to the REPL on the Circuit Playground Express to run the code presented in this recipe.

How to do it...

To do this, perform the following steps:

  1. Run the following lines of code in...

Creating LED animations with random colors

This recipe will combine some aspects of the previous recipes in this chapter to create an animation using randomly selected colors. This recipe builds on the techniques of other recipes to create your first animation. With 10 pixels on the board, there are a lot of options for creating engaging visual animations on the board—this is just one of those.

Getting ready

You will need access to the REPL on the Circuit Playground Express to run the code presented in this recipe.

How to do it...

To do this, perform the following...

Creating LED animations with rainbow colors

This recipe will produce a ring of colors following the same sequence of colors found in a rainbow. These colors will each appear after a certain delay, creating a rainbow animation effect. Using a sequence of colors that naturally fits together, like the ones found in the rainbow, can be both pleasing and engaging. The strength of this animation is in learning how to control the exact sequence of colors being animated, whether they be in a rainbow sequence or another sequence of your choosing.

Getting ready

You will need access to the REPL on the Circuit Playground Express to run the code presented in this recipe.

...
Left arrow icon Right arrow icon
Download code icon Download Code

Key benefits

  • Load and execute your first program with MicroPython
  • Program an IoT device to retrieve weather data using a RESTful API
  • Get to grips with integrating hardware, programming, and networking concepts with MicroPython

Description

MicroPython is an open source implementation of Python 3 that runs in embedded environments. With MicroPython, you can write clean and simple Python code to control hardware instead of using complex low-level languages such as C and C++. This book guides you through all the major applications of the MicroPython platform to build and program projects that use microcontrollers. This MicroPython book covers recipes that will help you experiment with the programming environment and hardware programmed in MicroPython. You'll find tips and techniques for building a variety of objects and prototypes that can sense and respond to touch, sound, position, heat, and light. This book will take you through the uses of MicroPython with a variety of popular input devices and sensors. You'll learn techniques to handle time delays and sensor readings, and apply advanced coding techniques to create complex projects. As you advance, you'll deal with Internet of Things (IoT) devices and integration with other online web services. In addition to this, you'll use MicroPython to make music with bananas and create portable multiplayer video games that incorporate sound and light animations into the gameplay. By the end of this book, you'll have mastered the tips and tricks to troubleshoot your development problems and take your MicroPython project to the next level.

Who is this book for?

If you want to build and program projects that use microcontrollers, this book will offer you dozens of recipes to guide you through all the major applications of the MicroPython platform. Although no knowledge of MicroPython or microcontrollers is expected, a general understanding of Python is necessary to get started with this book.

What you will learn

  • Execute code without any need for compiling or uploading using REPL (read-evaluate-print-loop)
  • Program and control LED matrix and NeoPixel drivers to display patterns and colors
  • Build projects that make use of light, temperature, and touch sensors
  • Configure devices to create Wi-Fi access points and use network modules to scan and connect to existing networks
  • Use Pulse width modulation to control DC motors and servos
  • Build an IoT device to display live weather data from the internet at the touch of a button
Estimated delivery fee Deliver to Malta

Premium delivery 7 - 10 business days

€32.95
(Includes tracking information)

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : May 21, 2019
Length: 452 pages
Edition : 1st
Language : English
ISBN-13 : 9781838649951
Category :
Languages :

What do you get with Print?

Product feature icon Instant access to your digital eBook copy whilst your Print order is Shipped
Product feature icon Paperback book shipped to your preferred address
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Product feature icon AI Assistant (beta) to help accelerate your learning
Estimated delivery fee Deliver to Malta

Premium delivery 7 - 10 business days

€32.95
(Includes tracking information)

Product Details

Publication date : May 21, 2019
Length: 452 pages
Edition : 1st
Language : English
ISBN-13 : 9781838649951
Category :
Languages :

Packt Subscriptions

See our plans and pricing
Modal Close icon
€18.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
€189.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
Feature tick icon Exclusive print discounts
€264.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total 90.97
MicroPython Projects
€32.99
Internet of Things Projects with ESP32
€24.99
MicroPython Cookbook
€32.99
Total 90.97 Stars icon

Table of Contents

16 Chapters
Getting started with MicroPython Chevron down icon Chevron up icon
Controlling LEDs Chevron down icon Chevron up icon
Creating Sound and Music Chevron down icon Chevron up icon
Interacting with Buttons Chevron down icon Chevron up icon
Reading Sensor Data Chevron down icon Chevron up icon
Button Bash Game Chevron down icon Chevron up icon
Fruity Tunes Chevron down icon Chevron up icon
Let's Move It, Move It Chevron down icon Chevron up icon
Coding on the micro:bit Chevron down icon Chevron up icon
Controlling the ESP8266 Chevron down icon Chevron up icon
Interacting with the Filesystem Chevron down icon Chevron up icon
Networking Chevron down icon Chevron up icon
Interacting with the Adafruit FeatherWing OLED Chevron down icon Chevron up icon
Building an Internet of Things (IoT) Weather Machine Chevron down icon Chevron up icon
Coding on the Adafruit HalloWing Microcontroller Chevron down icon Chevron up icon
Other Books You May Enjoy Chevron down icon Chevron up icon

Customer reviews

Top Reviews
Rating distribution
Full star icon Full star icon Full star icon Empty star icon Empty star icon 3
(8 Ratings)
5 star 12.5%
4 star 25%
3 star 25%
2 star 25%
1 star 12.5%
Filter icon Filter
Top Reviews

Filter reviews by




Kindle Customer Mar 06, 2021
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Sehr gutes Buch. Die Beispiele funtionieren auch in der wirklichkeit.
Amazon Verified review Amazon
alf Dec 24, 2022
Full star icon Full star icon Full star icon Full star icon Empty star icon 4
Sei muito pouco de electrónica! Vou tentar aprender mais qualquer coisa com este livro.
Amazon Verified review Amazon
Scott H. Sep 25, 2022
Full star icon Full star icon Full star icon Full star icon Empty star icon 4
A well-written and presented reference book. A wide variety of content.
Amazon Verified review Amazon
Peter R. Sep 19, 2022
Full star icon Full star icon Full star icon Empty star icon Empty star icon 3
Kändes som all var styrt via Adafruit. Vilket jag inte tyckte om. Men troligen för att boken skrevs 2019.
Amazon Verified review Amazon
wayne durden Jan 05, 2020
Full star icon Full star icon Full star icon Empty star icon Empty star icon 3
Most of the projects in the book deal with how to use Adafruit devices with Adafruit libraries. It's OK if that's what you like to do. As far as a cookbook goes it is more of a 'how to fix canned vegetables' than how to actually make something from scratch. I was expecting more how to do interfacing that did not rely so much on canned hardware and libraries. If you want to use this book, you will need to go ahead and get the Adafruit Circuit Playground Express in order to do most of the projects. Also there are projects using the Adafruit CRICKIT, Feather HUZZAH ESP8266, Hollowing MO Express and The micro:bit. The book is well written, well structured and easy to follow.
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

What is the delivery time and cost of print book? Chevron down icon Chevron up icon

Shipping Details

USA:

'

Economy: Delivery to most addresses in the US within 10-15 business days

Premium: Trackable Delivery to most addresses in the US within 3-8 business days

UK:

Economy: Delivery to most addresses in the U.K. within 7-9 business days.
Shipments are not trackable

Premium: Trackable delivery to most addresses in the U.K. within 3-4 business days!
Add one extra business day for deliveries to Northern Ireland and Scottish Highlands and islands

EU:

Premium: Trackable delivery to most EU destinations within 4-9 business days.

Australia:

Economy: Can deliver to P. O. Boxes and private residences.
Trackable service with delivery to addresses in Australia only.
Delivery time ranges from 7-9 business days for VIC and 8-10 business days for Interstate metro
Delivery time is up to 15 business days for remote areas of WA, NT & QLD.

Premium: Delivery to addresses in Australia only
Trackable delivery to most P. O. Boxes and private residences in Australia within 4-5 days based on the distance to a destination following dispatch.

India:

Premium: Delivery to most Indian addresses within 5-6 business days

Rest of the World:

Premium: Countries in the American continent: Trackable delivery to most countries within 4-7 business days

Asia:

Premium: Delivery to most Asian addresses within 5-9 business days

Disclaimer:
All orders received before 5 PM U.K time would start printing from the next business day. So the estimated delivery times start from the next day as well. Orders received after 5 PM U.K time (in our internal systems) on a business day or anytime on the weekend will begin printing the second to next business day. For example, an order placed at 11 AM today will begin printing tomorrow, whereas an order placed at 9 PM tonight will begin printing the day after tomorrow.


Unfortunately, due to several restrictions, we are unable to ship to the following countries:

  1. Afghanistan
  2. American Samoa
  3. Belarus
  4. Brunei Darussalam
  5. Central African Republic
  6. The Democratic Republic of Congo
  7. Eritrea
  8. Guinea-bissau
  9. Iran
  10. Lebanon
  11. Libiya Arab Jamahriya
  12. Somalia
  13. Sudan
  14. Russian Federation
  15. Syrian Arab Republic
  16. Ukraine
  17. Venezuela
What is custom duty/charge? Chevron down icon Chevron up icon

Customs duty are charges levied on goods when they cross international borders. It is a tax that is imposed on imported goods. These duties are charged by special authorities and bodies created by local governments and are meant to protect local industries, economies, and businesses.

Do I have to pay customs charges for the print book order? Chevron down icon Chevron up icon

The orders shipped to the countries that are listed under EU27 will not bear custom charges. They are paid by Packt as part of the order.

List of EU27 countries: www.gov.uk/eu-eea:

A custom duty or localized taxes may be applicable on the shipment and would be charged by the recipient country outside of the EU27 which should be paid by the customer and these duties are not included in the shipping charges been charged on the order.

How do I know my custom duty charges? Chevron down icon Chevron up icon

The amount of duty payable varies greatly depending on the imported goods, the country of origin and several other factors like the total invoice amount or dimensions like weight, and other such criteria applicable in your country.

For example:

  • If you live in Mexico, and the declared value of your ordered items is over $ 50, for you to receive a package, you will have to pay additional import tax of 19% which will be $ 9.50 to the courier service.
  • Whereas if you live in Turkey, and the declared value of your ordered items is over € 22, for you to receive a package, you will have to pay additional import tax of 18% which will be € 3.96 to the courier service.
How can I cancel my order? Chevron down icon Chevron up icon

Cancellation Policy for Published Printed Books:

You can cancel any order within 1 hour of placing the order. Simply contact customercare@packt.com with your order details or payment transaction id. If your order has already started the shipment process, we will do our best to stop it. However, if it is already on the way to you then when you receive it, you can contact us at customercare@packt.com using the returns and refund process.

Please understand that Packt Publishing cannot provide refunds or cancel any order except for the cases described in our Return Policy (i.e. Packt Publishing agrees to replace your printed book because it arrives damaged or material defect in book), Packt Publishing will not accept returns.

What is your returns and refunds policy? Chevron down icon Chevron up icon

Return Policy:

We want you to be happy with your purchase from Packtpub.com. We will not hassle you with returning print books to us. If the print book you receive from us is incorrect, damaged, doesn't work or is unacceptably late, please contact Customer Relations Team on customercare@packt.com with the order number and issue details as explained below:

  1. If you ordered (eBook, Video or Print Book) incorrectly or accidentally, please contact Customer Relations Team on customercare@packt.com within one hour of placing the order and we will replace/refund you the item cost.
  2. Sadly, if your eBook or Video file is faulty or a fault occurs during the eBook or Video being made available to you, i.e. during download then you should contact Customer Relations Team within 14 days of purchase on customercare@packt.com who will be able to resolve this issue for you.
  3. You will have a choice of replacement or refund of the problem items.(damaged, defective or incorrect)
  4. Once Customer Care Team confirms that you will be refunded, you should receive the refund within 10 to 12 working days.
  5. If you are only requesting a refund of one book from a multiple order, then we will refund you the appropriate single item.
  6. Where the items were shipped under a free shipping offer, there will be no shipping costs to refund.

On the off chance your printed book arrives damaged, with book material defect, contact our Customer Relation Team on customercare@packt.com within 14 days of receipt of the book with appropriate evidence of damage and we will work with you to secure a replacement copy, if necessary. Please note that each printed book you order from us is individually made by Packt's professional book-printing partner which is on a print-on-demand basis.

What tax is charged? Chevron down icon Chevron up icon

Currently, no tax is charged on the purchase of any print book (subject to change based on the laws and regulations). A localized VAT fee is charged only to our European and UK customers on eBooks, Video and subscriptions that they buy. GST is charged to Indian customers for eBooks and video purchases.

What payment methods can I use? Chevron down icon Chevron up icon

You can pay with the following card types:

  1. Visa Debit
  2. Visa Credit
  3. MasterCard
  4. PayPal
What is the delivery time and cost of print books? Chevron down icon Chevron up icon

Shipping Details

USA:

'

Economy: Delivery to most addresses in the US within 10-15 business days

Premium: Trackable Delivery to most addresses in the US within 3-8 business days

UK:

Economy: Delivery to most addresses in the U.K. within 7-9 business days.
Shipments are not trackable

Premium: Trackable delivery to most addresses in the U.K. within 3-4 business days!
Add one extra business day for deliveries to Northern Ireland and Scottish Highlands and islands

EU:

Premium: Trackable delivery to most EU destinations within 4-9 business days.

Australia:

Economy: Can deliver to P. O. Boxes and private residences.
Trackable service with delivery to addresses in Australia only.
Delivery time ranges from 7-9 business days for VIC and 8-10 business days for Interstate metro
Delivery time is up to 15 business days for remote areas of WA, NT & QLD.

Premium: Delivery to addresses in Australia only
Trackable delivery to most P. O. Boxes and private residences in Australia within 4-5 days based on the distance to a destination following dispatch.

India:

Premium: Delivery to most Indian addresses within 5-6 business days

Rest of the World:

Premium: Countries in the American continent: Trackable delivery to most countries within 4-7 business days

Asia:

Premium: Delivery to most Asian addresses within 5-9 business days

Disclaimer:
All orders received before 5 PM U.K time would start printing from the next business day. So the estimated delivery times start from the next day as well. Orders received after 5 PM U.K time (in our internal systems) on a business day or anytime on the weekend will begin printing the second to next business day. For example, an order placed at 11 AM today will begin printing tomorrow, whereas an order placed at 9 PM tonight will begin printing the day after tomorrow.


Unfortunately, due to several restrictions, we are unable to ship to the following countries:

  1. Afghanistan
  2. American Samoa
  3. Belarus
  4. Brunei Darussalam
  5. Central African Republic
  6. The Democratic Republic of Congo
  7. Eritrea
  8. Guinea-bissau
  9. Iran
  10. Lebanon
  11. Libiya Arab Jamahriya
  12. Somalia
  13. Sudan
  14. Russian Federation
  15. Syrian Arab Republic
  16. Ukraine
  17. Venezuela