C, PIC microcontroller, KiCAD
This is an Electronic Speed Controller board for brushed motors. It uses a single low-cost MOSFET transistor. As a result, It operates motors can in a fixed polarity (direction). The advantage is that the cost of the ESC is lower than most commercial ones of similar power, which require four similarly capable transistor to achieve the same power (and be able to reverse).
The board can be powered by LiPo or other types of battery and is controlled by the relatively standard servomotor-type signals. This means it can be readily connected to most commercial RC transceivers.
At the heart of the board is a PIC 16f1503 microcontroller programmed to time the input servo signal and drive the MOSFET transistor with a PWM signal. The correlation between input and output signal is easily adjusted, allowing all sorts of configurations.
I designed the circuit board in KiCAD and had it manufactured by an external company.
C, PIC microcontroller, Pololu drivers
This is a linear actuator with integrated driver electronics. The movable part features a socket for attaching a tripod-type camera mount, so that the axis can be used to move a camera at a controlled speed (like a dolly).
The motors and screws were recovered, the casings and other plastic parts (orange) were 3D-printed from designs I made in FreeCAD.
Inside the larger box is a microcontroller connected to a pololu motor driver, which is in turn connected to the two stepper motors. Four buttons at the top are used to increase and decrease speed over a wide range. The “dot” button allows for finer adjustment of the speed, whereas the “play” button activates the motors.
Two end-stop switches ensure that the motors are shutdown when the limit of the axis is reached, in addition the microcontroller reverses the direction of the movement, so that when the axis is activated next it will be able to move again.
C, PIC microcontroller, KiCAD
When working on the “baguette” radio controlled motorboat, I developed a custom radio control board, rather than using off-the-shelf radio control systems. The main reason was to gain more freedom over what kind of behaviors could be triggered.
The board aims to be as general as possible, it features a medium power motor driver to directly operate small brushed motors, two servomotor outputs and a total of 16 available and remotely controllable outputs via a shift register.
The baguette motorboat uses both servomotor controls to operate the rudder and a 360° camera panning control. A small action camera can be mounted on the roof and its visuals controlled in this way.
The built-in motor control turned out to provide insufficient power for the main boat propulsion, so an external, more powerful, driver was designed and connected to the unmodified board via the auxiliary outputs
Of note is also the automatic ballasting system. To counter the instability of the motorboat due to the action camera shifting the center of mass upwards, I implemented a horizontally moveable lead ballast controlled by a stepper motor. A separate microcontroller from the main board reads the boat’s inclination via an accelerometer and operates the motor to counter it. Despite the difficulties in separating the fixed weight shifting and oscillation due to the waves, this system does provide some additional stability.
For a closer look at the endeavors of the baguette motorboat, check out the dedicated youtube videos:
C, PIC microcontroller
When working with servomotors, it is often handy to operate them without setting up the whole control system. Using similar code to what drives the main board of the baguette motorboat, I put together a small single servomotor driver, which takes the voltage of the potentiometer (the red knob) as input. As part of this fun little project I also designed a small 3D-printed case, making the device more robust and visually appealing.
© 2022 – Simone Pilon