Project:Aquarium Edge Illumination

From CoMakingSpace Wiki
Jump to: navigation, search

Aquarium Edge Illumination

Aq-edge working prototype.JPG
Status: in progress
Release Date: June 2018
Initiator: Lukas
Materials Used: LED strips, Arduino UNO
Software Used: Fusion 360
Approx. Cost: approx. 20 € (without the Arduino)

For my current research project, I need to film fish in a small aquarium (5-8 L) from the side and the top.

After some less succesful attempts, it seems the most even lighting that will not obstruct the top camera is a rectangle of LED strips along the top edge.

Initial Situation

Design Goals

  • light intensity & angle controlled independently for each side
  • electronics protected from the water
  • controlled from at least 1 m away


  • LED strip: "YourLED" 40 LED/m daylight (6000 K)
    • (somewhat) waterproof silicone cover
    • analog control
    • 3 mm thick
    • 10.5 mm wide
    • splittable every 7.5 cm
  • aquarium: 4 mm thick glass, partially laid out with 3 mm thick rigid foam board (probably PVC)
    • outside 26.5 × 18.9 × 23.1 cm
    • inside (top) 25.6 × 18.2 × 22.5 cm
    •  ! protruding glass pieces (17 × 99 mm) at short sides 7.3 mm below the edge


I will try cutting the LED strip into two 15 cm and two 22.5 cm pieces which will be powered through separate MOSFETs that are controlled by an Arduino microcontroller. The holders for the strips will be 3D printed and allow angle adjustments. Electronic connections will be protected by silicone and/or heatshrink. A control panel with dials for each strip's brightness would help with the setup process but is not a priority.


3D Printing

The first prototype for the 3D printed holders sat on the glass very well but was of course not perfect yet and missing some important features. These will be improved in the next version:

  • lip to shield the top camera from direct light would reduce ease of printing - probably just a piece of electrical tape in the end
  • slightly wider slots (+0.2 mm) so the screws slide freely
  • move "legs" to the edges so the LED strip's range of movement is increased and there is room for wing nuts "outside"
  • longer slots on all parts
  • deal with various design bugs in Fusion...
  • make all sides "short" - corners are too crowded with parts for free adjustment and may also be over-lit otherwise

The large parts should be printed with the area that will hold the LED strip touching the print bed. This orientation is important - it was not chosen for strength, but optimum conditions for the adhesive backing of the LED strips. This is also the orientation with minimum overhangs so mistakes should be prevented by design.


(buggy) breadboard assembly - any idea why the pulldown resistors don't do their job?
  • prototyped with a breadboard & Arduino Uno
    • suitable USB power supply would be 5V/500mA [1]
  • other components: four IRF510 MOSFETs, four 10 kOhm resistors as pulldowns, four 150 mm LED strip sections & 12V/1.5A power supply
  • wiring: pretty much according to Step 5 of "Intro to LED Strips" on
  • PWM control: analogWrite (pin, value)
    • accessing each LED strip's control pin (6 & 9-11) as "left", "right", "front", "back" in the code
    • input only via uploading new values to the Arduino...


Just some very simple bits of Arduino code ;-)

Accessible via GitHub in case you're interested.

Visible flickering of lights in the video was addressed by increasing the PWM frequency as described here.


  • pulldown resistors (10 kOhm) don't have any effect - does anyone have an idea why?
    • it gets dark enough for the sake of this project, but still annoying that I can't actually turn the light off completely...