RP2040 Thermal Imaging PCB

Credit-card sized thermal camera with QSPI flash and custom LiPo Battery Management System

The Objective

When I was between hardware projects for Formula, I decided to take on my own project. This project allowed me to explore discrete microcontroller architecture and construct on-board power management. My goal was to build a portable thermal camera without using premade modules or breakout boards. The idea was to get more experience in areas I hadn’t worked on with the team as well as make something practical that may assist with hardware testing in the future.

System Architecture

The imager is an MLX90640. The data from the sensor is processed by an RP2040 microcontroller. This MCU lacks internal flash memory, so an external QSPI Flash chip was placed for program storage. To make the camera more portable, a custom LiPo Battery Management System was designed. This system allowed direct power delivery via USB-C which would charge the battery, and power the device.

Design Rationale & Challenges

The main challenge was developing the device in such a way to stay mobile, thus, power path efficiency was critical. To prevent the system from constantly charging and draining the LiPo battery, a load-sharing circuit was implemented with a P-Channel MOSFET. This allowed for seamless power transitions between the battery and the USB-C power, keeping the battery healthy increasing its lifetime use. Another challenge was getting the credit-card-sized footprint. This required planning, measuring, and clever component placement and routing to ensure sensitive data lines weren’t crossed, everything was stable, and components were thermally sound.

Outcome & Validation

While this board has yet to be ordered and constructed, simulations make me confident in the design, especially around load sharing and power management. Furthermore, I was satisfied with the experience gained with routing a QSPI Flash module as well as engineering my own load sharing circuit.

Technical Specifications

  • Core MCU: RP2040
  • Architecture: Custom LiPo Battery Management System, and QSPI Flash Storage
  • Interfaces: USB 2.0, SPI/I2C, MLX90640
  • Tools Used: Altium Designer, JLCPCB, Raspberry Pi Pip Assets

Custom Battery Management System

Custom Battery Management System

Click to view full resolution

RP2040 and QSPI Flash

RP2040 and QSPI Flash Schematic

Click to view full resolution

Board Routing

[ Board routing pending export ]

Click to view full resolution


Interactive PCB Hardware

Click, drag, and zoom, or tap, two finger drag, and pinch (mobile)
to inspect board routing and component placement

> Interactive 3D .glb model pending export_