Programming The Raspberry Pi Pico In C

Programming The Raspberry Pi Pico In C
Author: Harry Fairhead
Publisher: I/O Press
Total Pages: 374
Release: 2021-04-27
Genre:
ISBN: 9781871962680

The Raspberry Pi Pico is a remarkable microcontroller. It has a power and sophistication that would have been unthinkable just a short time ago. For the sort of jobs it is ideal for, it has plenty of processing power and enough memory to make tasks that would have once required careful planning, relatively easy. Instead of struggling with the machine, you can now focus on getting a good implementation of your algorithms. To enjoy all of its power and sophistication there is no better language than C. It wastes none of the power and it gives you what you need to get at the new features. However, getting started with the Pico with C is no easy feat, which is what motivated this book about creating programs so that testing and debugging is easy. Programming the Raspberry Pi Pico in C uses the highly popular VS Code as its development environment and shows how to use a Raspberry Pi or a desktop PC running Windows as your development machine. The purpose of the book is to reveal what you can do with the Pico's GPIO lines together with widely used sensors, servos and motors and ADCs. After covering the GPIO, outputs and inputs, events and interrupts, it gives you hands-on experience of PWM (Pulse Width Modulation), the SPI bus, the I2C bus and the 1-Wire bus. One of the key advantages of the Pico is its PIO (Programmable I/O) and while this is an advanced feature it is included in this book. After finding out how the PIO works, we apply it to writing a PIO program for the DHT22 and the 1-Wire bus. One current drawback of the Pico it is that it doesn't have a network connection. To solve this problem there is a chapter on using the low-cost ESP8266 as a WiFi client and web server. The two devices together make the Pico a true IoT device. Harry Fairhead has a hardware background and, having worked with microprocessors and electronics in general, for many years, he is an enthusiastic proponent of the IoT and embedded computing. He is the author of two books intended for C programmers, Fundamental C: Getting Closer To The Machine and Applying C For the IoT With Linux and four books on the using the Raspberry Pi in an IoT context, two using C and two using Python. He is now working on a Python version of this book for the Pico.

RP2040 Assembly Language Programming

RP2040 Assembly Language Programming
Author: Stephen Smith
Publisher: Apress
Total Pages: 320
Release: 2021-10-28
Genre: Computers
ISBN: 9781484277522

Learn to program the Raspberry Pi Pico’s dual ARM Cortex M0+ CPUs in Assembly Language. The Pico contains a customer System on a Chip (SoC) called the RP2040, making it the Foundation’s first entry into the low-cost microcontroller market. The RP2040 contains a wealth of coprocessors for performing arithmetic as well as performing specialized I/O functionality. This book will show you how these CPUs work from a low level, easy-to-learn perspective. There are eight new Programmable I/O (PIO) coprocessors that have their own specialized Assembly Language supporting a wide variety of interface protocols. You'll explore these protocols and write programs or functions in Assembly Language and interface to all the various bundled hardware interfaces. Then go beyond working on your own board and projects to contribute to the official RP2040 SDK. Finally, you'll take your DIY hardware projects to the next level of performance and functionality with more advanced programming skills. What You'll Learn Read and understand the Assembly Language code that is part of the Pico’s SDK Integrate Assembly Language and C code together into one program Interface to available options for DIY electronics and IoT projects Who This Book Is For Makers who have already worked with microcontrollers, such as the Arduino or Pico, programming in C or Python. Those interested in going deeper and learning how these devices work at a lower level, by learning Assembly Language.

Programming the Pico

Programming the Pico
Author: Simon Monk
Publisher: Independently Published
Total Pages: 162
Release: 2021-09-24
Genre:
ISBN:

This book will teach you Python programming and some basic electronics without assuming any prior knowledge of either subject. The book initially focusses on Python programming, building up a Morse Code example using the Raspberry Pi Pico's built-in LED. Once you have mastered the basics of coding the Pico, the book will introduce electronics, showing you how to use sensors, switches, LEDs, servomotors and displays attached to your Pico. All the parts used in the book are available in a companion kit by MonkMakes Ltd. available from suppliers world-wide. Discover how to: install and use the Thonny Python editor and upload programs to your Pico write simple programs to control the Raspberry Pi Pico structure your programs with functions and modules make effective use of Python Lists and Dictionaries attach sensors, LEDs, servomotors and displays to your Pico and, to program them. make use of the Pico's advanced input/output capabilities

Exploring Raspberry Pi

Exploring Raspberry Pi
Author: Derek Molloy
Publisher: John Wiley & Sons
Total Pages: 723
Release: 2016-06-09
Genre: Computers
ISBN: 1119188709

Expand Raspberry Pi capabilities with fundamental engineering principles Exploring Raspberry Pi is the innovators guide to bringing Raspberry Pi to life. This book favors engineering principles over a 'recipe' approach to give you the skills you need to design and build your own projects. You'll understand the fundamental principles in a way that transfers to any type of electronics, electronic modules, or external peripherals, using a "learning by doing" approach that caters to both beginners and experts. The book begins with basic Linux and programming skills, and helps you stock your inventory with common parts and supplies. Next, you'll learn how to make parts work together to achieve the goals of your project, no matter what type of components you use. The companion website provides a full repository that structures all of the code and scripts, along with links to video tutorials and supplementary content that takes you deeper into your project. The Raspberry Pi's most famous feature is its adaptability. It can be used for thousands of electronic applications, and using the Linux OS expands the functionality even more. This book helps you get the most from your Raspberry Pi, but it also gives you the fundamental engineering skills you need to incorporate any electronics into any project. Develop the Linux and programming skills you need to build basic applications Build your inventory of parts so you can always "make it work" Understand interfacing, controlling, and communicating with almost any component Explore advanced applications with video, audio, real-world interactions, and more Be free to adapt and create with Exploring Raspberry Pi.

