Arduino Selfie Camera

11,954

42

12

Introduction: Arduino Selfie Camera

About: Make it yourself if you cannot buy one!

This intructables show how to a very simple way to build a Arduino Selfie Camera.

Step 1: Hardware Preparation

TTGO T-Camera Plus

This is a ESP32 board with built-in OV2640 camera and 240 x 240 IPS LCD. Camera application require extra memory, so it also built-in 8 MB PSRAM and micro SD card slot. And it also built-in Lipo charging and regulation circuit. So it is ready to build a digital camera out-of-the-box!

Micro SD Card

Any micro SD card below 64 GB should be ok, smaller should reduce scanning overhead.

Lipo Battery

A small size Lipo battery with 1.27 mm plug.

Strap

A wrist strap or neck strap for easy handle the camera.

Step 2: Software Preparation

Arduino IDE

Download and install Arduino IDE if not yet: https://www.arduino.cc/en/Main/Software

Arduino ESP32 Support

Please follow Installation Instructions at GitHub: https://github.com/espressif/arduino-esp32#instal...

Step 3: Upload Program

  1. Download the source code from GitHub: https://github.com/moononournation/arduino-selfie-...
  2. Plug TTGO T-Camera to the computer
  3. Open in Arduino IDE
  4. Select Board to "ESP32 Dev Board"
  5. Enable PSRAM support
  6. Press upload button

Step 4: Assembly

Plug the Lipo battery to the main board and put on the wrist strap.

Optional:

You may download and 3D print a case at Thingiverse: https://www.thingiverse.com/thing:3620973

Step 5: Happy Selfie!

The above picture is taken from this selfie camera.

It only 2 megapixels and no auto focus but it is very tiny and LOMO feel ;>

Here are the snap steps:

1. Press reset button to turn on the Arduino Selfie Camera
2. Camera count down from 3
3. Adjust your favourite angle
4. Camera start take 3 snap photo in a row
5. Auto playback last taken photo
6. Enter sleep mode after 5 seconds 5. Press reset button to take a snap again
Arduino Contest 2019

Participated in the
Arduino Contest 2019

3 People Made This Project!

Recommendations

  • Back to School: Student Design Challenge

    Back to School: Student Design Challenge
  • Organization Contest

    Organization Contest
  • Lamps and Lighting Contest

    Lamps and Lighting Contest

12 Comments

0
jy1999
jy1999

Question 6 months ago on Step 5

Hi, I have codes for this board to be a webcam server, using local WIFI. But the codes do not stream video to the OLED ST7789 screen. Do you think you can help and make some suggestions? I got the following codes here:
https://github.com/Xinyuan-LilyGO/LilyGo-Camera-Se...

It has codes for other TTGO cam boards, but the codes do not include the correct ST7789 screen for this board. Any help will be much appreciated. Thanks

0
陳亮
陳亮

Reply 6 months ago

Wild guess you should uncomment `// #define T_Camera_PLUS_VERSION` in your code.

0
jy1999
jy1999

Reply 6 months ago

Hi, I did uncomment that line, and get the webcam server to work. But, not the screen on the cam board, as the codes are for SSD130 OLED and not ST7789. I tried to mod the codes to ST7789 but no luck so far, as I am not familiar with the programming.

Just wonder if I can use some of your codes for the selfie camera to make to work. Have you tried it before? A webcamera with local screen working would be an interesting application for this camera board. Appreciate if you can provide some advices. Thanks

0
0722575036sante
0722575036sante

Question 7 months ago

My module keep resetting if I try to connect via wifi, does anyone know why?

0
陳亮
陳亮

Answer 7 months ago

seems power shortage

0
MkeS
MkeS

Question 1 year ago

What measure are the screws? thank you

0
陳亮
陳亮

Answer 1 year ago

It should be 10 mm M2.5, just reuse Raspberry Pi case screws.

0
TurbulenteL
TurbulenteL

1 year ago

Great! I made it work with my TTGo Plus, but the pictures won't save in the SD Card. Do you know why this could be happening?
And, it would be great if you could tell me where can I find the original code that came with the camera, so I can go back to use it for video -streaming. I've been looking everywhere.
Thanks a lot!!!

0
emp96
emp96

2 years ago

Is it possible to change the input to take a picture? I'm working on a project that uses an RFID tag and will need to take a picture once the RFID tag is detected.

0
AldrinS10
AldrinS10

Question 2 years ago

I get this error message, pls. help...thanks

Arduino: 1.8.5 (Windows 10), Board: "ESP32 Dev Module, Enabled, Default, 240MHz (WiFi/BT), QIO, 80MHz, 4MB (32Mb), 115200, None"
C:\Users\*****\Documents\Arduino\arduino-selfie-camera2\arduino-selfie-camera2.ino: In function 'void setup()':
arduino-selfie-camera2:83: error: 'sensor_t {aka struct _sensor}' has no member named 'set_sharpness'
s->set_sharpness(s, 2);
^
arduino-selfie-camera2:85: error: 'sensor_t {aka struct _sensor}' has no member named 'set_denoise'
s->set_denoise(s, true);
^
Multiple libraries were found for "SD.h"
Used: C:\Users\*****\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.1\libraries\SD
Not used: C:\Users\*****\Documents\Arduino\libraries\SD
exit status 1
'sensor_t {aka struct _sensor}' has no member named 'set_sharpness'
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

0
Sjoerd X
Sjoerd X

Question 2 years ago

Could you show to LiPo battery that you are using?

0
陳亮
陳亮

Reply 2 years ago

402050 should be well fitted into the 3D printed case