DIY wave maker oscillating device for reef tanks

don_pips

New Member
View Badges
Joined
Jun 21, 2023
Messages
18
Reaction score
9
Location
NY
Rating - 0%
0   0   0
Sweet I’m working on a version using a servo and an arduino module
 
OP
OP
R

ravi197699

Valuable Member
View Badges
Joined
Nov 18, 2012
Messages
1,027
Reaction score
1,057
Location
Longisland
Rating - 0%
0   0   0
I am also building similar with 12v gear motor, driver and arduino nano to make smaller version, hopefully I get the sketch correct and it will turn the motor back and forth 100 or 120 deg or what ever sweep I like
 
OP
OP
R

ravi197699

Valuable Member
View Badges
Joined
Nov 18, 2012
Messages
1,027
Reaction score
1,057
Location
Longisland
Rating - 0%
0   0   0
Here are the pictures of the motor connected to 1.5 inch threaded can and then coupling then 1.5 inch to 3/4 threaded reducer, paddle 3d printed goes in coupling and pump is mounted on paddle
fadf6094-60b5-42cd-a7de-b025c88a9725.jpg
3408c7b9-a00a-4d39-bde6-ac8876c7ce96.jpg
22b5ea8e-9f15-429b-95d6-70fea0f08491.jpg
cd7898db-373c-440c-a58f-efca27dcb30b.jpg
 

benfish65

Community Member
View Badges
Joined
Jun 21, 2021
Messages
46
Reaction score
41
Location
Fleetwood
Rating - 0%
0   0   0
Hello Reefers, I was looking for device for my wave makers to turn left and right, pretty much 180 deg turns so that wave maker can provide flow to all my corals and I don't have to use the wave maker at high speed for flow to reach on the other side of the tank, currently I am using 4 thrusters in my 800 gallon tank but they push water in 1 fixed direction but issue is some corals are getting blasted and some are happy and some don't get enough flow, I watched video for large reef tank where 4 wave makers are suspended in water with similar device and they are mounted 1 in each corner of the tank and device is turning all 4 wave makers left to right providing flow to all corals, there are no magnets on the glass which is plus wires run through pvc and I wanted to implement the same design but when I started searching for devices that are available and quality of the devices, I started searching for alternatives, so after doing some research I found video of micro controller that changes the polarity of the 12v motor and timing of the turn can be adjusted by seconds as well, it was simple design, so I bought 12v center shaft geared motor, micro controller and 12v adjustable power supply and I was happy with the outcome, below is the video of the motor on and turning, I did not make any changes to the setting of the micro controller, this is out of the box setting, please see the video of the youtube video,


Thanks for the video. Could you please tell me what parts you used and where you sourced them?
 

don_pips

New Member
View Badges
Joined
Jun 21, 2023
Messages
18
Reaction score
9
Location
NY
Rating - 0%
0   0   0
Hello Reefers, I was looking for device for my wave makers to turn left and right, pretty much 180 deg turns so that wave maker can provide flow to all my corals and I don't have to use the wave maker at high speed for flow to reach on the other side of the tank, currently I am using 4 thrusters in my 800 gallon tank but they push water in 1 fixed direction but issue is some corals are getting blasted and some are happy and some don't get enough flow, I watched video for large reef tank where 4 wave makers are suspended in water with similar device and they are mounted 1 in each corner of the tank and device is turning all 4 wave makers left to right providing flow to all corals, there are no magnets on the glass which is plus wires run through pvc and I wanted to implement the same design but when I started searching for devices that are available and quality of the devices, I started searching for alternatives, so after doing some research I found video of micro controller that changes the polarity of the 12v motor and timing of the turn can be adjusted by seconds as well, it was simple design, so I bought 12v center shaft geared motor, micro controller and 12v adjustable power supply and I was happy with the outcome, below is the video of the motor on and turning, I did not make any changes to the setting of the micro controller, this is out of the box setting, please see the video of the youtube video,


Thanks for the video. Could you please tell me what parts you used and where you sourced them?
Look in the previous posts
 
OP
OP
R

ravi197699