TinyML

TinyML
Author: Pete Warden
Publisher: O'Reilly Media
Total Pages: 504
Release: 2019-12-16
Genre: Computers
ISBN: 1492052019

Deep learning networks are getting smaller. Much smaller. The Google Assistant team can detect words with a model just 14 kilobytes in size—small enough to run on a microcontroller. With this practical book you’ll enter the field of TinyML, where deep learning and embedded systems combine to make astounding things possible with tiny devices. Pete Warden and Daniel Situnayake explain how you can train models small enough to fit into any environment. Ideal for software and hardware developers who want to build embedded systems using machine learning, this guide walks you through creating a series of TinyML projects, step-by-step. No machine learning or microcontroller experience is necessary. Build a speech recognizer, a camera that detects people, and a magic wand that responds to gestures Work with Arduino and ultra-low-power microcontrollers Learn the essentials of ML and how to train your own models Train models to understand audio, image, and accelerometer data Explore TensorFlow Lite for Microcontrollers, Google’s toolkit for TinyML Debug applications and provide safeguards for privacy and security Optimize latency, energy usage, and model and binary size

Raspberry Pi Assembly Language Programming

Raspberry Pi Assembly Language Programming
Author: Stephen Smith
Publisher: Apress
Total Pages: 380
Release: 2019-10-23
Genre: Computers
ISBN: 148425287X

Gain all the skills required to dive into the fundamentals of the Raspberry Pi hardware architecture and how data is stored in the Pi’s memory. This book provides you with working starting points for your own projects while you develop a working knowledge of Assembly language programming on the Raspberry Pi. You'll learn how to interface to the Pi’s hardware including accessing the GPIO ports. The book will cover the basics of code optimization as well as how to inter-operate with C and Python code, so you'll develop enough background to use the official ARM reference documentation for further projects. With Raspberry Pi Assembly Language Programming as your guide you'll study how to read and reverse engineer machine code and then then apply those new skills to study code examples and take control of your Pi’s hardware and software both. What You'll Learn Program basic ARM 32-Bit Assembly Language Interface with the various hardware devices on the Raspberry Pi Comprehend code containing Assembly language Use the official ARM reference documentation Who This Book Is For Coders who have already learned to program in a higher-level language like Python, Java, C#, or C and now wish to learn Assembly programming.

Raspberry Pi Projects

Raspberry Pi Projects
Author: Andrew Robinson
Publisher: John Wiley & Sons
Total Pages: 480
Release: 2014-01-10
Genre: Computers
ISBN: 1118555562

Learn to build software and hardware projects featuring the Raspberry Pi! Congratulations on becoming a proud owner of a Raspberry Pi! Following primers on getting your Pi up and running and programming with Python, the authors walk you through 16 fun projects of increasing sophistication that let you develop your Raspberry Pi skills. Among other things you will: Write simple programs, including a tic-tac-toe game Re-create vintage games similar to Pong and Pac-Man Construct a networked alarm system with door sensors and webcams Build Pi-controlled gadgets including a slot car racetrack and a door lock Create a reaction timer and an electronic harmonograph Construct a Facebook-enabled Etch A Sketch-type gadget and a Twittering toy Raspberry Pi Projects is an excellent way to dig deeper into the capabilities of the Pi and to have great fun while doing it.

Fundamental C: Getting Closer To The Machine

Fundamental C: Getting Closer To The Machine
Author: Harry Fairhead
Publisher:
Total Pages: 268
Release: 2019-03-13
Genre: Computers
ISBN: 9781871962604

C is a good language to learn. It was designed to do a very different job from most modern languages and the key to understanding it is not to just understand the code, but how this relates to the hardware. Fundamental C takes an approach that is close to the hardware, introducing addresses, pointers, and how things are represented using binary. An important idea is that everything is a bit pattern and what it means can change. As a C developer you need to think about the way data is represented, and Harry Fairhead encourages this. He emphasizes the idea of modifying how a bit pattern is treated using type punning and unions. This power brings with it the scourge of the C world - undefined behavior - which is ignored in many books on C. Here, not only is it acknowledged, it is explained together with ways to avoid it. A particular feature of the book is the way C code is illustrated by the assembly language it generates. This helps you understand why C is the way it is. For beginners, the book covers installing an IDE and GCC before writing a Hello World program and then presents the fundamental building blocks of any program - variables, assignment and expressions, flow of control using conditionals and loops. Once the essentials are in place, data types are explored before looking at arithmetic and representation. Harry then goes deeper into evaluating expressions before looking at functions and their scope and lifetime. Arrays, strings, pointers and structs are covered in separate chapters, as is bit manipulation, a topic that is key to using C, and the idea of a file as the universal approach to I/O. Finally, he looks at the four stages of compilation of a C program, the use of static and dynamic libraries and make. This is C as it was always intended to be written - close to the metal. Harry Fairhead has a hardware background and, having worked with microprocessors and electronics in general, for many years, he is an enthusiastic proponent of the IoT. His recent titles include Raspberry Pi IoT in C and Micro: bit IoT in C. His next, Applying C For The IoT With Linux at intermediate/advanced level is intended as a companion to this book for those working in a Linux/POSIX environment, in particular the Raspberry Pi.