Neptune Apex Tutorials Part 9: DOS

Ecotech Marine
This thread is for the general discussion of the Article Neptune Apex Tutorials Part 9: DOS. Please add to the discussion here.

This article is a part of my whole series of Apex tutorials, available here:

1. Overview
The DOS is Neptune's two-head dosing pump for the Apex system. It may be used to dose additives into your aquarium or can be used for automatic water changes. Each DOS head (or pump) can be individually operated and programmed, and can run at 6 different speeds in a forward or reverse direction. The DOS pump heads are a user-replaceable peristaltic pump that prevent any siphon action since the internal tubing is pinched closed in at least one position at all times both when running and when at rest. The DOS can lift liquids up to 24 feet vertically, and pump nearly unlimited distances horizontally, making the placement of the DOS very flexible for people with aquariums at a distance from an equipment room or basement. The DOS is compatible with all models of the Apex base unit, from the old Apex Jr. and Apex Classic to the current Apex 2016 and Apex-EL.

Be sure to read the official Neptune DOS Setup Guide here:

2. Connectivity options
The DOS may be connected to your Apex system either through a 1Link cable (the 4-pin Molex connector) or through an AquaBus cable (USB type A connector) and a separate 24v power adapter. While the AquaBus cable provides communications and 12v to power the circuit board and lights, it is not enough power to operate the DOS pump motors. That’s why the external 24v power adapter is required when using an AquaBus cable. Do not plug the 24v power adapter into a controllable EnergyBar outlet since it requires power at all times, and would be a waste of a valuable controllable EnergyBar outlet. A regular power strip or wall outlet is recommended. However, if you have no other power source available and must use the EnergyBar, be sure that output is configured for Always ON.

When connecting through a 1Link cable, it provides both the communications channel and 24v to operate the motors. The 1Link cable must connect the DOS directly to a 1Link module, or to a 1Link port on the EB832 or EB632 EnergyBar. Both the 1Link and EBx32 modules have a 100 watt load limit for 1Link and 24VDC Accessory connections. The DOS draws 22 watts, so be sure the other 1Link-connected modules and 24VDC devices you connect to the same source do not push it over the 100 watt limit. See my Apex Hardware Overview article for a complete list of device power consumption under the 1Link section.

You cannot connect one DOS to another DOS using a 1Link cable. However, it is possible to connect a DOS using 1Link, then connect a 2nd DOS to the 1st DOS using an AquaBus cable as a daisy-chain connection, but the 2nd DOS will still need the external 24v power adapter.

The DOS also provides a 6-pin Molex connector to attach the optional DDR canister reservoir which will be discussed later in this article.

Once the DOS has been connected to your Apex either with the 1Link or AquaBus cable, be sure to update the DOS software so it matches the current version running on your Apex. For the current Apex and Apex-EL, go into the list of Modules in Fusion, click the DOS, then select Update Software from the Action dropdown menu, then click the orange cloud icon at the top to begin the update.

For the Apex Classic and older models, used the Classic Dashboard and go into the Module Configuration menu, select the DOS, click the Update Firmware option and click Submit Module Change.

Once connected, you will have two new outputs and a DOS status tile available to add to your dashboard. The two DOS outputs will be named DOS_#_1 (the left pump) and DOS_#_2 (the right pump) where # is the AquaBus address assigned to the DOS module. If the tiles do not automatically appear on your dashboard, click the padlock icon to unlock the dashboard and reveal the Unused Tiles window at the top, scroll left or right to locate the new DOS tiles, then click and drag them down onto your dashboard. Click the padlock icon again when done to lock it.

You can rename the DOS outputs by clicking the gear icon on each dashboard tile to go to the DOS Schedule screen, then click the gear icon at the top to open the Basic tab. The output names are limited to 12 characters, cannot contain any spaces, and must not be a duplicate name of anything else on your whole Apex configuration. After changing the name, be sure to click the orange cloud icon on the Schedule screen to save the changes.