Valuable Member
View Badges
Joined
Nov 18, 2012
Messages
1,027
Reaction score
1,057
Location
Longisland
Rating - 0%
0   0   0
This is the updated version of the oscillating device with 12v gear motor, list and cost of the parts is below and pictures are attached along with the video. I am controlling this with arduino controller and simple sketch that can be updated with change in milliseconds to control the sweep, I have mine at ~120 deg sweep approximately, I will be using PVC pipe or square tube to enclose everything, but if you can 3d print the enclosing case that will be even better but I don't have the 3D printer so I will do something with PVC.

Arduino Nano - 19.99 - 5Pcs​

12v Motor 10 rpm - 14.99

BTS7960 Driver - 22.99 - 5Pcs
6mm Flange Coupling 7.98 - 4Pcs

DC Converter 12V to 5V 3A 15W DC Buck Converter ModuleType-C USB Power Adapter - 9.99 2Pcs​

Sketch for Arduino Nano - green bold line is there you can increase or decrease the sweep of the motor, higher the number bigger the sweep and lower the number will lower the deg of the sweep/ rotation, you get the idea, I have attached the picture of the wiring diagram interface between Arduino nano and BTS7960 Driver,


#define RPWM 5
#define LPWM 6
#define REN 7
#define LEN 8
int pwm = 80; // speed (adjust if needed)
unsigned long sweepMs = 6500; // increased from 3000 → now ~120°
unsigned long pauseMs = 400; // pause at each end
void setup() {
pinMode(RPWM, OUTPUT);
pinMode(LPWM, OUTPUT);
pinMode(REN, OUTPUT);
pinMode(LEN, OUTPUT);
digitalWrite(REN, HIGH);
digitalWrite(LEN, HIGH);
}
void stopMotor() {
analogWrite(RPWM, 0);
analogWrite(LPWM, 0);
}
void forward() {
analogWrite(RPWM, pwm);
analogWrite(LPWM, 0);
}
void reverse() {
analogWrite(RPWM, 0);
analogWrite(LPWM, pwm);
}
void loop() {
// Move Forward
forward();
delay(sweepMs);
stopMotor();
delay(pauseMs);
// Move Reverse
reverse();
delay(sweepMs);
stopMotor();
delay(pauseMs);
}

20260303_102333.jpg 20260303_102339.jpg 20260303_102343.jpg 20260303_102351.jpg arduino to driver wiring.PNG
 

Attachments

  • 20260303_102356.mp4
    43.8 MB
Last edited:

don_pips

New Member
View Badges
Joined
Jun 21, 2023
Messages
18
Reaction score
9
Location
NY
Rating - 0%
0   0   0
This is the updated version of the oscillating device with 12v gear motor, list and cost of the parts is below and pictures are attached along with the video. I am controlling this with arduino controller and simple sketch that can be updated with change in milliseconds to control the sweep, I have mine at ~120 deg sweep approximately, I will be using PVC pipe or square tube to enclose everything, but if you can 3d print the enclosing case that will be even better but I don't have the 3D printer so I will do something with PVC.

Arduino Nano - 19.99 - 5Pcs​

12v Motor 10 rpm - 14.99

BTS7960 Driver - 22.99 - 5Pcs
6mm Flange Coupling 7.98 - 4Pcs

DC Converter 12V to 5V 3A 15W DC Buck Converter ModuleType-C USB Power Adapter - 9.99 2Pcs​

Sketch for Arduino Nano - green bold line is there you can increase or decrease the sweep of the motor, higher the number bigger the sweep and lower the number will lower the deg of the sweep/ rotation, you get the idea, I have attached the picture of the wiring diagram interface between Arduino nano and BTS7960 Driver,


#define RPWM 5
#define LPWM 6
#define REN 7
#define LEN 8
int pwm = 80; // speed (adjust if needed)
unsigned long sweepMs = 6500; // increased from 3000 → now ~120°
unsigned long pauseMs = 400; // pause at each end
void setup() {
pinMode(RPWM, OUTPUT);
pinMode(LPWM, OUTPUT);
pinMode(REN, OUTPUT);
pinMode(LEN, OUTPUT);
digitalWrite(REN, HIGH);
digitalWrite(LEN, HIGH);
}
void stopMotor() {
analogWrite(RPWM, 0);
analogWrite(LPWM, 0);
}
void forward() {
analogWrite(RPWM, pwm);
analogWrite(LPWM, 0);
}
void reverse() {
analogWrite(RPWM, 0);
analogWrite(LPWM, pwm);
}
void loop() {
// Move Forward
forward();
delay(sweepMs);
stopMotor();
delay(pauseMs);
// Move Reverse
reverse();
delay(sweepMs);
stopMotor();
delay(pauseMs);
}

