My aquarium notes

Started 24Jul2018 – updated 15Aug2019
This page is in group Hobby and will become a blog note about my little aquarium. It has been a year since I introduced fishes to it, so it’s about time.


Fig. 1

Figure 1. Aquarium with LED light and undertank heating, with controller box. Øyvind Teig, July 2018 (Press for fullpixel)

Camera: Panasonic Lumix DMC-TZ100. The main picture above is shot on a tripod 2.4 m away under rather dark conditions since the aquarium is behind a carpet to try to remove reflections. Camera zoomed: lens focal length 34.6, f 5.1, t 1/25, ISO 1600. Then both pictures have been set up in Apple Pages and exported as PDF. Then converted to JPG and scaled to 900 and 4096 (press picture). Most of the recent pictures in my blogs have been made like this, even the picture here.

Observe that I am an electrical and computer engineer plus hobby maker, not a biologist. But I love aquariums for the beauty and tranquility of them. I haven’t forgotten the fishes in all the tech-speak below.

  • The tank is custom built of 6 mm “optiwhite” glass, 50 x 27 cm and 32 cm height. Topping it with water it would contain 39.5 litres. I ordered it at TAM Zoo (at Lade) here in Trondheim, and they ordered it from Imazo in Sweden. I think it’s produced in Poland
  • Volume taken up by not topping the tank, stones, sand and filter I have defined such that I have “30 litres” of water in the tank
  • The top enclosure and bottom frame is made from PVC sheet plastic. Both are lose, for the top this is really necessary; for the bottom it’s to make drying up spilt water easier, and for inspection of the aluminium heating frame underneath
  • The aquarium has undertank heating with 24 V DC max 2*24 W (with resistance wire about 2*14 m length for even temperature layout), controlled with max 40 deg C in the heating compartment. There is an over-temperature melting fuse of 84 deg C
  • The water temperature is measured on the outside of the aquarium. Yes it is possible. I also did this with my previous aquarium. The thermal conductivity of water and glass are, as a pair, quite different from that of air. This means that the air won’t be able to stop the water’s temperature from appearing on the outside of the glass. Besides, the tiny temperature fall would be almost constant over the regulator’s range. The temperature I2C sensor is pressed onto the glass and connected to it with a thermally conducting paste, inside a glued-on POM plastic enclosure, also for insulation from the air. Temperature is regulated to 25.0 degC
  • The temperature regulator, in addition to the heating compartment’s temperature and the water temperature, also measures the ambient temperature. I will later fully describe the regulator algorithm
  • Controller. The controller box contains an XMOS startKIT, coded in XC with the xTIMEcomposer tool. It also contains a high accuracy clock with battery backup. There are three buttons and a tiny display for readout and setting of parameters, some of which are permanently stored in internal FRAM memory. All cables are pluggable. See picture of the box here, plus all my blogs about the technicalities here.
    • I also have a USB watchdog and two relay outputs plus two open drain outputs box, see My USB watchdog (and relay output) box (and below). One of the two 230V AC outputs I use for a submerged water pump that I was able to hide behind some stone slates. It is for the water surface and is mechanical filtering, it’s not a biological filter, which would require constantly running water through it. I am testing the EHEIM surface skimmer Skim350 that runs on 230V AC and draws 5W. I really can’t hear it unless I’m very close to the aquarium.
      There is a button on the USB watchdog box to set three states. Every time I change a state a 100, 200 or 300 ms beep is heard in the controller box. The relay is read every 1 second, so hearing the beep is useful.

      • State 0: both relays are off. Red LED is blinking every second. Since state 1 is normal operation (I have to set it after power-up with the button) then any restart will easily be seen with the blinking red LED
      • State 1: Relay 1 is running for 15 minutes, starting on the hour, on the average every three hours, at day-time only. The red and green LEDs are both off. However, the yellow relay-LEDS will light when the relays are on
      • State 2: both relays on for three hours unconditionally. Used, like after replacing some of the water and cleaning
      • The box also has a “Loft board” that has two open drain outputs, that I am thinking of using for a feeding automation
  • Lighting, se chapter Lighting
  • The LED strips are all in a frame with air passing through for cooling, air slightly sucked in in the back and out in holes in the PVC top. This compartment is between the PVC top frame and the aquarium’s top glass, sealed from water or moisture. Holding my hand on the top I don’t feel any heat
  • There are three DC power sources: 12V for LEDs, 24V for heat and 5V mobile charger with micro USB for the controller box
  • I have been able to squeeze in a radio board and software to the controller box to export data (finally, to the web?). I have described it it in My aquarium’s data radioed through the shelf. I use a RFM69HCW packet radio board sending in the 433 MHz band. The data is now picked up by a client running on another XMOS board (here) with the same type of radio board plugged in. Both sw run quite well. For the aquarium controller’s power-up I have set sending by default to off. The reason is that I struggled with the SW, and should I not have solved it 100% (this doubt is why I introduced the USB watchdog box) and the cause of the malfunction was the radio SW, then when it’s default off restarting will not just be followed by another restart. It’s kind of fail to safe. So I have to enable it through the menu. When I am certain that the sending SW is stable and I have got the data export to the web working I will enable sending by default
  • There is an undergravel filter, vacuumed from a tube of raising air. See Water filtering (below)
  • The air pump is in the basement below. No motor or pump noise
  • For the fishes I only have some twelve cardinal tetra plus two armored catfish and a nice little shrimp. They seem to be quite happy. Update: the cardinal tetras seem more vulnerable to disease (also in the fish shop), so now I have only 6 of them plus 6 black neon tetra
  • Plus, too much common bladder snails and a single clea helena snail (more than one does not work, sorry. They mate all the time). Update: some time all the common bladder snails disappeared completely. Great! But please tell me why
  • This is my fourth aquarium. The sand and some of the stones have been reused from my previous aquarium that was put away some 25 years ago. We don’t waste things here
  • Two year’s experience with nutrition of fish and plants, aquarium salt, aquarium GH salt, tap water is quite ok, filtering and air, plus LED colour temperature and photosynthesis. Plus life and death.. Update: none of my fishes really need salt and GH is fine so I have stopped with all that. I saw that once three cardinal tetra died it was because I had got this white stuff on them from the shop. It was not loss of salt
  • Aug2019: I got an upswing of cyanobacteria (these days not categorised as algae at all, but the names slime algae, blue-green algae and smear algae are still in use) [7].
    • I had replaced 1/3 of the water weekly, I had cleaned the sand and the aquarium. (But when i digged further into the sand I saw that there was even more dirt.) I had the skimmer pump and new gravel water filter (below) installed. I had stopped with salt and GH salt. The slimy stuff came back fast, like a day or two after cleaning, and after a week it was not nice. (Even if the fishes did not seem to care.) I started to clean the plants and glass and sand especially, since it came off in flakes. These bacteria live by photosynthesis, so my LED spectrum or lighter days and nights here in Norway, with sunshine some times hitting the aquarium  (when I had forgotten to bring the curtain down) must have been top of the menu for the slime. I had set the light intensity down to 1/3 (but I had also tried increasing it to 3/3 to see if the proper plants then would take over in the balance). I brought the day time in the aquarium down from 14 hours to 12 hours
    • But I gave up and asked for chemicals. I bought Happy-life algin-extra at my local aquarium shop [8]. It seemed like the cyanobacteria did not come back. I am now at day 10 of a four week cure and it looks like wonders. I have a weak source that tells that the active ingredient the product is salicylic acid [9] which breaks some cycle in the bacteria’s energy supply circle
    • I took up aquarium salt and GH-salt at half doses (for the catfish – if they even survise the cure. I hope some normal algae will survive..)
    • Norwegian: blå/grønn-alge, blå-grønn alge, blågrønnalger, BGA, cyanobakterier

