Designing a circuit to control a small DC motor over a fiberoptic strand is a fantastic project that perfectly demonstrates galvanic isolation and optical signal transmission. Because you are converting an electrical control signal into light, sending it over a physical gap, and converting it back to drive a mechanical load, the circuit needs to be broken down into specific modular stages.
Here is a practical, step-by-step approach to building this circuit, utilizing standard prototyping components.
This side generates the control signal and converts it into light.
Signal Generator: To get variable speed control, you will want to use a PWM (Pulse Width Modulation) signal. A microcontroller like an Arduino Uno or a BBC micro:bit is perfect for generating this.
The Light Source: You need an LED that couples well with your fiber optic strand. If you are using standard 1mm Plastic Optical Fiber (POF), a high-brightness red LED (around 660nm) or an infrared LED works best.
TX Circuit: The microcontroller's digital output pin connects to the LED through a standard current-limiting resistor (e.g., 220Ω to 330Ω, depending on the LED's forward voltage). When the PWM signal goes HIGH, the LED flashes on.
This is the physical bridge. You can use a dedicated fiber optic transmitter/receiver pair (like the Broadcom HFBR series, which are highly reliable for data), but for simple prototyping, a bare plastic optical strand securely heat-shrunk or 3D-printed into a mount facing the LED on one end and the photodetector on the other is highly effective.
This stage detects the light pulses and converts them back into a small electrical signal.
The Detector: Use a phototransistor (like an LTR-3208 or similar standard IR/Visible phototransistor).
RX Circuit: Set up the phototransistor in a basic voltage divider configuration with a pull-up or pull-down resistor (typically 10kΩ).
Connect the collector of the phototransistor to your receiving power supply (e.g., 5V).
Connect the emitter to ground through the 10kΩ resistor.
The point between the emitter and the resistor is your signal output. When light from the fiber hits the base of the phototransistor, it conducts, and the voltage at your signal output pulls HIGH, perfectly mirroring your original PWM signal.
The signal coming out of the phototransistor is too weak to drive a DC motor directly; it only provides a logic-level voltage. You need a driver to handle the actual motor current.
For One-Way Speed Control: Use an N-channel logic-level MOSFET (like the IRLZ44N or FQP30N06L).
Connect the RX signal output to the MOSFET's Gate.
Connect the motor's positive terminal to your motor power supply.
Connect the motor's negative terminal to the MOSFET's Drain.
Connect the MOSFET's Source to ground.
Crucial safety component: Always place a flyback diode (like a 1N4001) in parallel with the motor (cathode to positive, anode to negative) to protect the MOSFET from voltage spikes when the motor spins down.
For Bidirectional Control: If you need to reverse the motor, feed the phototransistor's signal into the PWM input pin of a standard H-bridge motor driver module, such as an L298N or a TB6612FNG.
To truly benefit from the fiber optic link, the Transmitter side and the Receiver/Motor side must have completely separate power supplies. If they share a ground wire, you defeat the purpose of the optical isolation. Use a USB power bank or your computer to power the microcontroller and LED, and use a separate battery pack (like a 4x AA holder or LiPo) to power the receiver circuit and the motor.