Add an 1.5 inch RGB OLED display to the Tiny Machine Learning Kit

I’d like to see what the OV7675 camera sees via an 1.5 inch RGB OLED display added to the Tiny Machine Learning Shield used in the HarvardX TinyML Deployment course.

Seeing what the OV7675 camera sees would allow me to position the camera to capture the correct field of view.

I’ve researched a bit and found a video doing this for an Arduino Uno and an OV7670 camera. OV7670 Camera Module with Arduino: 10fps Video (Step-By-Step guide)

The Uno is 5v and the Nano is 3.3V, so that breaks following the video exactly.

In addition, the 5V pin on the Nano is disconnected. Why doesn’t the 5V pin work in the Arduino Nano 33 BLE boards?

Does anyone know how to make this work?

1 Like

Hello @halheinrich .
If you want you can follow my post:

https://discuss.tinyml.seas.harvard.edu/t/youtube-videos-tiny-ml-kit-as-standalone-mode-battery-and-display/607?u=gteixeira

there I am showing how to do something like that.
I hope it can help you.

That video is awesome!

A couple of questions:
Can I power your setup with a USB battery bank? The kind used for smartphones and tablets?
How do I get the image from OV7675 camera onto the OLED?

Hello @halheinrich
You can use USB battery bank if it can provide the necessary amount of mA for the setup. I have tested here and it did not work, maybe because my battery bank is very old and deliver lower mA than required.
About the image from the camera onto the OLED, I have never tested it, but I believe it is not a good approach, since it will consume a lot, or all memory and it will increase a lot of looping processing time, increasing the application latency. Probably you will need to wait 3 or 4 seconds to get the result on OLED.

1 Like

Considering that much of the effort in the video is about down-converting 5V to 3V using a ton of 1k and 680 resistors, and here you have 3.3V directly, I´m not sure why you´d want to follow the video exactly. You should be able to connect the pins directly, unless you´re worried about the 2.5V-3V vs 3.3V difference, which -perhaps- you should be, in which case you could simply use different resistors. In case it´s not clear,

5V * 1k / (1k +680) ~ 2.98V

3.3V * 1k / 1.1k = 3V
3.3V * 1k / 1.2k = 2.75V

So, you could simply replace the 680 ohm resistors with 100 or 200 ohm parts and get compliant I/O voltage levels from your 3.3V supply voltage.

1 Like

You are right - I don’t want to follow the video exactly. I just want a viewfinder, so I can position the Arduino nano and the OV7675 camera. I’m very new to pins, resistors, volts, and amps. That video is just the closest match I could find.

Or, you may be interested in one of these puppies (no wires, no hassle, only 50USD):

1 Like

That is awesome - thx! - I expect to get one down the road a bit.