Skip to content

midcodegabby/ARM-TSL2591

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This project is a from-scratch implementation of a TLS2591 light sensor driver. My main goal for this project was to learn about the I2C communication protocol by implementing it from scratch between an STM32 Cortex-M4 mcu and a TSL2591 light sensor.

Things learned:

  • I2C communication protocol: implementation, use, and electrical characteristics
  • Configuring clocks and gpio for I2C communication
  • Enabling and using the FPU in ARM Cortex-M4 microcontrollers
  • Debugging I2C via Logic Analyzer

Status:

  • In-Progress
  • Operational
  • Accuracy is high (90% - 95% accuracy compared to Photone iPhone app measurements)

Next steps:

  • Switch from ~5s busy loop polling to interrupt polling

Possible future implementations:

  • Function to reset I2C bus from a deadlocked state

Youtube video link (final test; 90% - 95% accuracy): https://www.youtube.com/watch?v=m42UTxCefyY&t=5s

Youtube video link (first test; 30%-50% accuracy): https://www.youtube.com/shorts/LOIbflBZAfY

About

A bare metal I2C driver for STM32L476 MCUs to communicate with TSL2591 light sensors.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published