
BloopyPrototype
BrandonC27-Engineer/Bloopy-Robot
Bloopy is a personal AI companion robot prototype integrating custom PCB designs, ESP32 sensors, Raspberry Pi processing, interactive OLED animations, and an AI-powered companion app.

Bloopy is a personal AI companion robot prototype integrating custom PCB designs, ESP32 sensors, Raspberry Pi processing, interactive OLED animations, and an AI-powered companion app.
BloopyHardware is an open-source printed circuit board by BrandonC27-Engineer, from the BrandonC27-Engineer/Bloopy-Robot repository on GitHub. It is a 2-layer board of 73.1 × 99.9 mm with 72 parts on 84 nets, routed with 564 tracks and 125 vias.
It is built around the ESP32-WROOM-32E, DRV8833PWPR and BNO086. Its parts include 2 ICs and 1 transistor. It belongs with the robots and motor control boards and the ESP32 boards of this library.
Designed and built by Brandon Carmona Guerena
Bloopy is a personal robotics project exploring how electronics, physical interaction, and artificial intelligence can work together to create a more expressive companion.
The project began with an idea: What if a digital companion could eventually have a physical presence and interact with its surroundings?
I developed a stationary working prototype to explore that idea, combining custom hardware, sensors, a Raspberry Pi, an ESP32, animated eyes, and an AI-assisted companion application.
The stationary Bloopy prototype integrates:
The application and hardware communicate to create an interactive experience rather than a standalone chatbot.
I developed Bloopy through an iterative process involving:
One of the greatest challenges was integrating hardware and software into a system that behaved as intended.
I designed two different PCBs:
Created for the stationary prototype.
This board was assembled and used successfully in the working prototype.
Designed for a proposed future mobile Bloopy design.
The board was manufactured but has not been assembled or validated as a working electronic system.
The two designs represent different stages of development, not two completed robots.
BloopyPrototype.3mf
The stand was designed in Fusion 360 to support the stationary robot prototype and its components.
It represents the physical structure used during prototype development.
Bloopy-App-Reconstructed/Recovered and reconstructed application source files.
These files document application structure and development work. They should not be interpreted as a byte-for-byte copy of every file used in the original running application.
Arduino-Uno-R3/Reconstructed Arduino Uno R3 example code based on the project's documented behavior.
The original project used an ultrasonic distance sensor, a keypad, and an LCD display.
PCB-Additional-Schematics/Original KiCad design resources for both custom PCB projects.
Each PCB project includes:
.kicad_pcb — PCB layout.kicad_sch — Circuit schematic.kicad_pro — KiCad project settingsBloopyPrototype.3mfOriginal 3D CAD model of the stationary Bloopy stand.
SOURCE_NOTES.mdAdditional information about source recovery, reconstruction, and the status of the uploaded files.
Before Bloopy, I learned foundational electronics and programming through an Arduino course.
After completing the course, I independently adapted earlier code examples to combine:
The program displayed sensor measurements in the serial monitor and keypad input on the LCD.
I also attempted a larger Arduino Mega project with multiple sensors.
That second project was unsuccessful because of difficulties with soldering and electrical connections. Although I did not finish it, the experience motivated me to learn better assembly techniques.
These experiences helped me understand how individual electronic components communicate and function together.
I used AI tools, including Claude, to assist with portions of software development.
My role included defining requirements, specifying behavior, reviewing generated implementations, requesting changes, integrating components, and troubleshooting the system.
Some software in this repository was reconstructed after the original development process. Reconstructed files are identified as such and should not be represented as the exact original deployed source code.
The original ESP32 firmware used in the working prototype is not included in this recovered source collection.
For details, see SOURCE_NOTES.md.
Completed: Functional stationary Bloopy prototype integrating custom electronics, sensors, animated eyes, Raspberry Pi processing, and a companion application.
Future development: Improving physical expressiveness, exploring mobility, and developing more continuous character animations that make Bloopy feel alive.
My long-term goal is to continue learning how mechanical design, electronics, and software can come together in complete robotic systems.
I'm Brandon Carmona Guerena, a high school student in Phoenix, Arizona, interested in robotics and engineering.
I enjoy learning by building, experimenting, making mistakes, and improving my designs.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 13 | 10kΩ | Resistor_SMD:R_0805_2012Metric | R_BNO_BOOT_PULLUP1, R_BNO_RST_PULLUP1, R_BOOT_PULLUP1, R_DRV_SLEEP_PULLUP1, R_EN_PULLUP_ESP32, R_M1_ENC_A_PULLUP1, R_M1_ENC_B_PULLUP1, R_M2_ENC_A_PULLUP1, R_M2_ENC_B_PULLUP1, R_M3_ENC_A_PULLUP1, R_M3_ENC_B_PULLUP1, R_U3_FAULT_PULLUP1, R_U4_FAULT_PULLUP1 |
| 4 | 0.1uF | Capacitor_SMD:C_0805_2012Metric | C_BNO_100N1, C_BNO_CAP1, C_EN1, C_ESP32_100N1 |
| 4 | 0Ω | Resistor_SMD:R_0805_2012Metric | R_U3_AISEN1, R_U3_BISEN1, R_U4_AISEN1, R_U4_BISEN1 |
| 4 | MountingHole | MountingHole:MountingHole_3.2mm_M3 | H1, H2, H3, H4 |
| 3 | 2.2kΩ | Resistor_SMD:R_0805_2012Metric | R_SCL_PULLUP1, R_SDA_PULLUP1, R_VMOTOR_LED1 |
| 2 | 0.01uF | Capacitor_SMD:C_0805_2012Metric | C_U3_VCP1, C_U4_VCP1 |
| 2 | 100kΩ | Resistor_SMD:R_0805_2012Metric | R_EN_PULLUP1, R_GATE_PD1 |
| 2 | 10uF | Capacitor_SMD:C_0805_2012Metric | C_ESP32_BULK1, C_VBAT1 |
| 2 | 2.2uF | Capacitor_SMD:C_0805_2012Metric | C_U3_VINT1, C_U4_VINT1 |
| 2 | TestPoint | TestPoint:TestPoint_Pad_D1.5mm | T_DRV1, T_DRV2 |
| 1 | 0.1uF | Capacitor_SMD:C_0603_1608Metric | C_SS1 |
| 1 | 0.1uF 16V | Capacitor_SMD:C_0805_2012Metric | C_MOTOR_100N1 |
| 1 | 0kΩ | Resistor_SMD:R_0805_2012Metric | R_BNO_SA0 |
| 1 | 12V Zener diode | Diode_SMD:D_SOD-123 | D_GS_ZENER1 |
| 1 | 1uF | Capacitor_SMD:C_0805_2012Metric | C_BNO_1U1 |
| 1 | 2.2uH | LQH44PN2R2MP0L:IND_LQH44PN2R2MP0L | L_3V3 |
| 1 | 221kΩ | Resistor_SMD:R_0805_2012Metric | R_FB_BOTTOM1 |
| 1 | 22uF | Capacitor_SMD:C_0805_2012Metric | C_3V3_OUT1 |
| 1 | 3300pF | Capacitor_SMD:C_0603_1608Metric | C_FF1 |
| 1 | 470uF | Capacitor_THT:CP_Radial_D8.0mm_P3.50mm | C_BAT_BULK1 |
| 1 | 470uF 16V | Capacitor_THT:CP_Radial_D8.0mm_P3.50mm | C_MOTOR_BULK1 |
| 1 | 47uF | Capacitor_SMD:CP_Elec_6.3x5.8 | C_VBAT_BULK1 |
| 1 | 5A fuse | Fuse:Fuse_Blade_ATO_directSolder | F_BAT1 |
| 1 | 698kΩ | Resistor_SMD:R_0805_2012Metric | R_FB_TOP1 |
| 1 | BNO086 | IC_BNO086:IC_BNO086 | U2 |
| 1 | Boot button | Button_Switch_SMD:SW_SPST_TL3342 | SW_BOOT1 |
| 1 | Buck Input | TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2-5.08_1x02_P5.08mm_Horizontal | J_MOTOR_BUCK_IN1 |
| 1 | Buck Output | TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2-5.08_1x02_P5.08mm_Horizontal | J_MOTOR_BUCK_OUT1 |
| 1 | Conn_01x02 | TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2-5.08_1x02_P5.08mm_Horizontal | J_BAT1 |
| 1 | DRV8833_M1_M2 | digikey-footprints:TSSOP-16-1EP_W4.40mm | U_DRV2 |
| 1 | DRV8833_M3 | digikey-footprints:TSSOP-16-1EP_W4.40mm | U_DRV1 |
| 1 | ESP32-WROOM-32E | RF_Module:ESP32-WROOM-32E | U1 |
| 1 | LED | LED_SMD:LED_0805_2012Metric | D_VMOTOR_LED1 |
| 1 | Motor 1 + Enconder | Connector_JST:JST_XH_B6B-XH-A_1x06_P2.50mm_Vertical | J_MOTOR1 |
| 1 | Motor 2 + Encoder | Connector_JST:JST_XH_B6B-XH-A_1x06_P2.50mm_Vertical | J_MOTOR2 |
| 1 | Motor 3 + Encoder | Connector_JST:JST_XH_B6B-XH-A_1x06_P2.50mm_Vertical | J_MOTOR3 |
| 1 | Optional Sensor | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | I2C1 |
| 1 | Programming Header 1x6 | Connector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_Vertical | J_PROG1 |
| 1 | Q_PMOS_GDS | Package_TO_SOT_SMD:TO-252-3_TabPin2 | Q1 |
| 1 | Raspberry Pi / AI Signal Connector | Connector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_Vertical | J_AI1 |
| 1 | Reset button | Button_Switch_SMD:SW_SPST_TL3342 | SW_RESET1 |
| 1 | SPST power switch | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | SW_MAIN1 |
| 1 | TLV62150 buck regulator | Package_DFN_QFN:VQFN-16-1EP_3x3mm_P0.5mm_EP1.6x1.6mm | TLV62150RGTT1 |
| 1 | VMOTOR_6V | TestPoint:TestPoint_Pad_D1.5mm | TP_VMOTOR1 |

