A simple guide to reliable, repeatable micro-feeding on your schedule.
Controlling a Plank feeder with an Apex controller doesn’t need to feel like deciphering an ancient tablet. The OSC (Oscillate) command looks mysterious at first glance, but in practice, it’s the most accurate and dependable way to automate micro-feeding if you already own an Apex.
This post breaks the entire process down into two clean parts:
- A repeating OSC loop that defines the feeding pattern.
- A simple time window that decides when the pattern runs.
That's it. No virtual outlets. No nested logic chains.
Why OSC is Perfect for the Plank
The Plank thrives on consistency, giving tiny, measured micro-doses of food that perfectly mimic wild reef conditions. To achieve that consistency, you want:
- Precise run times
- Even spacing between feedings
- Clean scheduling with no clutter of multiple "feed events."
- Reliability—it's either ON or locked OFF
The OSC command excels because it simply repeats the same pattern forever, and the time rule allows you to dictate precisely when that pattern is permitted to run.
The Core Idea
Think of the whole setup like this:
- OSC command creates a continuous, repeating feeding pattern.
- Time Rule is the gatekeeper that determines when the pattern is active.
Inside the time window, the Plank feeds at your chosen interval. Outside the window, the Apex locks the outlet OFF.
Step-by-Step OSC Programming
Step 1: Pick Your Feeding Window (The Rail)
Decide the block of time during which feeding is permitted.
Example:
- Feed between 10:00 (10am) and 22:00 (10pm)
This twelve-hour window is your "rail"—the OSC loop will only ever be active inside it.
Step 2: Decide Your Cycle Length
First, figure out how many minutes are in your window.
- 12 hours = 720 minutes
Next, decide how many feedings you want in that window.
Let's use 5 feedings for this example.
720 minutes / 5 feedings = 144 minutes per cycle
While 144 minutes works perfectly, many people choose a clean, round number like 150 minutes (2.5 hours) because it's simpler to manage and adjust. This is your Total Cycle Length.
Step 3: Choose Your Run Time
This is the duration the Plank is actually ON during each cycle.
- Common choices are: 15 seconds, 30 seconds, or 45 seconds.
We will use 15 seconds (00:15) for this example.
Step 4: Build the OSC Cycle Formula
The Apex uses this format for the OSC command: OSC A/B/C Then ON
|
Variable |
Description |
Value for 150-minute Cycle |
|
A |
OFF before ON |
000:00 (Set to zero to start the ON cycle immediately after the previous long OFF cycle.) |
|
B |
ON time |
000:15 (15 seconds) |
|
C |
OFF after ON |
149:45 (The remainder of the cycle) |
Calculating the Remainder (C)
150:00 (Total Cycle)
- 000:15 (ON Time) = 149:45 (OFF Time)
So your completed OSC line is:
OSC 000:00/000:15/149:45 Then ON
Step 5: Add the Time Rail and Safety Commands
You must define the outlet's default state, then add a time rule to fence the OSC command in.
|
Command |
Purpose |
|
Fallback OFF |
A crucial safety setting: If the Apex reboots or loses connection, the outlet stays OFF. |
|
Set OFF |
The default condition for the outlet, unless overridden by a rule below it. |
Now, we add the OSC pattern and the time constraint:
Fallback OFF
Set OFF
OSC 000:00/000:15/149:45 Then ON
If Time 22:00 to 09:59 Then OFF
- When the clock is between 22:00 and 09:59, the last line takes precedence, and the outlet is locked OFF.
- When the clock is between 10:00 and 21:59, the If Time rule is ignored, and the OSC pattern is allowed to run normally.
That's the entire, reliable system.
Plug-and-Play Examples
Here are a few common feeding schedules ready to copy/paste:
|
Schedule Goal |
Calculation & Code |
|
5 feedings |
Total Cycle: 150 min (149:45 OFF time) |
|
OSC 000:00/000:15/149:45 Then ON |
|
|
If Time 22:00 to 09:59 Then OFF |
|
|
5 feedings |
Total Cycle: 150 min (149:15 OFF time) |
|
OSC 000:00/000:45/149:15 Then ON |
|
|
If Time 22:00 to 09:59 Then OFF |
|
|
Every 3 hours |
Total Cycle: 180 min (179:40 OFF time) |
|
OSC 000:00/000:20/179:40 Then ON |
|
|
If Time 20:00 to 07:59 Then OFF |
|
|
Hourly micro-feeding |
Total Cycle: 60 min (059:50 OFF time) |
|
OSC 000:00/000:10/059:50 Then ON |
|
|
If Time 00:00 to 11:59 Then OFF |
How to Create Your Own Schedule
Anyone can customize their feeding interval in a few simple steps:
- Count the minutes in your desired feeding window.
- Divide by how many feedings you want. That number is your Total Cycle Length.
- Subtract your desired run time (B value).
- The remainder is your OFF time (C value).
- Plug your numbers into the OSC 000:00/B/C Then ON line.
- Add one If Time line to fence the cycle in.
This setup stays predictable, tidy, and extremely easy to adjust.
Final Thoughts
The Apex OSC command may look like a logic puzzle, but it's just a steady, repeating loop. Once you pair it with a simple time window, you get a clean, reliable schedule that feeds your tank exactly how the Plank was designed to work.
Drop in your numbers, choose your hours, and let Apex handle the rest.