Waveline WavePuck: VDM Advanced Control

In this video we will concentrate on connecting your WavePuck pump to a 3rd party controller by using an available 0-10 volt port. This makes the WavePuck pump very versatile and almost universally compatible with most system controllers like the Neptune Systems’s APEX or the Reef Angel.  I will show you how to program your APEX controller to take advantage of the advanced controllability of the WavePuck.

By the end of the video, you will know how to make the Wavepuck pulse plus create a simple Day/Night schedule of different flow patterns. 

Now, this video will only cover the configuration and programming of your WavePuck pump with an APEX controller from Neptune Systems.  It assumes that you already have a fully configured and working APEX Controller with an active APEX Fusion connection as well as a free Variable Speed port.  You should be familiar with the creation of virtual and regular outlets. 

If you have not configured your APEX controller, a really good place to start is Neptune Systems website.  They have an amazing website full of support articles, videos as well a support forum with a thriving community of experienced staff and fellow APEX users.  You can visit them at www.neptunesystems.com.

An aquarium system controller and the connection cable are not included with the WavePuck but are required.  

Neptune APEX controller not included but required.

To connect your WavePuck pump to the system controller, you will need to plug one end of a connection cable into the jack on the bottom of the WavePuck controller and the opposite end into an available VS port on your APEX.

Connect the supplied cable to your APEX Variable Speed Port.

Connect the other end of the cable to the WavePuck’s controller

You will also need to set the WavePuck controller to VDM mode.  You do this by pressing the Center Button on the controller once and then the Up button once to switch your controller from Mode 1 to Mode 2. 

To start, access your APEX Fusion interface.  If you do not know how to access it, we recommend you head over to www.neptunesystems.com.  They have a community forum that is monitored by their staff as well as fellow APEX users always happy to help. 

Before we start to configure our pumps, we need to figure out which outlet our pump is connected to.  The variable speed outlet on your Apex can control two pumps at the same time.  To start, make note of which Variable speed port you connected the cable to.  If you connected your cable to Variable Speed port 1 and 2, then we know our pump is going to be controlled by either variable speed Outlet 1 or Outlet 2. 

With that in mind, we must first turn both outlets OFF. 

Now, turn Variable Speed Outlet 1 ON while you are also looking at the actual pump.   If the WavePuck does not respond, then turn Variable Speed Outlet 1 OFF and now turn Variable Speed Outlet 2 ON.  Make note of which outlet turns your pump ON as that will be the Outlet we will be working with. 

For this video, our WavePuck is running on Variable Speed Outlet 1.   Let’s go ahead and turn the Outlet OFF. 


Now, our next step is to create profiles.  Profiles are flow patterns which tell the pump how to run.  Then the flow patterns are called upon and activated by a set schedule that tells the pump when to run the different profiles we’ve create. An example of a profile is to set the pump to pulse at 10 second intervals with a max speed of 100% and a minimum speed of 50%.  There is no time of the day or night specified on the profile. An example of a schedule that calls and activates a profile is to run the said profile between the hours of 12 noon and 2 pm.  

In order to accomplish our goal of different flow patterns, we need to create multiple profiles and then schedule them to run at different times throughout the day. 


Before we proceed creating our profiles, you must remember that when using 0-10v ports, the WavePuck will not run when the intensity is less than 15%.  While you will be able to program the APEX with intensities below 15%, the pump itself will not be able to run.  So, as you create your profiles, keep in mind to not program anything under 15% intensity.

To create a profile, expand the top menu of your Fusion interface and then click on the Profiles button.  It is the one with the folder image icon.  

Click on the first open profile and let’s rename it to Ramp_Up.  Under type, select “Ramp”.   This will allow us to gradually speed up the pump during a set time period.  Let’s set the Ramp Time to 60 minutes with a starting intensity of 30% and an End Intensity of 80%.  To save, click on the orange cloud icon located on the upper right-hand corner of the page.   

Profile Name: Ramp_Up
Type: Ramp
Ramp Time: 60
Start Intensity: 30
End Intensity: 80

Go back to the Profiles page by clicking on the Folder icon located on your Fusion’s top menu. 

Next, let’s create a pulsing profile.  Click on the next open profile and let’s rename it to Pulse.  Under control type, select “Pump”.  To pulse is to oscillate.  This means you are going to run the pump for a length of time at 1 speed and immediately after, run the pump for a second length of time at a different speed.  Then, repeat the pattern over and over again. 

