Blog 1: Project Proposal
This 6-part blog series will go over the project build-up for a simple security camera. FPGA camera projects best demonstrate the parallel capability of FPGAs when interfacing with a high throughput device like a camera. As a side note, my past projects are mostly camera interfacing projects.
With some knowledge in Verilog HDL, you would be able to touch and manipulate every single pixel coming from the camera and do some image processing. You can do some cool stuffs like edge detection, plate recognition, bar code scanners, and face recognition.
However, for this blog series we will not do any image processing but focus only on the basic applications of a camera which is capturing images. This is to make this project as beginner friendly as possible. In simple terms, we will interface the camera with the CMOD S7 FPGA board and save the images to the SD card. To make it "smarter", we will add peripheral sensors such as PIR sensor, sound sensor, and temperature sensor to know when to start capturing images.
In short, we will make a simple security camera that will save images to the SD card when it detects movement (PIR sensor), loud noises (sound sensor), and fire (temperature sensor).
NOTE: I will not be using any specialized Xilinx IP (including MicroBlaze)
Why? Because when it comes to FPGA, I am a man of code re-use. One thing I learned after a year of making FPGA projects is how important and efficient it is to have a backlog of Verilog modules that would work and be portable to any FPGA. After I finish this project, not only will I have a working mini security camera but also another set of working Verilog modules (drivers for I2C, SPI, Camera, and a lot more) that I can add to my current collection which I can use on my future projects. A win-win for me!
Another matter is that implementing a module from scratch in pure Verilog is a serious effort that will require us to know deeply the underlying hardware implementations. This would not be wise for making a project with a tight deadline but would be perfect if the goal is to learn the hardware.
Preview for Next Blog
Now that we know what the end goal of this blog, it's time to get our hands dirty on this project. Next stop: SD card interfacing
6-Part Blog Series
- Security Camera #1: Project Proposal
- Security Camera #2: SD Card Interfacing
- Security Camera #3: Testing the SD Card Driver
- Security Camera #4: Interfacing with OV7670 Camera
- Security Camera #5: Adding Peripheral Sensors
- Security Camera #6: Project Demonstration and Final Words
To see more of my FPGA projects, visit my GitHub account: https://github.com/AngeloJacobo