3. Tubing
Neptune ships the DOS with a 4 meter length of clear plastic tubing coiled up and wrapped with a rubber band. This tubing is semi-soft, but at room temperature the bends from coiling are difficult to straighten out. However, if you soak the coil of tubing in a large bowl or bucket of near-boiling water for about 5 minutes, then stretch the tubing out until it cools, the kinks will all be gone. The supplied tubing is 6mm outer diameter and 4mm internal diameter, so it has a 1mm wall thickness. You can substitute 1/4” RO/DI tubing, but beware the connection to the DOS will be a little more challenging since it’s usually stiffer.

4. Compression fittings vs Push-connect
The DOS pump head fittings use a compression nut that slips over the tubing and when tightened should seal the tubing onto the conical tip fitting. However, one of the most common complaints from DOS users is air bubbles in the tubing, or the DOS not drawing water from the reservoir into the tubing. This is almost always the result of a loose connection at the compression fitting. My simple fix for this is to again soak the end of the tubing in a cup of near-boiling water to soften it (place the compression nut onto the tubing before heating the tubing), then slide the tubing onto the conical tip and hand tighten the compression nut. This method has worked 100% of the time for me to eliminate any air leaks. An alternative to hot water is to use a hair dryer or a heat gun. But please don’t use an open flame because that could melt the plastic and/or release toxins from the plastic.

A popular trend is to replace the stock compression nuts with John Guest push-connect fittings. In my experience, this requires cutting off the conical tip of the DOS fitting right where the threaded section begins, otherwise the conical tip extends too far into the push connect fitting and blocks the tubing from inserting far enough for a tight seal.

In my opinion, the push connect fitting is only worthwhile in the situation where you need to disconnect and reconnect the tubing frequently. For example, my Trident waste container sits inside my equipment cabinet and is slightly behind my DOS. I can’t easily access the waste container without disconnecting the DOS tubing, so I have the John Guest fittings to allow me to quickly disconnect the tubes, remove and empty my waste container, then reconnect the tubes. Then I also need to re-prime the tubes. It’s a bit of a pain, but at least the connection is air-tight each time without the need to heat and soften the tubing each time I empty the Trident waste.

NOTE: The DOS pump heads have arrows printed near the two connectors indicating the direction of flow. These arrows represent the direction when the pump runs “forward”, or clockwise. This is referred to as "Add" in the DOS settings screens. The DOS can be configured to run in “reverse”, or counterclockwise for certain applications. This is referred to as "Remove" in the DOS settings screens. Be sure to connect the tubing in the orientation that best suits your needs.

5. LED status lights
There are LED status lights at the left and right sides of the Neptune logo representing each DOS head. The LED color indicates various conditions:
  • Solid Orange = Ready/Idle
  • Flashing Orange = Fallback Mode (the DOS is either disconnected from the Apex, or the Apex is not communicating with the DOS, such as during a reboot)
  • Solid Blue = Pump(s) running
  • Flashing Red = Over temp/Hardware issue (contact Neptune Support for help)
  • Flashing Green = Initializing (when first connected)
6. Priming
Once you have the tubing connected securely and have your liquid reservoirs ready, you need to prime the DOS to evacuate the air from the tubing and replace it with liquid. There are two ways to do this. If your tubing lengths are short, the simple thing to do is just manually press and hold the round priming button on the DOS body to engage the pump head. Watch as the liquid begins to fill the tubing and once it finally reaches the exit you can release the button to stop it. Because the DOS is a peristaltic pump, the liquid will remain stationary in the tube and not leak out or drain back to the reservoir when the pump is idle.

If your DOS tubing is very long (such as a DOS placed in a remote equipment room), it can take a very long time to prime the tubing, and it may not be possible to visually observe when the liquid reaches the end of the tubing if you’re standing in a different room while holding down the priming button. In this situation, I prefer to move the DOS dashboard slider to the manual ON position and place a bucket or other vessel under the tube exit to catch any liquid in case I miss the moment that it finally begins to dispense. Once the liquid reaches the tubing exit, move the dashboard slider to OFF.

During the priming process, if you see any air bubbles in the tubing, this indicates that you did not create an air-tight seal when connecting the tubing. Disconnect the tubing, re-heat it, then connect it again and try priming again until no bubbles are present.