Let’s set the Initial Off time to 0 seconds so the profile starts immediately.  Then set the ON time to 20 seconds and the OFF time to 10 second.  This means that the pump will start by running one speed for 20 seconds and then immediately run a second speed for 10 seconds and then repeat the pattern. 

Now we need to set the intensities.  Always remember that the Minimum Intensity corresponds to the OFF time and the Maximum Intensity corresponds to the ON time. 

We want the pump to run for 20 seconds at 80% and then run for 10 seconds at 30%.  Don’t forget to save the profile.

Profile Name: Pulse
Type: Pump
Synchronize: NOT Checked
Divide by 10: NOT Checked
Initial OFF Time: 0
ON Time: 20
OFF Time: 10
Minimum Intensity: 30
Maximum Intensity: 80

Now for our third profile, we need to create a ramp down flow.  Click on the next open profile and let’s rename it to Ramp_Down.  Under control type, select “Ramp”.  Let’s set the Ramp time to 60 minutes.  Now since we are ramping down, we need to set the “Start Intensity” to 80% and the “End Intensity” to 30%.  This means that during the span of an hour the pump will gradually slowdown from 80% to 30% speed.  Be sure to save your work.

Profile Name: Ramp_Down
Type: Ramp
Ramp Time: 60
Start Intensity: 80
End Intensity: 30

The fourth and final profile we need to create is our night flow.  For our video schedule, we want the pump to run at a gentle 30% constant speed throughout the night. 

Take the next open profile and let’s rename it to Night.  For control type, let’s select Pump.  Now, this is where it gets a little tricky.  In order to run the pump at a single constant speed, we need to fool the APEX into thinking that the pump is pulsing BUT both Max and Minimum intensities will be the same.  Set the Initial OFF time to 0 so the profile starts right away.  Now, let’s set the ON and OFF times to 60 seconds both.    Now let’s set the Min and Max intensities to 30% both.  This means that the pump is going to run for 60 seconds at 30% and then for 60 seconds at 30% which is the same as running constant flow.  Again, save, save, save.

Profile Name: Pulse
Type: Pump
Synchronize: NOT Checked
Divide by 10: NOT Checked
Initial OFF Time: 0
ON Time: 60
OFF Time: 60
Minimum Intensity: 30
Maximum Intensity: 30

We have now created four different profiles or flow patterns that we can use on our schedule. 

  • If the time is between 0800 and 0900 hours, lets call and run the Ramp_Up profile. 
  • Now, between 0900 and 2100 hours, we can run our Pulse profile. 
  • Between 2100 and 2200 hours, we want to run the Ramp_Down profile
  • And between 2200 and 0800 hours the next morning, let’s run the Night profile. 

Virtual Outlets


Before you go on and copy this code to your virtual speed Outlet, there is a small catch!  APEX does not execute a “Ramp” profile when it is called by a time command. 

It can execute every other profile but it won’t execute a Ramp profile.  So the line if time 0800 to 0900 then Ramp_Up will not work correctly.  For this reason, we need to use Virtual Outlets. 

Virtual ON/OFF Outlets are non-physical Outlets that you can turn ON and OFF either manually or via a set schedule.  They are a virtual switch that combined with a physical outlet can create some really intricate patterns. 

Since we cannot use the time command line to call our Ramp profiles, we can call our Virtual Outlets in combination with the Ramp profiles to accomplish the same thing. 

Let’s go ahead and create them as I know it will be easier to understand once you see them in action. 

In this video, we are using APEX fusion connecting to an APEX 2016 model.  If you have the APEX classic, Fusion will not allow you to create the Virtual Outlets.  Instead, you will need to create them using your APEX Display Module.  For instructions on how to create a Virtual Outlet using the APEX Classic Display Module, please visit http://blog.coralvue.com/create-apex-virtual-outlet/.  You will need to create 2 separate virtual outlets for this video.  So, pause the video, create the two outlets and then come back and join us.

On your APEX fusion main screen, expand the top menu and click on the Outlets icon.  On the top right hand, click on the Outlet icon with a cloud on the background and select “Add a Virtual Outlet”.    Let’s call our first Outlet “VRamp_Up” and click ok to save. 

Go ahead and click on the Refresh button located to the left of the Virtual Outlet icon.  You will now see the VRamp_Up Outlet and you can confirm it’s virtual status by looking at its value under the Type column. 

Click on the outlet to configure it.  Leave the name as it is and select “Advanced” under Control Type.  In the program window, type the following:

Name: V_Ramp_Up
Control Type: Advanced
If Time 08:00 to 09:00 Then ON

