Projects using MATLAB in LagosProjects using MATLAB in LagosRaspberry Pi CM5 IO Board with USB 2.0 OTG
The official Raspberry Pi Compute Module 5 IO board doesnβt include the USB 2.0 path switch IC, which was in its elder brother CM4 IO board. Also, it uses CM5βs own CC control pins for USB Type C port. To make my design compatible with both CM4 and CM5, I integrated an USB 2.0 switch IC in the similar way, but with a little bit different configuration.
The board need to have 2 x USB 2.0 ports. So I needed to add an USB 2.0 hub IC and an USB path switch chip, similar to the official Raspberry Pi CM4 IO board. But I needed to modify it to use an USB Type-C port and use CC control pins of CM5. The elder CM4 series modules didnβt have CC control pins. Thus, I also added DNP resistors, where I can solder 5.1K resistors for using CM4 on this board.
The official Raspberry CM4 IO board used VBUS to automatically switch the OTG config via USB_OTG_ID pin. But on my design, +5V line may be supplied from external power source. It means I should use 5A rated ideal diode. But the requirements was only using USB 2.0 as normal Host, instead of standard USB OTG compatible port. As we anyway need BOOT button to set the compute module into flashing mode, I decided to use a DPDT slide switch instead of tactile boot button. In this way, I could manage setting BOOT and OTG_ID flags using a single switch sliding. π Project Completed | ESP32-Based Interactive Virtual Pet πΎπ€
Iβm excited to share my latest Embedded Systems & IoT project, an interactive virtual pet built around the ESP32 that can sense its environment, process real-time data, and respond through expressive animations and behaviors. π‘οΈπ‘
The project combines multiple sensors with a 128Γ64 OLED display to create a responsive digital companion that reacts dynamically to environmental conditions.
π§ Key Features
π₯° Animated virtual pet with multiple expressions and behaviors
π‘οΈ Real-time temperature & humidity monitoring using DHT11
π‘ Light/dark detection using LDR
π Object detection using an IR sensor
π Proximity detection using an ultrasonic sensor
π΄ Automatic sleep mode in dark conditions
π₯΅ Sweating animation when the temperature becomes high
π Excited reaction when an object approaches
π’π΄ Temperature-based safety indicators using LEDs
π Real-time clock using a TM1637 4-digit display
π‘ ESP32 Wi-Fi connectivity
π HTTP-based web interface for live sensor data
β‘ Non-blocking animations and real-time sensor processing
π οΈ Technologies & Components
ESP32 | Embedded C/C++ | Arduino | Wi-Fi | HTTP | DHT11 | LDR | IR Sensor | Ultrasonic Sensor | TM1637 | SSD1306 OLED | I2C | Sensors & Actuators
This project gave me valuable hands-on experience in microcontroller programming, sensor integration, OLED graphics and animations, real-time systems, wireless communication, and embedded web applications.
What makes this project particularly interesting to me is the combination of:
Sensing β Decision Making β Interaction
Instead of simply displaying sensor readings, the system interprets environmental data and transforms it into visual and behavioral responses, making the pet feel more responsive, interactive, and alive. π§ β‘
π Iβm looking forward to adding more intelligence, animations, and interactive features to this little companion while continuing to build practical and innovative Embedded & IoT systems.
#ESP32 (https://www.linkedin.com/search/results/all/?keywords=%23esp32&origin=HASH_TAG_FROM_FEED) #EmbeddedSystems (https://www.linkedin.com/search/results/all/?keywords=%23embeddedsystems&origin=HASH_TAG_FROM_FEED) #EmbeddedC (https://www.linkedin.com/search/results/all/?keywords=%23embeddedc&origin=HASH_TAG_FROM_FEED) #IoT (https://www.linkedin.com/search/results/all/?keywords=%23iot&origin=HASH_TAG_FROM_FEED) #Arduino (https://www.linkedin.com/search/results/all/?keywords=%23arduino&origin=HASH_TAG_FROM_FEED) #OLED (https://www.linkedin.com/search/results/all/?keywords=%23oled&origin=HASH_TAG_FROM_FEED) #Electronics (https://www.linkedin.com/search/results/all/?keywords=%23electronics&origin=HASH_TAG_FROM_FEED) #EmbeddedEngineer (https://www.linkedin.com/search/results/all/?keywords=%23embeddedengineer&origin=HASH_TAG_FROM_FEED) #IoTProjects (https://www.linkedin.com/search/results/all/?keywords=%23iotprojects&origin=HASH_TAG_FROM_FEED) #Microcontrollers (https://www.linkedin.com/search/results/all/?keywords=%23microcontrollers&origin=HASH_TAG_FROM_FEED) #DHT11 (https://www.linkedin.com/search/results/all/?keywords=%23dht11&origin=HASH_TAG_FROM_FEED) #Sensors (https://www.linkedin.com/search/results/all/?keywords=%23sensors&origin=HASH_TAG_FROM_FEED) #EmbeddedProgramming (https://www.linkedin.com/search/results/all/?keywords=%23embeddedprogramming&origin=HASH_TAG_FROM_FEED) #EngineeringProjects (https://www.linkedin.com/search/results/all/?keywords=%23engineeringprojects&origin=HASH_TAG_FROM_FEED) #TechProjects (https://www.linkedin.com/search/results/all/?keywords=%23techprojects&origin=HASH_TAG_FROM_FEED) #LearningByBuilding (https://www.linkedin.com/search/results/all/?keywords=%23learningbybuilding&origin=HASH_TAG_FROM_FEED)