NOTE: When pressing the priming button, the pump will only rotate clockwise. If you have your tubing set up where the liquid’s source tubing is connected opposite of the arrows printed on the DOS pump head, it will not pull the liquid from your source and will instead just pump air the other direction. See the section below on Auto Water Changes where I discuss this in detail.

7. Calibration
The DOS ships with a small plastic graduated cylinder used to calibrate the pumps. You can perform the calibration in two ways:

A. Go into the list of Tasks and select DOS Calibration. This will walk you through calibrating both pumps, beginning with the left pump and then the right pump. Follow the on-screen instructions.

- or -

B. Go into the DOS module setup page, then click the Pump Calibration button for the specific DOS head you want to calibrate. This allows you to calibrate one or the other individually.

During calibration, the DOS will dispense approximately 40 mL into the graduated cylinder. After the pump stops, read the volume from the cylinder and enter it on the calibration screen. After calibration, the DOS will compensate for any discrepancy by running slightly longer or shorter to deliver the precise amount during actual dosing schedules.

Each time you change the type of liquid you’re dosing, change your tubing, or replace your pump heads you should recalibrate.

NOTE: During calibration, the pump will only rotate clockwise. If you have your tubing set up where the liquid’s source tubing is connected opposite of the arrows printed on the DOS pump head, it will not pull the liquid from your source and will instead just pump air the other direction. See the section below on Auto Water Changes where I discuss this in detail.

8. Setup tasks
Fusion has four Tasks available to automatically program the DOS for common scenarios. Each of these will be discussed in more detail later in this article.
  • DOS Additive Dosing — This will configure the DOS to deliver a specified volume of liquid slowly spread out each day during the hours you specify.
  • DOS Automatic Water Changes — This will configure the left DOS head to add new saltwater to your tank, and the right DOS head to drain old water from your tank each day during the hours you specify.
  • DOS Manual Water Changes — This will configure the left DOS head to add new saltwater to your tank, and the right DOS head to drain old water from your tank when you press a designated Feed button.
  • Trident Controlled Dosing — This will configure the DOS to deliver additives to your tank, but automatically adjust the amount each day based on test results from a Trident module.
9. Dashboard tiles
The DOS provides dashboard tiles for the two pump outputs, the DOS volume activity graph, and optionally the DDR volume remaining indicator:

The DOS output tiles should always be set to AUTO. If you ever move it to the ON position, the DOS pump will run at a rate of 25 mL/minute indefinitely rather than following your defined dosing schedule, and you will likely overdose your tank. For this reason, some people set the tile to AUTO and then remove the tile from the dashboard so it cannot be accidentally moved to ON. The DOS will continue to follow the defined schedule if set to AUTO even when the tile is removed from the dashboard. You can still access the output settings from the list of Outputs to make adjustments rather than clicking the dashboard tile’s gear icon.

10. DOS Schedule
The DOS is typically programmed using a graphical schedule, which you can access either by clicking the dashboard tile’s gear icon, or by clicking the DOS output from the list of Outputs. You tell it how much liquid to dispense, when to start and when to stop, and what direction you want the pump to run. The graphical schedule then automatically creates the program code behind the scenes to control the pumps and will slowly deliver that amount of liquid spread out into small doses over the time window specified.

The easiest way to create a schedule is to run the DOS Additive Dosing task mentioned above. You just fill in the blanks and it creates the schedule for you.
Alternatively, you can manually create a schedule by clicking the orange gear icons below the Schedule timeline, click Add Interval, then fill in the blanks.

11. Intervals
A DOS Interval is a period of time where the DOS will dispense a specific volume of liquid. Your DOS schedule can contain one or more Intervals throughout the day. For simple needs, you can use a single interval beginning at 00:00 through 23:59 to be delivered at a steady pace all day and night. The DOS will automatically divide this up into a number of blocks where the DOS runs for a short period of time plus the amount of time required to pause while the motor cools down. The pause required is double the active time, so for example, if 5 minutes is required to pump the liquid, then 10 minutes of rest is needed, for a total time of 15 minutes. You can see the breakdown of the number of doses, the amount of each dose, and the automatically assigned pump speed by clicking the orange gear icon and selecting Interval Summary from the gear icon:

