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 lived mostly in memory

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 centre. 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 of those are hardscape layouts. 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 colours 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 twenty plant streets do.

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

Building the Dutch 90P

The current aquarium is a twenty-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.

Planting day
The layout as it stands nowNow
The planting-day photograph is still to be added. The current frame is the labelled plate the tank page uses, captured by the camera that runs on the light's schedule.

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

Pearl began as a record before it became automation

Pearl is the software behind the tank. It reads the controller, probes, camera 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

I bought a PAR meter to confirm the light was dying

For roughly six years I assumed the original ADA Solar RGB was becoming too weak. Red plants near the ends of the aquarium were not colouring as expected, while the fixture had already survived several rescapes and daily use.

I expected the meter to confirm that the light needed replacing.

Twenty underwater readings gave me a different answer.

The center still produced strong readings. Several outer plant positions received far less. On this aquarium, under this mounting configuration, the limiting issue was distribution rather than center output.

50lowest readingµmol·m⁻²·s⁻¹
176highest readingµmol·m⁻²·s⁻¹
20positions measured
The labelled tank photograph
Every species labelled at its position. The PAR figure for each one was taken underwater at that spot rather than inferred from a single reading under the middle of the fixture.

Read the complete twenty-position survey

Raising the light made the outer readings worse

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

Built, manual and still planned

Running automatically5

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 at full output.
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.
Camera Automated
A frame captured every hour the light is on, with a vision model reviewing a few of them a day for algae and plant health.

Still done manually3

Dosing By hand
2Hr Aquarist APT, dosed by hand. The Red Sea ReefDose is on the tank but not yet set up to drive it.
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 twenty repeatable positions.

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 fertilisation stops being a variable.

Why each system is built the way it is

Current chapter

Current

Grow-in, first structural trims and stabilizing the routine

The planting is filling in, the system is producing a usable record, and the next work is less about adding hardware than making the routine repeatable. Dosing still needs to become consistent, future PAR surveys need complete depth metadata, and the developing plant streets need to be shaped rather than simply allowed to grow.

Working on now

  • Establish the Dutch street shapes through repeated trimming
  • Make fertilisation repeatable
  • Repeat the mounting-height comparison as a preserved survey
  • Add canopy-level PAR as the stems mature

Next actions

  • Document the next major trim
  • Publish a dated growth comparison
  • Configure or deliberately defer automated dosing
  • Repeat PAR measurements with per-position depth

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.