The journey

Building the Dutch 90P

This is not a finished showcase. It is the complete record of the build: the setup, the mistakes, the measurements, what changed, and what comes next.

Earlier Scapes

This aquarium has been torn down and rebuilt several times. Each version taught me something, but almost none of it was recorded well enough to carry forward. Equipment choices, plant failures, lighting changes and maintenance decisions survived mostly as impressions, and a handful of photographs.

A nature-style planted aquarium with twin driftwood branches, dense stem plants and a sand path
June 2021: Nature style, wood and stone. Twin driftwood branches leaning in from both corners with a sand path between them, Anubias and Bucephalandra worked into the wood, and a red stem group holding the center. The structure here is hardscape: the wood decides the composition and the plants dress it.
A minimal aquascape: a java fern tree grown on branching wood above a hairgrass carpet, in a UNS tank
September 2025: The java fern tree. A java fern tree, fern grown along branching wood until the whole thing reads as a canopy, over a hairgrass carpet, with a lot of open water left alone. The opposite discipline to the 2021 scape: one mass, one dominant species, and nowhere to hide a mistake.

Both earlier layouts are hardscape. The wood and the stone set the composition, and the plants are grown around a structure that already exists. Years of building them is the reason the current tank is what it is, and the reason it is a departure.

A Dutch layout has no wood and no stone. There is nothing holding the composition up except plant groups, their colors and the discipline of trimming them into shape. That change is what made the light start to matter enough to measure: hardscape does not care whether the ends of the tank are dim, and plant streets do.

This one is different in one other way. This time the tank keeps a record.

Current Layout

Plant streets, no wood and no stone. The most recent full-tank photograph was taken on the 8th of August 2026, mid-photoperiod, with the room lights off and shot through the front glass, under the same conditions every published photograph here is taken under, so they can be compared to each other rather than admired one at a time. The layout has moved on since: several groups were moved or removed in September, the light changed, and the tank now runs with clear rear glass. A current photograph has not been published yet.

The Dutch 90P on 8 August 2026: plant streets across a 90 cm tank, no wood and no stone
The layout on 8 August 2026, five weeks in, photographed through the front glass with the room lights off. Every group in it is labeled at its position on the tank page.
A vivid red rosette plant in the mid-ground of the Dutch layout, against dark aquasoil
Color is the reason the light gets measured. A red that holds its pigment is doing so at a particular light level, and that level is a number rather than an impression.
Dense red and green stem plants filling a street in the Dutch layout
A street mid-fill. Stems grow toward the light, so the canopy that matters keeps moving, which is why the survey records depth per position and gets re-run rather than quoted once.

Building the Dutch 90P

The current aquarium is a Dutch-inspired street layout in a UNS 90P, started on the 3rd of July 2026. It was planted on fresh ADA Amazonia over Power Sand and started with the usual problem of an active substrate: the tank looked finished long before the water was stable.

The early weeks were dominated by ammonia testing, heavy water changes, plant adaptation and the slow work of establishing shape.

The 90P days after planting: small stems and bare aquasoil between the streetsPlanting week
The layout on 8 August 20268 August
Left, the first days after planting: bare aquasoil between the streets and stems barely above it. Right, the same tank on 8 August. Roughly five weeks apart.

Every species and the light measured at it · The measured ammonia curve · The tank now

Monitoring Before Automation

Pearl is the software behind the tank. It reads the controller, probes and maintenance history, and turns them into a record I can inspect later.

Continuous logging came first. Automation came afterward.

That order matters. Automating a system before understanding what it is doing only makes mistakes repeat more consistently.

TankNeptune ApexProbes & outletsPi running PearlRecordThis public site
The chain, left to right. The Apex owns the outlets and the hard safety limits; Pearl reads and records; a subset of that record is what you are reading now. Device addresses and control endpoints are not public.
The Pearl wall display showing pH, CO₂, conductivity, temperature, power draw and doser levels
The wall display from an earlier period, when Pearl was holding CO₂ against a target pH drop. Note ARMED · INJECTING and the progress toward a 1.0 drop. That loop has since been switched back to a fixed schedule. Kept here because a screenshot of what the system used to do is worth more than a description of it.

It is worth being plain about what that picture shows, because it does not match how the tank runs today. Pearl held the CO₂ loop for a while and it worked. It was still handed back to a fixed schedule: on water with almost no carbonate hardness the pH signal swings further than the dissolved CO₂ behind it, and a steady window turned out to beat a responsive one. A screenshot of a system doing something it no longer does is exactly the kind of thing a record is for.

