Skip to content

Pi Hat PCB

IsaacWax edited this page Jul 5, 2024 · 9 revisions

Pi Hat PCB

Outline

Pi Hat PCB Render

The Pi Hat PCB board controls the ROV. It is similar to a drone flight controller but developed specifically for our software stack and marine robotics applications.

Detailed Description

The Pi Hat, a custom-designed PCB, interfaces with the Raspberry Pi 4 and acts as the main interface for all the electronics. It connects the Raspberry Pi 4 to a Raspberry Pi Pico using the UART protocol to control our sensors and thrusters via a micro-ROS bridge, providing direct control of the Pico to the ROS network. The Pi Hat also connects to external temperature and depth sensors and a status LED. The Pico sends PWM and Dshot signals to the Lumineer ESCs. Although the Dshot protocol is not fully implemented yet, it would allow us to obtain telemetry data on the thrusters, such as power consumption and RPM. To control the pneumatics, cooling fans, and lights, 12V and 5V transistor switching circuits were included in the design. The Pi Hat has slots for additional breakout boards, such as the BNO085, BME280, and another custom PCB expansion board, because we did not have time to make a second revision with connections for all the extra sensors we needed to add. In the physical stackup, it sits neatly on top of both the Raspberry Pi and the power distribution board, allowing communication between the power board and the Pi Hat using the SMBus protocol.

Current Status

  • V1.0 tested and functional. Some bugs with the PCA servo driver, but this is only in use for the status LED, as we are using the Pico for all PWM Notes from V1.0 design processes:

Serves as general purpose information, as well as a checklist. Therefore every major connection/interaction must be listed here. by Isaac Eda

RPI Headers

  • This is the interface for the Raspberry Pi 4(RPi 4)
  • Supply Power: The Pi itself is powered by 5V through its USB port. No need for power input through the Pi hat PCB board.
  • I2C: The two I2C ports, SDA and SCL are extended through the PCB as BUS lines. Multiple devices connect to this BUS.
  • UART: The Pico W is connected to the Pi 4 via UART
  • Power Supplied(to other devices): Supplies 3.3V logic power to the BNO05 and BME280. Also supplies 5V logic power to the PCA9685 PWM chip.
  • Signal: Handles multiple inputs/outputs via GPIO to multiple devices, including; GPIO output for Power Switching Mosfets, output for BNO05 reset, input for BNO05 interrupt pin, input for BME280 Data, output for Pico W reset transistor switch, output for PCA9685 OE(output enable) pin.

Power Switching

  • This is for switching on/off the relatively large power from the Power Board PCB, whether it's 12V or 5V. Multiples of this circuit may be present on the Pi PCB. Multiple may even branch out from the same power BUS line.
  • Supply Power: Either 12V or 5V, supplied by the Power board PCB.
  • Signal: takes GPIO from RPi 4, to turn mosfet on/off
  • Power Supplied: (Multiple)Solenoid valves for switching pneumatics, miscellaneous 5V tooling.

BNO05

  • Inertial Measurement Unit(IMU)
  • Supply Power: Takes 3.3V logic power
  • I2C: Connected via I2C SDA and SCL
  • Signal: GPIO input for reset, GPIO output for configurable Hardware interrupt. Also a solderable jumper pad connected to supply power to change I2C address is included on the Pi hat PCB.

BME280

  • Humidity Sensor
  • Supply Power: Takes 3.3V logic power
  • I2C: Connected via I2C SDA and SCL
  • Signal: GPIO output for data

PICO W Headers

  • Supply Power: The Pico W is powered by 5V through its USB port. No need for input power through the Pi hat PCB board.

  • I2C: Connected via I2C SDA and SCL

  • UART: Connected to RPi 4 via UART RX and TX

  • Power Supplied(to other devices):

  • PCA9685 PWM

Sensors and parts

  • BNO085

    • This is used to check ambient temperature of the box. It is a good inductor of if the fan is running correctly. The humidity sensor ensures safe operating conditions
  • BME280

  • Internal Temp sensor on power board

  • Leak detection pcb

  • Cooling fan

  • External Temperature Sensor

  • Bar02 Pressure Sensor

  • Status LED

(TODO: need to add links and descriptions)

V1.0 Schematic (PDF) Pi_Hat_Schematic

To Do

V2: In design phase

  • will carrier an CM4 instead to of using a RPi4 to increase space efficiency and eliminate bloat that is not needed

Wiki

Boards

Teather

Network

Cameras

Sensors

Clone this wiki locally