This book assumes that the reader has a basic understanding of Python and that they have at least built a few embedded systems projects previously. The material is written so that a beginner will not have any problems and a more experienced embedded software developer will be able to quickly learn how to write MicroPython-based applications. I also assume that you are able to read flowcharts and basic wiring diagrams. The reader should also understand how to use a Git repository and install software on their computer.
Software/hardware covered in the book |
OS requirements |
PyCharm |
Windows, Linux, macOS |
PuTTY |
Windows, Linux, macOS |
Linux Virtual Machine |
Windows, Linux, macOS |
Python 3.x |
Windows, Linux, macOS |
Anaconda Terminal |
Windows, Linux, macOS |
Simple TCP Socket Tester |
Windows, Linux, macOS |
OpenMV IDE |
Windows, Linux, macOS |
Pyboard |
- |
RobotDyn I2C 8-bit PCA8574 I/O expander |
- |
Adafruit RGB Pushbutton PN: 3423 or equivalent |
- |
STM32L4 IoT Discovery Node |
- |
Robotdyn I2C 8-bit PCA8574 I/O expander |
- |
USB to UART Converter |
- |
Adafruit ADPS9960 breakout board |
- |
MicroPython supported development board |
- |
ESP32 WROVER-B |
- |
OpenMV Camera Module |
- |
The projects are not necessarily designed to be done in order. With that in mind, I would recommend that developers read the first two chapters in order before jumping to the project that is most interesting to them. These chapters give the background on MicroPython and how to schedule tasks. After that, it's up to the developer to decide on the order. As strange as this may sound, I would also encourage readers to make sure they read the last chapter as well, which introduces the pyboard-D, which may be the development board they decide to go with for most of their experimentation.
If you are using the digital version of this book, we advise you to type the code yourself or access the code via the GitHub repository (link available in the next section). Doing so will help you avoid any potential errors related to the copying and pasting of code.