Book Image

MicroPython Projects

By : Jacob Beningo
Book Image

MicroPython Projects

By: Jacob Beningo

Overview of this book

With the increasing complexity of embedded systems seen over the past few years, developers are looking for ways to manage them easily by solving problems without spending a lot of time on finding supported peripherals. MicroPython is an efficient and lean implementation of the Python 3 programming language, which is optimized to run on microcontrollers. MicroPython Projects will guide you in building and managing your embedded systems with ease. This book is a comprehensive project-based guide that will help you build a wide range of projects and give you the confidence to design complex projects spanning new areas of technology such as electronic applications, automation devices, and IoT applications. While building seven engaging projects, you'll learn how to enable devices to communicate with each other, access and control devices over a TCP/IP socket, and store and retrieve data. The complexity will increase progressively as you work on different projects, covering areas such as driver design, sensor interfacing, and MicroPython kernel customization. By the end of this MicroPython book, you'll be able to develop industry-standard embedded systems and keep up with the evolution of the Internet of Things.
Table of Contents (14 chapters)
11
Downloading and Running MicroPython Code

What this book covers

Chapter 1, Down the Rabbit Hole with MicroPython, takes you through embedded software development and where MicroPython fits in. In this chapter, we look at how to decide what language to use, along with some general best practices.

Chapter 2, Managing Real-Time Tasks, helps you explore the different techniques that developers can use to schedule tasks in their MicroPython-based system.

Chapter 3, Writing a MicroPython Driver for an I/O Expander, explains how to write your own driver for an external device.

Chapter 4, Developing an Application Test Harness, takes you through different methods that can be used to test our MicroPython-based application and presents several different options for developers interested in such activities.

Chapter 5, Customizing the MicroPython Kernel Start Up Code, helps you to get behind the scenes with MicroPython by examining and making changes to the MicroPython kernel. In this chapter, we focus on the startup code that developers looking to produce a production system might need to modify.

Chapter 6, A Custom Debugging Tool to Visualize Sensor Data, helps you explore how you can transport sensor and debugging information from our device to a computer that then visualizes what is happening on our system. This can be critical to monitoring key variables, debug statements, or just creating a sensor dashboard.

Chapter 7, Device Control Using Gestures, helps you learn how we can interface a gesture sensor with a development board and write an application that will detect gestures.

Chapter 8, Automation and Control Using Android, helps you learn how we can use an ESP32 microcontroller to create a sensor node that can transmit sensor data and receive commands from an Android template. This project is easily extensible for Internet-of-Things (IoT) applications and device control.

Chapter 9, Building an Object Detection Application Using Machine Learning, demonstrates the use of an OpenMV camera module powered by MicroPython to build an application that can detect objects in an image.

Chapter 10, The Future of MicroPython, explores the future of MicroPython and where we might expect to see it go in the coming years.

Appendix A, Downloading and Running MicroPython Code, explains the process of getting code onto the board and running it.