• Models
  • Contests
  • Slicer
  • Login
  • Start Here
    thingiverse-iconprintables-iconcults3d-iconmakerworld-iconmyminifactory-icon

    3D GO

    3D ModelsContestsCollectionsSaved ModelsOn a mobile device?

3D GO

Privacy Policy
Ring light for ESP32-Cam Case 3D Printer File Image 1
Ring light for ESP32-Cam Case 3D Printer File Thumbnail 1

Ring light for ESP32-Cam Case

VolkerMueller avatarVolkerMueller

January 13, 2025

printables-icon
DescriptionCommentsTags

Description

I wanted to install fuchsr's remix of the popular ESP32-CAM Case (initially designed by bkgoodman) … but I needed a stronger light. So I bought one of the 12 LED neopixel ring lights from Aliexpress and designed this holder, that glues to the original case. The three wires can be threaded through the original flash LED hole.

Can be printed facing down - if bridges sag, needs a little cleanup before glueing the LED ring to the holder.

 

====================

 

I'll try to explain how I changed the “original Prusa camera firmware" for ESP32-CAM for the AI-Thinker module to light the Neopixel ring. Do this at your own risk - and NO, I can't put this on GitHub as a fork because I do know how to code - but I never used GitHub or anything similar and I'm not going to learn how to do it just for this project ;)

Firmware source - this worked for me on December 28th, 2024
https://github.com/prusa3d/Prusa-Firmware-ESP32-Cam

NeoPixel data pin must be connected to pin 13 of the ESP32 board. Connecting an external temperature/humidity sensor will NOT be possible anymore. Light will be permanently on in a dimmed state and will light up at 100% for the configured flash time. 

 

camera.h

After the existing #include lines, add
#include <Adafruit_NeoPixel.h>

 

camera.cpp

In the definitions, after
Camera SystemCamera(&SystemConfig, &SystemLog, FLASH_GPIO_NUM);
insert
Adafruit_NeoPixel neostrip = Adafruit_NeoPixel(12, FLASH_NEOPIXEL_LED_PIN, NEO_RGB + NEO_KHZ800);


In Camera::Init, after
  InitCameraModule();
  ApplyCameraCfg();
  GetCameraModel();
insert
  neostrip.begin();
  neostrip.setBrightness(100);
  neostrip.show();


In Camera::SetFlashStatus, after 
/* rgbLedWrite control of the FLASH */
change code to 
#if (true == CAMERA_FLASH_NEOPIXEL)
  if (true == i_data) {
    for(int i_px=0; i_px<12; i_px++)
      neostrip.setPixelColor(i_px, FLASH_ON_STATUS, FLASH_ON_STATUS, FLASH_ON_STATUS*0.45);
  } else if (false == i_data) {
    for(int i_px=0; i_px<12; i_px++)
      neostrip.setPixelColor(i_px, FLASH_OFF_STATUS, FLASH_OFF_STATUS, FLASH_OFF_STATUS*0.25);
  }
  neostrip.show();
#endif

 

module_AI_Thinker_ESP32-CAM.h

Change 
/* --------------- FLASH LED CFG  ---------------*/ 
to
#define ENABLE_CAMERA_FLASH         true
#define CAMERA_FLASH_DIGITAL_CTRL   true
#define CAMERA_FLASH_PWM_CTRL       false
#define CAMERA_FLASH_NEOPIXEL       true
#define FLASH_GPIO_NUM              -1
#define FLASH_NEOPIXEL_LED_PIN      13
#define FLASH_OFF_STATUS            64
#define FLASH_ON_STATUS             255
//#define FLASH_PWM_FREQ              2000
//#define FLASH_PWM_CHANNEL           0
//#define FLASH_PWM_RESOLUTION        8

Change
#define DHT_SENSOR_ENABLE           true
to false

License:

Creative Commons — Attribution — Noncommercial — Share Alike

Related Models

#3DBenchy - The jolly 3D printing torture-test by CreativeTools.se preview image

#3DBenchy - The jolly 3D printing torture-test by CreativeTools.se

CreativeTools profile image

CreativeTools

90,910

Important information sign for 3D printers / Wichtiges Hinweisschild für 3D-Drucker :) preview image

Important information sign for 3D printers / Wichtiges Hinweisschild für 3D-Drucker :)

Pat_S profile image

Pat_S

sign: don't touch my 3d printer preview image

sign: don't touch my 3d printer

Izzodesign74 profile image

Izzodesign74

600

Self-Watering Planter (Small) preview image

Self-Watering Planter (Small)

parallelgoods profile image

parallelgoods

73,152

X, Y and Z calibration tool for IDEX / dual extruder / dual color 3D printers preview image

X, Y and Z calibration tool for IDEX / dual extruder / dual color 3D printers

Voxel3D_NL profile image

Voxel3D_NL

204

Gift Box preview image

Gift Box

roby85r profile image

roby85r

1,508

All In One 3D Printer test preview image

All In One 3D Printer test

majda107 profile image

majda107

64,498

axes calibrage cube-xyz for 3d printers preview image

axes calibrage cube-xyz for 3d printers

H- printed profile image

H- printed

9

7