20260303_102333.jpg 20260303_102339.jpg 20260303_102343.jpg 20260303_102351.jpg arduino to driver wiring.PNG
Great job! Mines slightly different I will post when completed
 

LittleReeferThatCould

New Member
View Badges
Joined
Jul 27, 2024
Messages
6
Reaction score
2
Location
Orlando
Rating - 0%
0   0   0
Hello, are the quantities you listed for each part due to you making multiple oscillators? More specifically, what would be needed to create two of them? Could two motors operate from a single controller and driver or is there a restriction due to wiring and/or power outputs? Thanks in advance!
 
OP
OP
R

ravi197699

Valuable Member
View Badges
Joined
Nov 18, 2012
Messages
1,027
Reaction score
1,057
Location
Longisland
Rating - 0%
0   0   0
you can control multiple motors with Arduino but 1 driver per motor, but depending on how far the motors are from each other will determine length of the wires between the arduino controller to 2 different drivers,
 

LittleReeferThatCould

New Member
View Badges
Joined
Jul 27, 2024
Messages
6
Reaction score
2
Location
Orlando
Rating - 0%
0   0   0
I appreciate your quick response, however I'm far from an electrical engineer and would like some clarification on your design. In the wiring diagram you included, it says that you're using the Uno Rev 3 as the controller. Judging from your pictures, it is unclear to me how that is wired in, as it appears that the Arduino Nano is in its place. My understanding so far is that you have 12V DC power going into a CPT DC converter and stepping down to 5V (USB type C), to the Arduino Nano, into the driver (BTS7960), then to the motor. Am I missing something?
 
OP
OP
R

ravi197699

Valuable Member
View Badges
Joined
Nov 18, 2012
Messages
1,027
Reaction score
1,057
Location
Longisland
Rating - 0%
0   0   0
no issues buddy, so just to clarify connections and pins are the same on Arduino Uno and Nano, there is no diffference, Nano comes with more options when it comes out pin outs, I have 12v power going to driver and from same connection I installed 12v to 5v step down buck to keep my Nano powered so I don't have to use different power supply, motor is connected to motor out connections on driver and this is about it, wiring diagram shows connections from Arduino nano and driver which controls the forward and reverse on drive and sweep on the motor, please do ask if any further clarification is needed,
 

LittleReeferThatCould

New Member
View Badges
Joined
Jul 27, 2024
Messages
6
Reaction score
2
Location
Orlando
Rating - 0%
0   0   0
How did you go about choosing the correct gauge of wiring to connect the nano to the driver? Did any of the components come with wiring or did you source that separately?
 
OP
OP
R

ravi197699

Valuable Member
View Badges
Joined
Nov 18, 2012
Messages
1,027
Reaction score
1,057
Location
Longisland
Rating - 0%
0   0   0
How did you go about choosing the correct gauge of wiring to connect the nano to the driver? Did any of the components come with wiring or did you source that separately?
you don't need heavy gauge wire to connect nano to driver since you are only doing pwm signal to control the speed and sweep, but I would use regular 12v wires to connect the power supply to driver to motor,
 

TOP 10 Trending Threads

WHAT AMOUNT OF LIVE ROCK AND SAND SHOULD BE PRIORITIZED FOR OPTIMAL BIODIVERSITY/FILTRATION?

  • 100% live rock + bagged sand

    Votes: 38 26.6%
  • 100% dry rock + 100% live sand

    Votes: 48 33.6%
  • 50/50 live/dry rock, 50/50 live/bagged sand

    Votes: 32 22.4%
  • 75% live rock, 25% live sand

    Votes: 15 10.5%
  • 25% live rock, 75% live sand

    Votes: 10 7.0%
Back
Top