Spring 2019

You are not logged in.

If you are a current student, please Log In for full access to the web site.
Note that this link will take you to an external site ( to authenticate, and then you will be redirected back to this page.

1) Overview

A number of folks in the internets have integrated camera functionality with the ESP32. They're usually doing so using camera boards of this type, which while they can be very cheap, require significant processing on the side of the microcontroller. This often means that integrating additional equipment with the micrcontroller can be a hassle.

ArduCAM which makes the board above, also produces a series of cameras with additional onboard processing to simplify the integration. this camera here costs more, but is an attractive option since it has a CPLD (Complex Programmable Logic Device which is like an FPGA...a Field-Programmable-Gate-Array) that is a dedicated piece of hardware to do the heavy-lifting of image processing allowing the microcontroller to focus on other other words it'll be much easier to have the ESP32 multi-task and to write non-blocking code.

2) Libraries

ArduCAM, the company which sells the modules above, does not have their libraries released separately to interface. Instead they sell an ESP32 Uno like board, but we aren't using that. What we can do instead is wire it up like the following:

Camera Wiring

Then download the entire repo here: ARDUCAM REPO and when it is downloaded, drag the following libraries into your standard Documents>Arduino>libraries folder:

  • ESP32WebServer
  • ArduCAM

Then download this slightly modified file and finally start at Step 4 here: to get it rendering images in a web-brower.

Chances are you'll probably want to POST your images that you take, in which case I'd recommend you figure out how to get the jpg data back from the camera object, then base-64 encode it, and send it up in json and then decode it in Python on the other end and write a jpg.

This page was last updated on Friday April 12, 2019 at 07:53:07 AM (revision a4e5397).
Course Site powered by CAT-SOOP 14.0.4.dev5.
CAT-SOOP is free/libre software, available under the terms
of the GNU Affero General Public License, version 3.
(Download Source Code)
CSS/stryling from the Outboxcraft library Beauter, licensed under MIT
Copyright 2017