Next chapters

This note is by no means finished. But I fill in the chapters here on irregular basis.

The Manual

Figure 2 – Control box manual (in Norwegian, press for PDF (15 MB))

It might be of some value to download this even if you don’t understand a word Norwegian.. (Press picture to read PDF)

Aside: Page by page source is in Pages, then exported to PDF. Then from Preview I copy/paste the PDF of each page into another Pages document with four pages (in one 2*2 table per page), each small page of size 119*87 mm if you print on A4 paper


The regulator does 25 degC. This is probably OK for all. The living creatures I have in the tank, the regulator’s range (we do have a night temperature lowering of four degrees (only electrical heating, so that’s possible), and how hot it may be in our house.

No cooling

Cooling the tank would have been nice for a few days. We don’t have an air condition, as that isn’t much needed in private homes in Trondheim

At the time of writing this paragraph (late in July 2018) we have had 34 degC outside in Trondheim, and with all windows closed (we don’t have heat pump that could be reversed for air cooling) I have seen max 27.2 degC in the tank (worse, see Max temp read, below). When I was going to do the weekly partial water renewal of 30/3 = 10 litres of water I inserted 26.5 degC into the 27.2 degC and I could see that all the cardinal tetras were swimming like they were playing into the current from the incoming, cooler water. I had not seen that behaviour before, when I normally insert 25.0 degC into 25.0 degC. I infer from this that 27.2 degC is too hot for them, since they seemed to rather enjoy 26.5 degC – even if they didn’t look bad in the 27.2 degC. But is this correct? But I wonder if I correctly can read them like this, because:

Max temp read: 28.8 degC in the tank 31Jul2018! Terrible. But the cardinal tetras seem fine! According to Wikipedia’s Cardinal tetra article (below):

They prefer warmer water temperatures [above 24 °C (75 °F) or warmer]… The preferred temperature range of the fish is 26 to 28 °C (79 to 82 °F). However, if necessary they will live at 24 °C (75 °F)

Maybe I should raise the normal temperature?

Help with high temp

  • When the water temperature goes above 0.5 degC above the normal 25.0 degC then I take the light intensity down to 1/3. This is about 5W. From the max of some 15W I then save 10W from unwanted heating the aquarium from the top
  • I also saw that attaching a wet cotton towel on the front and spraying it with water every now and then, and having a small USM fan in front, did have some cooling effect. By measurement I think this took the temp down by 0,5 degC
  • When the room is hotter than the water then I also set up a shield I have for late evenings (to make it more quiet for the fishes) around the two other sides. This was to slow down on heating the water from the air



The aquarium has lighting with a total of 15.25W from mixed types of LED strips with 171 LEDs and more than 1210 lm (coloured strips unknown light power (lumen, lm)).
– Since different photosynthesis regions basically are a matter wavelengths (below), I should probably be around blue (450 nm) and red (660 nm) for good “PAR photosynthesis” (Photosynthetically Active Radiation, see Wikipedia below) and gpn mag [1]). Or as often seen, mostly in the 650 nm to 680 nm red range.
– So I must only hope that in this jungle of mostly colour temperature in Kelvin (that’s what they give me (plus CRI, see below)) that some of the wavelengths that are required would appear. More theory in this note later on.
– So far I have been in little good luck (update 11Nov2018: after 3 weeks of this light regime and new plants and fertilising better plus reduction from 14 to 10 hours light days – it looks much more optimistic. Earlier, even 3 weeks have shown degradation easily). You can find all my trials documented here. But this is my present try (on the top in the document):

  1. Channel 1: 3.25W total (from three strips) coloured with
    1. 18 LEDs blue (465 nm). This shouldn’t be to bad a wavelength
    2. 15 LEDs green (565 nm). See [5] about green light and photosynthesis
    3. 18 LEDs red (625 nm). This may be too low a wavelength. But according to [4] it doesn’t look too bad. Also, in the PAR Wikipedia article (below) “The YPF curve indicates that orange and red photons between 600 and 630 nm can result in 20 to 30% more photosynthesis”
  2. However depending on the Colour Rendering Index (CRI) and PAR amount of the white LEDs they should contain, more or less, light from the full spectrum, including blue, green and red (of some frequency) (I hope..):
    1. Channel 2: 3.4W (from one double-strip) white of 4200K with 48 LEDs 440 lm
    2. Channel 3: 8.6W from these two:
      1. 3.6W total (from two strips) of white of 6000K total of 48 LEDs 390 lm
      2. 5.0W (from one strip) of warm white 3000K with 24 LED 380 lm