In this example, it delivers a total of 40 mL broken into 78 individual doses of 0.5 mL every 18 minutes, and the 79th dose of 1 mL. The pump runs at the rate of 7 mL/minute.

Or you can create multiple intervals at different times of the day to deliver different amounts. For example, I dose 2-part in small amounts at night when the lights are off, and a higher amount when the lights are on due to increased uptake by the corals during the day. If you notice in the screenshot above, there is no option to Add Inteval. This is because the current interval takes up the whole day on the schedule. In order to add another interval, you first need to modify one to make it shorter, leaving a gap on the schedule for a new interval to fit. The times on intervals cannot overlap. Below is an example of 3 separate intervals, but the amount I'm dosing still adds up to 40 mL per day like the schedule above, only delivering more of it during peak lighting hours:

NOTE: People frequently ask how to adjust the DOS to avoid dosing alkalinity and calcium additives simultaneously to avoid precipitation. If you are dosing equal amounts, one method is to look at the Interval Summary to see how frequent each dose is added, then shift the schedules so they are separated by half that amount of time. In the example above, it doses every 18 minutes, so if I started one schedule 9 minutes before the other, the dosing times would alternate. However, this only works when the amounts and the time window are exactly the same for both pumps. Also, if you use Trident Controlled Dosing as explained later in this article, you cannot guarantee the times won't overlap since the timings get adjusted by the Trident throughout the day. My preferred solution is to aim a powerhead in my sump at where the dosing tubes end to quickly disperse the liquids before they have a chance to precipitate.

12. Spanning midnight
A DOS Interval cannot span midnight. If you wanted to dose 30 mL between 9:00pm and 3:00am, you will need to create two separate intervals to split it up. Create one from 21:00 - 23:59 to deliver 15mL, then create a 2nd Interval from 00:00 to 03:00 to deliver 15mL.

13. TBL
When a DOS output is configured using the DOS Schedule wizard and is set to the AUTO position, it will display a status of “TBL” above the slider:

This stands for “Table”, and indicates the output is running following a table of data generated by the graphical schedule, so the DOS will run the pump on and off periodically throughout the day according to the schedule. If you toggle the Schedule screen between the Wizard view and the Basic view (the icon near the top left of the screen) it will show you the program code using the command tdata:

14. Tdata
The values for tdata have not been published by Neptune and are not meant to be human-readable and should not be manually edited in this text format. If you want to make any changes, always switch back to the Wizard view and edit the schedule there. This will update the tdata code automatically.

NOTE: When set to AUTO and displaying TBL, you cannot use programming on other outputs to check when the DOS output is ON or OFF like with other outputs. Example:

Fallback ON
Set ON
If OutputDOS_ALK = ON Then OFF -- this will always evaluate TRUE because when the DOS is following a tdada schedule, its output will always report ON even when the pump is idle. There is no workaround for this other than manual programming instead of using the simple Schedule program.

15. Trident Controlled Dosing
When Neptune released the Trident automated water testing system in 2019, it added a feature to the DOS intervals to allow the Trident to adjust the volume up or down based on the Trident test results. This can help to fine-tune the dosing schedule to reduce the daily parameter swings.

Before getting into the specifics of Trident Controlled Dosing, let me explain what it does not do: It is not designed to raise or lower your parameters to a new level. It is only designed to attempt to keep the parameters stable within a small margin. It is up to you to know the average amount of additives needed per day to maintain stability, so it’s best to have your DOS running for a week or more before attempting to control it with the Trident. If you’re unable to keep your parameters relatively close to stable on your own, the Trident will struggle to keep them stable and you will likely be disappointed with the results.

Each DOS pump can be individually controlled by one of the three Trident inputs (alkalinity, calcium, or magnesium). In my setup, I dose BRS 2-part soda ash and calcium chloride. I use the Trident’s Alkx input to control my DOS soda ash pump, and I use the Trident’s Calx input to control my DOS calcium chloride pump. Depending on the products you dose, some people may want different liquids each controlled only by the Trident’s Alkx input. This is useful if you always want the volumes of each additive to always be dosed equally. The choice of which Trident input is used for control is up to you.

