This document explores the interactions between a microprocessor (or microcontroller) and the outside world via peripherals and input/output (I/O) interfaces. It details the types of peripherals (keyboard, screen, CAN/CNA converters, timers, etc.), their role in data processing and communication, and the controllers used to interface them with the processor. Concepts are illustrated with examples such as the PIC 16F877 microcontroller and various communication buses (USB, Ethernet, etc.)