LEDs 1, 2.1 and 2.2 are “high intensity” 100000 hours from Inspired LED (but 25000 hours to 90%? I don’t know). I have troubled with three other LED combinations, none with explicit red and green, and one with probably too white light. Therefore I added LEDs point 2.4, which are on a strip from North light (Clas Ohlson). The above LEDS with 2.3 instead being a 1.4 W 6000K probably was too white (even with the colours), nothing but algae grew! The present combination is new on 19Oct2018, so I’ll keep you posted. (Fig.1 above shows the aquarium before introduction of the coloured strips and with less white intensity.) I know some say that green is for colouring only, but my web research shows that green is in fact also needed (here). Besides, it needs to be there to make the sum white-ish when blue and red are present. I am now testing plant types more specifically, to see if I have any luck (combined with nutrition and light intensity). Here is some comfort as to why LEDs are difficult, see [2].

  • LEDs are controlled with day/night with gentle morning rise and sun-dawn intensity control that each last for 30 minutes. Light changes at 0, 10, 20 and 30 minutes and the steps are soft
  • There also is a random cloud simulation effect with soft light level shifting.  It basically takes the light down in the average every second hour for 3-10 minutes to a random entry in an intensity list. This may be switched off
  • Also, the length of the day may be set to 14, 12, 10 or even 8 hours. I use 10 hours light on at the moment