The easiest way to set up Trident Controlled Dosing is to run the Trident Controlled Dosing task in Fusion. This wizard will walk you through each step of the process. You choose which DOS output you want to control, select which Trident input will control it, what Trident reading you’d like to maintain, the base amount of liquid to dose (this is what you would normally dose per day even without the Trident), and whether you want it to spread out the dosing over the whole day, or split it up to dose more during the day and less at night. Be sure to read Neptune’s official guide to Trident Controlled Dosing here:

After completing the Task wizard, the DOS output’s schedule will display a text bubble on each interval showing a +/- value. This indicates the percentage above or below the base volume that the Trident will be allowed to adjust the amount delivered. To view or change the Trident Control settings for an interval, click the orange gear for that interval below the schedule, then click Control Interval.

Here's an overview of each of these settings:
  • Test is the specific Trident reading you want to monitor. You can select from Alkalinity, Calcium, or Magnesium.
  • Value is the target reading you're trying to maintain.
  • Range defines the range in which controlled dosing is allowed to operate. For example, with a value of 8.0 dKH and a range of ±0.35 dKH, dosing will be automatically adjusted when the Trident reading is in the range of 7.70 - 8.30 dKH. This acts as a safety measure; if the Trident reading falls outside the range, then the DOS will only deliver the normal amount from the scheduled intervals.
  • Limit is how much the DOS interval can be increased or decreased. If the base amount is 40 mL, and the limit is 30%, then the DOS will deliver between 28 - 52 mL based on the most recent Trident test result.
NOTE: Trident Controlled Dosing is only available for intervals where the pump direction is "Add", or clockwise rotation.

16. Advanced tab
When a DOS output is configured to follow the scheduled intervals, there may be times where you’d like the DOS to stop dosing based on certain conditions. Examples might include when conducting maintenance, when pH or other parameters are out of range, or perhaps specific day(s) of the week to skip dosing. These exceptions can be added as lines of program code placed into the Advanced tab. To get there, first open the DOS output’s Schedule screen (click the gear next to the DOS output’s dashboard tile), then click the gear icon at the upper right of the DOS Schedule. Click the Advanced tab.

Any commands you place into the Advanced tab will override the DOS schedule only when that condition is True. Once the condition evaluates False, and there are no other True conditions in the Advanced tab’s code, the DOS will simply resume its schedule for the current time of day. Here are some examples for the Advanced tab:

Maintenance mode:
If Output Maintenance = ON Then OFF

Feed cycle:
If FeedA 005 Then OFF

Probe reading:
If pH > 8.40 Then OFF

Skip dosing 3 days per week:
If DOW -M-W-F-S Then OFF

Of course, any or all of these commands may be combined into the same Advanced tab. If any one or more of them evaluate True, the DOS will stop running.

If Output Maintenance = ON Then OFF
If FeedA 005 Then OFF
If pH > 8.40 Then OFF
If DOW -M-W-F-S Then OFF

NOTE: Never add any condition to the Advanced tab that sets the DOS to ON (or use the Set ON command) because the DOS pump will run at a rate of 25 mL/minute indefinitely rather than following your defined dosing schedule, and you will likely overdose your tank. Only use these conditional commands to set it to OFF, or to a specified Profile as explained below. Also, never add Set OFF to the Advanced tab, because that will prevent your schedule from running at all.

The code from the Advanced tab gets added to the program below the tdata lines, so it will override anything above it when True. This can be viewed by switching the schedule view to the Basic view:

17. Manual programming
While you can add programming to the Advanced tab to customize or override the Schedule intervals, there may be situations where you want direct programming control over the full operation of the DOS. To do so, switch from the Schedule wizard view to the Basic view by clicking the Basic View icon at the upper left. This will reveal the tdata code mentioned above. From here you can delete the tdata (and therefore delete the scheduled intervals) and add any manual programming you wish.

NOTE: The DOS has a built-in Fallback setting of OFF. Even if you enter Fallback ON into the program coding window, the DOS will ignore it and simply remain OFF any time it’s out of communications with the Apex. This cannot be overridden for safety reasons.

