Infrared Camera on the PIC32

Summary of Infrared Camera on the PIC32


This project integrates a FLIR Lepton thermal camera with a PIC32 microcontroller to display heat maps on a TFT screen. The system utilizes SPI for data transfer and I2C for camera configuration, while servos enable pan-tilt functionality. It supports three image modes (Raw14, AGC, RGB888) and two display modes (1-Screen, 4-Screen), the latter stitching multiple frames for a wider field of view.

Parts used in the Thermal Imaging Project:

  • PIC32 Microcontroller
  • FLIR Lepton Camera
  • TFT Display Screen
  • Pan-Tilt Servo Assembly
  • SG92R Mini Micro Servos
  • I2C Communication Interface
  • SPI Communication Interface
  • Pushbuttons (Button A, B, C)
  • External Power Supply (3.3V)
  • MATLAB Script for Logo Processing

Quick Solutions to Questions related to Thermal Imaging Project:

  • How is thermal data transferred from the camera to the microcontroller?
    Data is transferred via 8-byte transactions using the SPI protocol.
  • Can the system switch between different display modes?
    Yes, the system toggles between 1-Screen Mode and 4-Screen Mode using Button B.
  • What components control the camera's viewing angle?
    Two SG92R Mini Micro Servos actuate the pan and tilt movements.
  • Does the camera support multiple color mapping modes?
    The camera supports Raw14, Automatic Gain Control (AGC), and Red-Green-Blue 888 (RGB888) modes.
  • How does the 4-Screen Mode create a larger field of view?
    It stitches together four minimized images captured at different servo positions.
  • Why was Direct Memory Access not used for data transfer?
    The variable length of input data made DMA unusable due to memory allocation constraints.
  • What is the required frequency for the PWM signals sent to the servos?
    The servos require a new PWM signal every 20 ms, which corresponds to a frequency of 50 Hz.
  • How are pushbuttons utilized to change the system state?
    Button A cycles data modes, Button B switches display modes, and Button C enables or disables the servos.

About The Author

Muhammad Bilal

I am a highly skilled and motivated individual with a Master's degree in Computer Science. I have extensive experience in technical writing and a deep understanding of SEO practices.