Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kiranj26/raspberry-pi-pico-rp2040-projects

This repository contains a collection of projects for the Raspberry Pi Pico RP2040, showcasing the use of various peripherals. Each project folder includes the source code and detailed instructions on how to set up and run the project.
https://github.com/kiranj26/raspberry-pi-pico-rp2040-projects

micropython micropython-rpi-pico raspbery-pi-pico rp2040

Last synced: about 22 hours ago
JSON representation

This repository contains a collection of projects for the Raspberry Pi Pico RP2040, showcasing the use of various peripherals. Each project folder includes the source code and detailed instructions on how to set up and run the project.

Awesome Lists containing this project

README

        

# Raspberry Pi Pico RP2040 Projects

Welcome to the Raspberry Pi Pico RP2040 Projects repository! This repository is dedicated to exploring and leveraging the capabilities of the Raspberry Pi Pico RP2040 microcontroller. Here, you'll find a collection of projects, examples, and resources that will help you get the most out of this powerful microcontroller. This repository will be my playground to try my hands on this hardware.

![Raspberry Pi Pico RP2040](https://github.com/kiranj26/Raspberry-Pi-Pico-RP2040-Projects/assets/111842372/c11f5e61-776a-4b29-89f8-43437a843a9c)

## Table of Contents
- [Introduction](#introduction)
- [Getting Started](#getting-started)
- [Repository Structure](#repository-structure)
- [Examples](#examples)
- [Blinking LED](#blinking-led)
- [GPIO Input/Output](#gpio-input-output)
- [PWM Control](#pwm-control)
- [ADC and Sensor Integration](#adc-and-sensor-integration)
- [I2C Communication](#i2c-communication)
- [SPI Communication](#spi-communication)
- [UART Communication](#uart-communication)
- [Timers and Interrupts](#timers-and-interrupts)
- [Assignments](#assignments)
- [Resources](#resources)
- [Contributing](#contributing)
- [License](#license)

## Introduction
The Raspberry Pi Pico RP2040 microcontroller is a versatile platform designed for a wide range of applications. This repository aims to provide a comprehensive set of examples and projects that demonstrate the diverse capabilities of this microcontroller, from basic input/output operations to complex control systems.

## Getting Started
To get started with the projects in this repository, you'll need the following tools and software:
- **Thonny IDE**: The recommended integrated development environment (IDE) for developing applications on the Raspberry Pi Pico.
- **MicroPython**: A lean and efficient implementation of the Python 3 programming language for microcontrollers.

### Installation Steps
1. Download and install [Thonny IDE](https://thonny.org/).
2. Follow the instructions to set up [MicroPython on the Raspberry Pi Pico](https://projects.raspberrypi.org/en/projects/getting-started-with-the-pico).

## Repository Structure
- `examples/`: Contains various example projects showcasing the use of different peripherals on the Raspberry Pi Pico.
- `assignments/`: Contains assignments created to help Professor Ariella Blum and her students in LAB ECEN 2400.

## Examples
These examples are what I tried my hands on with the Raspberry Pi Pico to explore its various functionalities.

### Blinking LED
- [Blinking LED](examples/Blinking_LED)

### GPIO Input/Output
- [GPIO Input](examples/GPIO/Input)
- [GPIO Output](examples/GPIO/Output)

### PWM Control
- [PWM Control](examples/PWM)

### ADC and Sensor Integration
- [ADC Reading](examples/ADC)

### I2C Communication
- [I2C Master](examples/I2C/Master)
- [I2C Slave](examples/I2C/Slave)

### SPI Communication
- [SPI Master](examples/SPI/Master)
- [SPI Slave](examples/SPI/Slave)

### UART Communication
- [UART](examples/UART)

### Timers and Interrupts
- [Timers](examples/Timers)
- [Interrupts](examples/Interrupts)

## Assignments
**These assignments were created by me, Kiran Jojare, as a graduate teaching assistant for the course ECEN 2400: Applications of Embedded Systems, under the guidance of Professor Ariella Blum.**

### Lab 8: Installing Visual Studio Code
Step-by-step instructions for setting up the development environment and writing your first Python script for the Raspberry Pi Pico.

### Lab 13 Part 1: SBB IR Receiver & Programming
Instructions for setting up an IR receiver circuit with the Raspberry Pi Pico and decoding IR signals using the NEC protocol.

### Lab 13 Part 2: SBB IR Transmitter & Receiver
Comprehensive guide for setting up an IR communication system, including both IR transmission and reception with the Raspberry Pi Pico.

## Resources
- [Raspberry Pi Pico Datasheet](https://datasheets.raspberrypi.org/pico/pico-datasheet.pdf)
- [Raspberry Pi Pico MicroPython Documentation](https://docs.micropython.org/en/latest/rp2/quickref.html)
- [Raspberry Pi Pico C/C++ SDK Documentation](https://raspberrypi.github.io/pico-sdk-doxygen/)
- [Thonny IDE](https://thonny.org/)
- [Raspberry Pi Documentation](https://www.raspberrypi.org/documentation/)
- [Raspberry Pi Forums](https://www.raspberrypi.org/forums/)
- [MicroPython Forum](https://forum.micropython.org/)
- [Getting Started with MicroPython on the Raspberry Pi Pico](https://projects.raspberrypi.org/en/projects/getting-started-with-the-pico)
- [Raspberry Pi YouTube Channel](https://www.youtube.com/user/RaspberryPiBeginners)

## Contributing
Contributions are welcome! If you have a project or example you'd like to share, please fork the repository, create a new branch, and submit a pull request. Make sure to follow the coding standards and include a detailed description of your project.

## License
This repository is licensed under the MIT License. See the [LICENSE](LICENSE) file for more information.

---

Happy coding!

**Kiran Jojare**
*Embedded Software / Firmware Engineer*
[email protected]