As mentioned above, any command that sets the DOS output to ON will simply cause the DOS pump to rotate clockwise at 25mL/min. If you want to be able to control the actual volume delivered, as well as the pump speed and direction, then you must create one or more DOS Profiles

18. Profiles
A profile is a collection of settings for certain types of devices such as variable speed pumps, powerheads, lights, and others. The DOS Profile type allows you to control all the settings of the DOS. To create a DOS profile:

A. Click the Advanced (gear icon)

B. Click the Profiles (folder icon)

C. Click any profile from the list that is not yet defined. Apex has 32 profiles named PF01 - PF32. You cannot create or delete them, but you can rename them and assign settings to them.

D. Fill in the Profile fields. Give the profile a descriptive name, and set the Type to "Dose".

There are six speeds to choose from: 7, 12, 25, 60, 125, 250 mL/minute

The faster the DOS speed, the louder the motor sounds when it’s running. For basic additive dosing in small amounts, it’s typically best to run the DOS at 7 or 12 mL/min. At these speeds, you can hardly hear it. But for large water changes it must run at fast speeds to achieve the large volumes within a reasonable time window.

I created this video to demonstrate the noise levels for each DOS speed:

The next parameter for the DOS profile is the pump direction. If you choose Forward, that will run the pump clockwise and matches the flow direction of the arrows printed on the DOS pump head. If you choose Reverse, the pump will rotate counterclockwise, opposite of the arrows.

Example 1: Dose 5 mL once per hour starting at 8:00am and ending at 8:00pm

Create a DOS profile named 5mL_Hour instructing the pump to run forward at 7 mL/Min to deliver 5 mL every 3600 seconds for 13 times:

Then apply this code to the DOS output:

Fallback OFF
If Time 08:00 to 20:00 Then 5mL_Hour

Example 2: Dose 100 mL any time the Feed D button is pressed

Create a DOS profile instructing the pump to run forward at 25 mL/Min to deliver 100 mL every 600 seconds 1 time:

Set the Feed D timer to 600 seconds. (see my tutorial on Apex Feed Cycles for more details)

Then apply this code to the DOS output:

Fallback OFF
If FeedD 000 Then Dose_100mL

19. Auto Water Changes
The DOS can be used to do auto water changes (AWC). This can be easily configured using the DOS Auto Water Change task in Fusion. You tell it how much water to change, and what hours of the day to run. The task will configure both DOS outputs with a single scheduled interval. Since the fastest the DOS can run is 250 mL/min, and it requires stopping to cool down frequently, the maximum the DOS can pump is 1.3 gallons/hour, or roughly 31.7 gallons/day. This may be fine for smaller tanks, but would likely be impractical for large systems.

The AWC adds and removes water in equal amounts at the same time. While this "wastes" a tiny bit of new salt water compared to removing old water first and then adding new water, it makes things much easier because the water level never changes, meaning you don't need to disable your ATO, your skimmer, or worry about a return pump running dry if the water drops too low. It also eliminates the need for float or optical sensors. This article sums up the trivial difference of doing continuous water changes:

Scroll down to the last paragraph before the conclusion:

"A continuous water change of 30% exactly matches one batch 26% water change. As with very small batch water changes, these have the advantage of neither stressing the organisms (assuming the change is done reasonably slowly), nor altering the water level in the aquarium. "

My only complaint about the way Neptune implements the AWC is that the task programs the right-hand pump to rotate counterclockwise (reverse of normal direction) to drain water from the tank. While this functions perfectly fine day-to-day, it poses a problem when it comes time to calibrate the DOS or to prime the DOS lines, because both of those functions require the DOS head to rotate clockwise, but the way Neptune recommends connecting the tubing requires the pump to rotate counterclockwise.

To get around this, I highly recommend ignoring Neptune initial setup instructions, which are shown here:
Neptune AWC.png

Instead, I recommend connecting the right side pump with the tubes reversed as follows:
Modified AWC.png

Once you have the tubing set up, run the DOS AWC Setup task in Fusion. This will set up the programming for you.