Control of my LEDs

As seen above I have three light channels that I control with three SW-driven PWM (pulse-width modulation) outputs. They basically do 1/3, 2/3 and 3/3 individually for each channel, with soft light changes that lasts for about seven seconds for every step. When 3/3 a channel is all on 100% of the time, not even a short pulse left. Code is written directly in xC. PWM frequency is 222 Hz (1500 ms period) and FETs would pull the LEDs that have a common 12V. This flickering is invisible for me, by a large margin (I could see 55 Hz),  and should be ok for most biological life [6]. EMI noise is avoided by limiting the rise and fall times of each power FET transistor’s output pull.

Aside: I see that commercial LED lights typically are controlled by PWM, 0-10V signal or the DALI protocol. See Wikipedia (below). I had no criterion to do anything standard, but it’s nice to see PWM mentioned.

What nanometer to hit which photosynthesis?

Excite Lighting GmbH has quite some interesting notes about LED and photosynthesis. I think the company mainly is in the plant-above-water business, but I am not certain how much this matters. However I did read “light spectrum which applies to all plant species and in all growth cycles” on a product page, so I guess that might include aquarium plants as well.

I have tried to analyse a figure and the accompanying text present in one of the Excite notes, BLUE AND RED LIGHT IN PHOTOSYNTHESIS [3]. I think I found some discrepancies. (The source of the curve is not given, but the PAR Wikipedia article (below) naturally also shows this phenomenon.) I also added a light spectrum from Wikipedia. Press to read as PDF:

Figure 3 – Analysis by me of a figure and text by Excite (press for PDF)

The original wavelength axis is quite confusing since it has a 30 nm/part and the numbers some times won’t match, so it is difficult to read and compare it to the text. Therefore I made each 10 nm also lined. I think that according to the figure and not the text:

  • Chlorophyll a (Wikipedia)
    • violet blue to blue peaks at 420 433 nm
    • orange to far-red peaks at 680 663 nm
  • Chlorophyll b (Wikipedia)
    • violet blue to green-blue peaks at 480 457 nm
    • yellow to red peaks at 630 650 nm
  • Beta carotene (vitamin A, don’t know if my aquarium plant needs this)
    • Peaks at 458 nm and 480 nm (figures not given in the text)

Disclaimer: this is all based on me hitting right with the positioning of the 700 nm point.

There is a figure also at Wikipedia (here) that is even less accurate than the above.

Where this takes me in the search for simple(r) LEDs for my aquarium is difficult to conclude.

However, just by coincidence I found a four year old paper (2012) [4] that shows that LEDs are indeed possible. Excite also shows this, I guess. But “good” LEDs come at some cost. And is this for my thin light fixture that I guess could allow at max 20W?

Water filtering

I don’t know why they call this undergravel filter since the basic, biological filter is assumed to be the gravel itself. I would have called it gravel filter or even sand filter? The basic idea is that there should be water below the gravel, the sand resting on filter grids. Then, in some way negative pressure (suck) should be applied to the undergravel water so that dirt will flow through the sand and eventually clog it. (So the sand must be cleaned from time to time).

Comment 1
I got a mail from a reader that the anaerobic bacteria’s cell digestion of dirt in the sand may lead to build-up of lactic acid and then methane gas in the sand. And that this is the major objective against gravel filter. Of course fishes die from methane. (But I guess there are other byproducts from this process that would become nutrients for the plants.) Build-up of lactic acid would especially happen in the corners, where circulation is lowest, he pointed out. I have talked with this guy locally some time ago and when I stirred in the sand I did have bubbles coming up. But after that, every week when I renew 1/3 of the water, I use a stick that holds the tube, but that is longer than the siphon. This way I can stir the sand and suck up some of the dirt. (Update: when I instead tested a wide tube gravel cleaner I already had I discovered that my long stick method was rather archaic. The cleaner didn’t suck up the sand, it just danced near the bottom, and so much dirt was released.) After this I only see negligible amount of bubbles. Thanks, Sverre!

