Cole’s Status Report 02/14/2026

This week I focused on finalizing the hardware components for our design and finalizing the hardware design requirements. The majority of the time I spent this week was analyzing tradeoffs between the hardware components and determining how it would affect the feasibility on the software end.

Hardware Finalization:

Processing:

Our initial design requirements were set on using a Raspberry Pi 5 with 8GB of RAM, due to availability our team has decided to instead use a Raspberry Pi 4 with GB of RAM. As a result of this change my work this week focused on reverifying the USB bandwidth limits, CPU performance headroom, power supply requirements, cooling needs, and camera interface compatibility. 

 

Audio

This week I considered different options for mic arrays and analyzed their performance metrics to determine which was the best for our design needs. 

 

Chosen Component: MiniDSP UMA-8 USB Microphone Array V2.0. 

Specifications:

  • 8-microphone circular array
  • Built-in beamforming capabilities
  • USB interface (plug-and-play with Pi 4)
  • No external ADC required
  • Reduces custom PCB complexity

 

Why this is the best option:

An 8-channel mic array offers a far more precise angular resolution compared to 4 and 6-channel mic arrays. For our design this is vital to achieving accurate direction of arrival and maintaining stable speaker tracking. This component is also USB compatible which offers more simplicity in hooking it up to the Raspberry Pi. Alternative components that utilize GPIO/I2S would require Kernel-level configuration, device tree overlays, and tight synchronization control. This would have made our design far more complex than necessary and difficult to achieve during the time period for this project.

 

Visual

This was by far the most difficult component that needed to be selected. Our design has a heavy focus on the visuals so this component had many constraints to consider when determining which option was the best. The design constraints I considered when determining which camera to use were: 360 degree field of view, multi-camera operation on a single Raspberry Pi, and synchronization with audio direction of arrival. 

 

Chosen Component: Arducam IMX291 160° USB camera

Specifications:

  • 1080p resolution
  • 160° ultra-wide FOV
  • Sony IMX291 sensor
  • USB UVC compliant

 

Why this is the best option:

This camera by far offered the best balance between integration simplicity, coverage, and performance. The most important feature of this camera was the ultra wide field of view. By having a 160 degree field of view our design can now attach three of these cameras, all with USB, making the connection to the Raspberry Pi simple. Alternative cameras such as CSI camera modules that I considered would have required a CSI multiplexer module to connect to the Raspberry Pi since there are only two CSI ports available. This would complicate the design and also prevent simultaneous 360 degree visual coverage. The camera I selected is also UVC compliant. This is huge plus on the software end since the cameras are recognized automatically by Linux and are able to work with OpenCV, FFmpeg, GStreamer, V4L2 tools.

 

Procurement and BOM

Once I finalized the components that we will be using in our design, I analyzed prices from different suppliers and updated the BOM. Once the budget requirements were determined to be met I placed the orders for the components.

 

Schedule

As of right now I am on track with my schedule.

 

Next Steps

Next week I am looking to start testing the hardware components on the Raspberry Pi 4 as they begin to arrive. The biggest focus I will have is on monitoring the USB bandwidth of the system because the Pi 4 shares USB bandwidth. I will begin by testing one individual camera at 1080p resolution and monitor: CPU utilization, USB stability, Frame drops, and Temperature. These will ensure that as the rest of our components get integrated we are on track with the design requirements.

 

Leave a Reply

Your email address will not be published. Required fields are marked *