BrandonC27-Engineer/Bloopy-Robot
Bloopy is a personal AI companion robot prototype integrating custom PCB designs, ESP32 sensors, Raspberry Pi processing, interactive OLED animations, and an AI-powered companion app.




kocer/direct-sampling-sdr
Direct-sampling SDR transceiver with four phase-coherent channels, and a class-A power amplifier for 1.8 to 54 MHz.

wubneh/MCTR260-pico-firmware
Raspberry Pi Pico W robot controller firmware for MCTR 260 Mechatronics Design. Dual-core BLE architecture with mecanum drive, stepper/DC motor support, and configurable motion profiles.

ALECIA13/EEE3088F-2025
This repository contains the Power Module for a Micro-Mouse robot project, developed as part of the EEE3088F (2025) course.

DesignStraub/ringwheel-hybrid-drone
A 5-inch FPV drone whose prop ducts fold down and become wheels. Design study in Fusion 360 and KiCad, CC BY-NC-SA 4.0.

GoldenExperienceR/EEE3088F-Project-PCB-Files-Group-36-TRKJON002-MTMTAD006
EEE3088F Project Power PCB KiCad Design
It measures 73.1 × 99.9 mm and has 2 copper layers, 1.6 mm thick.
72 parts, built around the ESP32-WROOM-32E, DRV8833PWPR and BNO086. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the BrandonC27-Engineer/Bloopy-Robot repository on GitHub, at the commit this page was made from: the board is PCB-Additional-Schematics/BloopyHardware/BloopyHardware.kicad_pcb and its schematic PCB-Additional-Schematics/BloopyHardware/BloopyHardware.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask BrandonC27-Engineer before reusing the design.