The idea is to avoid the rather clunky filter system inside or external to the aquarium. This is my second aquarium where I use that system. But the first with this solution:

Fig.4 – Aquarium with undergravel filter and air stone as pump (alternative view or download is here)

In the figure above W is water, w inside a circle is flowing water. Dirt is d inside a square. G is the gravel or sand. Flowing air is a inside a circle. A is the air pump inlet. F is the plastic filter grid elements (article #A-885 by company Hagen, standard disclaimer). C is a heavy cylinder of stainless steel that i found in my basement. In the (other) anaerobic area f is a filter sponge, so I guess there will be biology going on there as well. (Biology is everywhere in an aquarium!) Now it’s the air stone s that creates bubbles that will rise through the tube and suck water from below, creating the negative pressure. The top tube ends some cm from the water table so that the air and water will also create a small rotation or current of the water; that’s r. Plus, the bubbles of air dissolve some air into the water which probably does not hurt the fishes.

The above solution came up by a coincidence since I saw that I got much cleaner water when I had to replace a defect vertical tube with an air stone. Since I still wanted to use the gravel filter and I had seen particles with my first negative pressure arrangement I combined. My not successful attempt (for almost two years!) was a higher no C (but a small cylinder still) and no s, and f above the air bubbling start point with air bubbling inside it in a tubular center – with a small inlet of water at the bottom of f. I have no figure of this, but forget it anyhow.

The above figure works quite well. It’s even more quiet from the aquarium. And the water is so much cleaner from particles. Another matter is that I still struggle with the plants. But I have coined that to be a problem with the LED light. As if there are anything in an aquarium that isn’t dependent on everything. It’s the balance that I find so hard to get to. But I am in the hope that this this gravel filter system will also help as a balancing part.

By the way, it’s easy to disassemble and clean the components above. The picture below shows the individual parts. The red matter I think is some kind of silicon that I have cut with a scalpel to form gaskets in the top and bottom of the steel cylinder. (I found so much interesting stuff in the scrap return container when the company I worked for moved location). The whole of it is completely hidden behind vertical slate stones. (Aside: I had to make distance nylon screws on the slate so that the fishes would not squeze themselves and become squezed to death. Now I see that they really enjoy that secluded part of the aquarium.)

Fig.5 – Parts of the bubbling filter system (press for fullpixel)

Four boxes seen

Fig.6 – Controller, ambient temp, USB watchdog and relay output plus 12V/24V powers enclosure below (press for more pixels)

  1. Controller box (right, front)
  2. Ambient temperature (right, middle). I2C in and out
  3. USB watchdog and output box. Two 230V AC relay outputs. Also two open drain outputs (right, behind). See My USB watchdog (and relay output) box, chapter Box with open drain outputs from Loft board. The latter will be used for automatic feeding. One of the relay outputs is used for the skimmer pump (above). The button is also seen (press picture for more pixels), in front, only just visible above and behind the controller box
  4. Enclosure (remodelled industrial PC box) containing 12V for LEDs and 24V for heating (left, on the lower shelf)


Wikipedia: Cardinal tetra, Cyanobacteria, DALI protocol (Digital Addressable Lighting Interface)PAR (Photosynthetically active radiation), PWM (Pulse-width modulation)

  1. Possibilities of LED Lighting by Johann Buck (2011), see
  2. Wikipedia: Grow light, LEDs: LEDs (Light Emitting Diodes), see here
  3. BLUE AND RED LIGHT IN PHOTOSYNTHESIS (15 Jul 2016) by excite Lighting GmbH, see
  4. Regulation of the growth and photosynthesis of cherry tomato seedlings by different light irradiations of light emitting diodes (LED) by Liu Xiaoying, Guo Shirong, Chang Taotao, Xu Zhigang and Takafumi Tezuka. See
  5. THE (IMPORTANT) ROLE OF GREEN LIGHT IN PHOTOSYNTHESIS (Dec2016) by excite Lightning GmbH, see
  6. Potential Biological and Ecological Effects of Flickering Artificial Light at PloS One by Inger, Bennie,Davies and Gaston, see
  7. Eradicate Slime Algae in an Aquarium. Keeping the tank clean and changing the water regularly will help. See
  8. Evolution Happy-Life Algin Extra by SMF Aquaristik in Germany:
  9. About the active ingredient in Happy-life algin-extra being salicylic acid: Avaforum thread “Happy-life algin regular/extra -et algemiddel som virker!” (see post 15 by Humunuku)

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.