What this means is that this virtual ON/OFF outlet will be flipped ON between the hours of 8 am and 9 am.  Any other time, the outlet is OFF.   

Notice how we scheduled the ON time to match our original intended ON time for our Ramp Up profile. 

Now click on the cloud icon on the upper right-hand corner to save and then click on the Outlet icon on the APEX menu bar to return to the Outlet list page. 

Now we do the same thing for our Ramp Down profile.   Click on the Virtual Outlet Icon and then select “Add a Virtual Outlet”.  Name it VRamp_Down and then click ok to save. 

Click on the Refresh button to update the list and then click on the newly created VRamp_Down outlet to configure it. 

Just like before with the VRamp_Up outlet, select “Advanced” under the control type and then type the following in the program window…

Name: V_Ramp_Down
Control Type: Advanced
If Time 21:00 to 22:00 Then ON

This means that this Virtual ON/OFF Outlet will be ON between the hours of 9 pm and 10 pm.  Any other time, the Outlet is OFF.

Again, the schedule for the VRamp_Down Outlet matches our original intended ON time for the Ramp_Down profile. 

Don’t forget to save your newly created virtual Outlet!

Variable Speed Outlet

Now we can go ahead and create our final schedule where we put it all together and activate each profile at our selected times. 

Head back to the Outlets list and now click on your Variable Speed Port 1.  This is the port we determined at the beginning of the video it controlled our WavePuck. 

Let’s rename it WavePuck.  Under Control Type, select “Advanced”.  Now in the program window, we can type in our schedule. 

Line one…  If Outlet VRamp_Up = ON Then Ramp_Up

This means that if our Virtual Outlet called VRamp_Up is ON, then activate Ramp_Up profile.    Notice that we did not specify a time here as we already specified the time when we configured the Virtual Outlet.  We know for a fact that the only time the Virtual Outlet VRamp_Up will be ON is between 0800 and 0900 hours. 

Line two… If Time 09:00 to 22:00 Then Pulse

Notice that in this case we did not use a virtual outlet even though we are calling for a profile.  The reason is because Pulse is NOT a ramp profile.  Pulse is a pulse profile.  We only use Virtual Outlets if we are trying to active a Ramp type profile.

Line three… If Outlet VRamp_Down = ON Then Ramp_Down

This line means that when our Virtual Outlet VRamp_Down is ON, the program should execute the profile Ramp_Down.  Again, we did not specify a time here because we already specified it when we created the Virtual Outlet. 

Line four… If Time 22:00 to 08:00 Then Night

This line means that if the time is between 10 pm and 8 am the next morning, activate the profile called Night. 

Last, we need to make sure that the pump turns OFF whenever we are feeding the tank.  For this we add a fifth line that reads…

If FeedA 000 Then OFF

This means that whenever we activate Feed mode A, the pump will stop. 

Don’t forget to Save the configuration!

Name: WavePuck
Control Type: Advanced
If Output V_Ramp_Up = ON Then Ramp_Up
If Time 09:00 to 22:00 Then Pulse
If Output V_Ramp_Down = ON Then Ramp_Down
If Time 22:00 to 08:00 Then Night
If Output PowerBar2 = OFF Then OFF
If Output Feeding = ON Then OFF
Defer 002:00 Then ON
If FeedA 000 Then OFF
If FeedD 000 Then OFF

Last thing to do is to turn the Variable Speed Outlet from OFF to AUTO.  Head back to the APEX Fusion main page and then find your WavePuck Outlet and click on AUTO.    Give it a few seconds and your pump will begin to execute your day schedule. 

  • Your pump will now Ramp Up from 30 to 80% from 8 to 9 am. 
  • Then it will pulse 20 seconds at 80% followed by 10 seconds at 30% from 9 am to 9 pm. 
  • It will Ramp down from 80% to 30% from 9 pm to 10 pm.
  • And finally, it will run at 30% constant speed during the night from 10 pm to 8 am the next morning!

We hope this video was helpful and you got a good understanding of how to control your new Waveline WavePuck via your APEX controller.  Please use the information you learned as a base or starting point and feel free to experiment and expand.  Go ahead and create more profiles and have the pump change flow patters multiple times during the day.  Your pump is now able to do things that it could not do before so have fun with it… the sky is the limit.


If you would like to learn more about the Waveline WavePuck including detailed specs, beautiful high quality pictures and replacement parts, head on over to Coralvue.com.  

Author: Carlos

Share This Post On