Now modify the automatically created programming to change the Drain pump to "Add" instead of "Remove". This will allow the head to rotate clockwise during the AWC. Think of it as "Adding water to the drain" instead of "Removing water from the tank".




Your AWC will still run properly, but the Drain pump (the right side pump) will rotate clockwise just like the Add pump on the left side. But when it comes time to calibrate or to prime the lines, the right-side pump will rotate clockwise like normal which still matches the orientation of your tubing, allowing you to run these functions without disconnecting and reconnecting the tubes.

I've been running my AWC like this for over 4 years with no problems, and on the occasions when I need to recalibrate or prime the lines, it saves me from the big headache of disconnecting and reconnecting the tubing.

I'm honestly not sure why Neptune chose this configuration, but I think my setup makes way more sense.

20. Manual Water Changes
When you run the DOS Manual Water Change task in Fusion, it configures both DOS outputs with specific programming, and it creates 2 virtual outputs that act as linked 12 hour timers. The MWC process is triggered when you click the specified Feed button on your dashboard. That Feed button turns the virtual outputs on over a 24 hour period, which then allows the DOS motors to begin pumping based on the scheduled intervals.

Here's the standard Neptune code, with Feed D chosen as the button to start the water change:

[H2O_START] -- virtual output
If FeedD 000 Then ON
Defer 720:00 Then OFF

[H2O_CONTROL] -- virtual output
If Output H2O_START = ON Then ON
Defer 719:00 Then OFF

Fallback OFF
tdata 00:00:00,1,17,10,87,2,88,143,10,107,2,28,10,0
If Output H2O_CONTROL = OFF Then OFF

As mentioned above for AWC, I recommend changing the tubing connections on the Drain pump so it will operate in the clockwise direction. Adjust the Drain interval to "Add" instead of "Remove".

21. Logs
The DOS dashboard tile shows a snapshot graph view of the recent dosing activity.

NOTE: The dashboard tile graphs automatically scale for size. In the screenshot above, it appears that the Alk has not been very active, but Cal is dosing all day. In reality, both are on the exact same schedule, but I did a one-off 50mL dose that caused a spike in the graph, reducing all the other tiny doses throughout the day to be barely visible.

NOTE: On the dashboard tiles, Fusion displays the last 24 hours of data, but the Local dashboard shows all of yesterday plus data through the current time today. This can cause confusion if you're looking at both and see conflicting numbers.

If you click that tile, it will take you to the full DOS logs where you can see much more detail, including the individual doses as the DOS stops to cool.

22. DDR
The Dual DOS Reservoir is a two-cylinder dosing reservoir that contains optical switches to monitor the fluid levels. The DDR connects directly to the 6-pin Molex port on the DOS to provide sensor status and an approximation of the volume remaining in the reservoir as the DOS dispenses the liquids. Each cylinder can hold up to 2000 mL of liquid.

When you look at the Apex System View, you can identify if a DOS has the DDR attached by the items associated with the DOS module in the tree. Each DOS will show two outputs; the left pump and the right pump. But a DOS with the DDR attached will also show two corresponding optical switches:

The optical sensors inside the DDR are the exact same OS-1 sensors used by the Neptune ATK, and they report OPEN when dry and CLOSED when wet. The sensors are positioned at approximately the 400mL level, or roughly 20% of remaining volume:

When a DDR is attached, a new dashboard tile becomes available to display the approximate volume remaining in each cylinder. This number is maintained by the DOS as it dispenses liquid, but it is not exact. For example, if your DOS tubing does not have a perfect air-tight seal, it will think it's dosing exactly 100 mL when it may have only delivered about 50 mL because of the air leak. But the DDR volume will indicate that 100 mL has been removed. In other words, this number is calculated but not actually measured.

When you add liquid to the DDR to refill it, you need to tell the DOS how much liquid you put in. This is done through the DOS module settings:

