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 nineteen plant streets do.

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

Current Layout

Nineteen plant streets, no wood and no stone. Photographed 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 Dutch 90P as it currently stands: nineteen plant streets across a 90 cm tank, no wood and no stone
The layout as it stands, photographed through the front glass with the room lights off. Every species 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 nineteen-species Dutch-inspired street layout in a 90P. 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 as it stands nowNow
Left, the first days after planting: bare aquasoil between the streets and stems barely above it. Right, the same tank now. 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

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.

70lowest readingµmol·m⁻²·s⁻¹
175highest readingµmol·m⁻²·s⁻¹
14positions measured

Read the complete survey: method, raw readings and depths

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 automatically4

Monitoring Automated
Temperature, pH and conductivity logged around the clock, plus every outlet state and power draw.
Lighting Automated
Photoperiod held by the controller rather than a timer on the fixture, 9:30am – 4:30pm. The fixture itself has no dimming.
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.
Top-off Automated
Automatic top-off replaces evaporation, so conductivity drift reflects the tank rather than the water line.

Still done manually3

Dosing By hand
2Hr Aquarist APT, dosed by hand. The Red Sea ReefDose is configured and calibrated but not dosing: containers empty, auto-dosing off.
RODI 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, nineteen of them currently live.

Planned2

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.
Drive the ReefDose on a fixed daily schedule so fertilization stops being a variable.

Why each system is built the way it is

Current Status

Current

Grow-in, shaping the first Dutch streets and establishing repeatable maintenance

The tank is through the early establishment phase and the standing PAR survey is now reproducible. The current work is less about adding hardware and more about shaping the Dutch layout, making fertilization repeatable, and watching how plant form and coloration change as the canopy rises.

Working on now

  • Establish the Dutch street shapes through repeated trimming
  • Make fertilization repeatable
  • Watch coloration as canopy height changes
  • Separate light effects from nutrition, maturity and plant placement

Next actions

  • Document the next major structural trim
  • Repeat PAR after meaningful canopy growth
  • Repeat the mounting-height experiment as a preserved dataset
  • Decide whether automated dosing materially improves consistency

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

Journal4

Dated entries on what happened and what it changed.