How each system is built · Why the CO₂ loop is open · Neptune Apex

PAR Survey Findings

The baseline survey, 8 August 2026, under the original ADA Solar RGB.

Nineteen underwater readings across the layout, taken with an Apogee MQ-510 held at each plant’s canopy rather than once under the middle of the fixture.

Measured against a practical working range for each species planted there, not one position reads below its range. Eleven sit inside it and eight sit above it, the largest by a wide margin. Whatever else this aquarium is short of, light is not it.

What the numbers do show is spread. The brightest position reads more than three times the dimmest, and the bright readings cluster in the middle of the tank. The fixture is narrower than the tank is wide, so the constraint is how far its output reaches rather than how much of it there is.

55lowest readingµmol·m⁻²·s⁻¹
196highest readingµmol·m⁻²·s⁻¹
19positions measured

What came after

On the 17th of September 2026 a Chihiros WRGB II Pro 90 replaced the Solar RGB: a bar the length of the tank, with four channels where the pendant had none. Its first full survey, on the 18th, covered 15 positions. Across the 15 positions both surveys measured, the average went from 100 to 113 µmol and the highest-to-lowest ratio from 3.0× to 2.5×. That survey was taken with the fixture lower and the sensor at different depths, under a channel mix that has since changed, so it is a replacement dataset rather than a finished comparison. The Solar RGB is kept, and this survey remains the baseline.

Read the complete baseline survey: method, raw readings and depths · Experiment 006 · Solar RGB versus Chihiros

Mounting Height vs. Edge PPFD

The obvious no-cost fix was to raise the fixture and widen its footprint. I tried it.

The outer readings decreased, so the fixture went back to its previous height.

The comparison was not preserved as a complete standalone survey, which means it remains an observation that changed a decision rather than a fully documented result. It will be repeated under the current logging standard.

Experiment 002 · Mounting height

Subsystem Status

Running automatically6

Monitoring Automated
Temperature, pH and conductivity logged around the clock, plus every outlet state and power draw.
Lighting Automated
Chihiros WRGB II Pro 90 on its own four-channel schedule: ramp up from 9am, full 9:30am – 3:30pm, off 4pm, at R125 G95 B130 W0.
CO₂ Automated
Solenoid driven by the controller on a fixed daily window, with a pH floor, a permitted time window and a leak sensor enforced in hardware. Nobody opens a valve by hand.
Dosing Automated
2Hr Aquarist APT 3, dosed by the Red Sea ReefDose 2 on a fixed daily schedule.
Flow Automated
The EHEIM's flow is scheduled by Pearl, calmer through the day and stronger overnight. The AI Nero runs its own day and night schedule from its app.
Top-off Automated
Automatic top-off replaces evaporation, so conductivity drift reflects the tank rather than the water line.

Still done manually2

RODI remineralized with 2Hr Aquarist APT SKY at 9 g per 20 US gal (11.25 g for a 25 gal batch), mixed and changed by hand, roughly 20 gallons at a time, logged against the conductivity trace.
PAR By hand
Measured by hand with an Apogee MQ-510 at each numbered plant position.

Planned1

Built and run once: Pearl held injection against a target drop off each morning's degassed baseline. It is currently switched off in favour of the fixed schedule.

Why each system is built the way it is

Current Status

Current · reviewed November 2, 2026

Shaping the Dutch groups, about four months in

The tank is past the sparse grow-in. The work now is shaping distinct Dutch groups, controlling final canopy height, keeping the groups separated, developing the foreground, testing a new Blood Red SG group for color, and holding CO₂, light and fertilization steady. It is not finished: some hair algae remains, and there are localized cyanobacteria-like mats in parts of the foreground.

Working on now

  • Shaping distinct groups and controlling final canopy height
  • Keeping separation between neighbouring groups as they fill
  • Developing the foreground
  • Testing whether the new Blood Red SG group holds its color
  • Remaining hair algae, and localized cyanobacteria-like mats in parts of the foreground

Next actions

  • Repeat the PAR survey under the current channel settings, at the baseline's fixture height and depths where possible
  • Measure PAR at the new Blood Red SG group
  • Keep CO₂, light and dosing unchanged long enough to judge them
  • Label the groups on the October photograph and survey PAR against it

Planned work. None of this is finished, and it is listed here so the difference is visible.

The current plant map · Plant index · What is queued next

Journal5

Dated entries on what happened and what it changed.