The Volume Remaining field is the number you can edit to tell it how much liquid is in each reservoir. The Total Volume value should be kept at 2000 mL since that is the actual size of the DDR cylinders. If you fill it completely to the top, you can simply click the "Fill" button and it will automatically reset the Volume Remaining to 2000 for you. However, I don't recommend filling it completely to the top because the DDR has a small circuit board hidden just under the top of the unit, and if that board gets wet it can be damaged and then the optical sensors will not longer work. The compartment containing that circuit board is not well sealed, so it's very susceptible to liquid damage.

WARNING: Do not use the DDR as a reservoir for dosing NO3O4-X (sometimes referred to as NOPOX) because it contains alcohol that will react with and destroy the DDR's acrylic cylinders. Here's a photo of what can happen:

The DOS itself can be used to dose NO3O4-X without any problems, but keep the liquid stored in its original bottle, or use a glass reservoir instead of anything acrylic.

23. Miscellaneous features
There are several icons at the top of the DOS Schedule screen that can be useful:

Schemes are an easy way to save a copy of your current DOS program to either retrieve later (such as when you are making a temporary change in dosing routines), or to share your settings with other reefers.

After a Scheme has been saved, you can use the Load Scheme button to select it which will overwrite your current DOS schedule.

If you click the Discover tab, you can browse from DOS schemes saved by other reefers:

NOTE: Be careful when using other people's schemes since they may not be appropriate for your particular tank. Be sure you have a strong understanding of dosing before using this option.

The Copy feature allows you to copy the schedule from one DOS output to another on your own Apex system. This is very handy when you want two DOS pumps to operate on the exact same schedule, such as for water changes. If you make changes to one DOS output, you can then copy it to another without needing to manually adjust the 2nd one.

The Help icon gives you quick access to information about the DOS, all of which has been explained in this article:

24. Maintenance
The DOS pump heads are user-replaceable and need to be swapped periodically based on usage. There's no specific lifespan. I have been proactively replacing the heads on my AWC DOS yearly, though I have not seen any significant wear on them even after non-stop water changes around the clock. They could probably last much longer. And for simple additive dosing where the pumps run very slowly and less often, the heads should last many years.

To remove the head, squeeze the two indentations on the sides of the head and it will pop off. To replace, just line up the new head with the motor spindle and press until the clips click into place.

After swapping the heads and reconnecting the tubing, be sure to run the calibration process again.

NOTE: I found that my AWC new saltwater tubing became clogged with sediment after about 2 years of usage. If you find that calibration seems to be way off, check your tubing. I ended up circulating citric acid through the tubing to dissolve the sediment and it worked great.

I hope this article covers everything you need to know about the DOS. Please comment if you have questions or if I missed anything.

Be sure to check out my other Apex articles for more tips and example programming:


Valuable Member
Review score
+0 /0 /-0
View Badges
Apr 3, 2022
Reaction score
Review score
+0 /0 /-0
Thank you for this! I do have a question if you don’t mind :) how many dos we can add in 1 apex with the 8bar power outlet? Thanks again!
SuncrestReef is taking a break from the hobby for an undetermined amount of time. The 2016 version of the apex can have up to 49 modules. The energy bar counts as one module.


Valuable Member
Review score
+0 /0 /-0
View Badges
Apr 3, 2022
Reaction score
Review score
+0 /0 /-0
Ah thank you! So I can add more than 5 in 1 apex brain? Do I need to add anything?
5 is less than 49, so yes. If you don't want to use the power supply for the dos you also want to grab a 1link cable. Otherwise you don't need anything that isn't already included in the box.


Community Member
Review score
+0 /0 /-0
View Badges
Aug 6, 2021
Reaction score
Review score
+0 /0 /-0
5 is less than 49, so yes. If you don't want to use the power supply for the dos you also want to grab a 1link cable. Otherwise you don't need anything that isn't already included in the box.
So the apex will smart enough to recognize the dos even I didn’t plug it into 1link cable?
AI Hydra

How close to perfect, for you, is your reef aquarium?


    Votes: 17 3.7%
  • It's getting close

    Votes: 65 14.3%
  • It's about half way there

    Votes: 85 18.7%
  • It's slow but progressing

    Votes: 134 29.5%
  • It's not even close

    Votes: 142 31.2%
  • Other (please explain)

    Votes: 12 2.6%
Reef Diaper