Servo Library
Servo pinout:

Copy this file to /lib folder in your raspberry pi pico.
Interfacing Servo using servo library
from servo import Servo
from time import sleep
servo1 = Servo(pin=22)
while True:
servo1.move(0)
sleep(2)
servo1.move(90)
sleep(2)
servo1.move(180)
sleep(2)
NRF24L01 Library
NRF pinout

Copy this file to /lib folder in your raspberry pi pico.
NRF as a transmitter
NRF as a receiver
NRF connection diagram

Joystick Module
Caution!!! connect 5V of joystick to 3.3V of pico.
from machine import Pin, SPI, ADC
x_axis = ADC(Pin(26))
y_axis = ADC(Pin(27))
x_data = x_axis.read_u16()
y_data = y_axis.read_u16()
Feedback Loops
MPU6050 Library
This library consists of two files the you need to put inside /lib folder in your raspberry pi pico.
Interfacing with MPU6050
from machine import Pin,I2C
from mpu6050 import MPU6050
from time import sleep
i2c = I2C(0,scl=Pin(1),sda=Pin(0))
mpu = MPU6050(i2c)
while True:
print(mpu.gyro.xyz)
sleep(0.5)
UltraSonic Library
Copy this downloaded hcsr04 file inside /lib folder in your raspberry pi pico.
Interfacing with hcsr04
from machine import Pin
from time import sleep
from hcsr04 import HCSR04
echo = 14
trigger = 15
usonic = HCSR04(trigger_pin = trigger, echo_pin = echo)
while True:
print(usonic.distance_cm())
sleep(0.2)
Micropython Firmware with support for USB HID
Flash the downloaded uf2 file to work with hid devices.
USB HID Library
Working with HID class devices
HID Keyboard
import keyboard
import mouse
import consumer_control
import gamepad
import time
from machine import *
k = keyboard.Keyboard()
button = Pin(1,Pin.IN, Pin.PULL_UP)
def send_hid(p):
if p is button and p.irq().flags():
#debouncing
#disabling interrupt
button.irq(handler=None)
time.sleep_ms(200)
k.press(0x04)
k.release(0x04)
#enabling interrupt
button.irq(handler=send_hid)
button.irq(trigger=Pin.IRQ_FALLING,handler=send_hid)
HID Mouse
import keyboard
import mouse
import consumer_control
import gamepad
import time
from machine import *
m = mouse.Mouse()
button = Pin(1,Pin.IN, Pin.PULL_UP)
def send_hid(p):
if p is button and p.irq().flags():
#debouncing
#disabling interrupt
button.irq(handler=None)
time.sleep_ms(200)
m.click(m.BUTTON_RIGHT)
#enabling interrupt
button.irq(handler=send_hid)
button.irq(trigger=Pin.IRQ_FALLING,handler=send_hid)