--- type: article-hidden identifier: rc-snow-plow title: Engineering a Remote-Controlled Snow Plow description: Designing, building, and programming a remote-controlled snow plow to push snow and salt pavement. Long-overdue writeup on a project that's been in the works since late 2018. datestring: 2024-09-15 banner_image: /static/images/rc-plow.jpg links: Source Code: https://github.com/JoshuaS3/auto-plow --- During my freshman year of high school (January 2019), I had to undergo surgery to correct [severe scoliosis](/static/images/scoliosis.png). I like to joke that, according to my parents, the absolute *worst* thing about that was that it put me out of commission for snow-shoveling for the season. Inspired by a [YouTube video](https://www.youtube.com/watch?v=tPg1ZMiC9pA) my dad had shown me, and wanting to learn more about robotics and microcontroller programming, I asked my dad for help building our own remote-controlled (RC) snow plow to do the work for us. Here's what it looks like now: Over the past several years, this project has occupied a significant portion of my focus. Working on this has been invaluable to my self-education in mechanical, computer/firmware, electrical, and power engineering. Here I break down the design iterations the project has undergone, as well as plans for the future. # VERSION WANTS: MECHANICAL DESIGN (COMPONENTS, CONSIDERATIONS): ELECTRICAL DESIGN (COMPONENTS, CONSIDERATIONS): FIRMWARE DESIGN: # Plow Mk1 (Winter 2018-2019) The snow plow shown in the video actually isn't the first revision of the snow plow. The first snow plow served more as a proof of concept, or prototype. We just wanted something that would solve the problem statement of "I want a robot that pushes snow for me" as cheaply and quickly as possible, just to prove we could do it. Over the course of a couple of months, we gathered spare materials and built something comprising: * a wooden frame and aluminum plow blade * two 12V car batteries * two 300W @ 24V electric wheelchair motors * all-wheel chain drive * two linear plow blade actuators (one pitch, one yaw) * an Arduino Uno * a dual-channel RoboClaw motor controller and a bit more infrastructure tying everything together. ## Mechanical Subsystem I'm not a very mechanically-inclined person so this was largely my dad's responsibility. - asdf ## Electrical Subsystem - Solid state relay for motor brakes - Relay board for actuators, H-bridge, controlled by Arduino logic-level - 12V inverter provides 5V output for USB to power Arduino (efficiency?) # Plow Mk2 (Winter 2019-2020 and beyond) Wants: - Steel frame - Steel plow blade - Better wheels/tires, simpler chain drive - Headlights - Rear-mounted salt spreader - Variable-speed plow actuation ## Mechanical Subsystem ## Electrical Subsystem ## Plow Mk2.5 (Scrapped) Wants: - On-board battery charging - Properly enclosed electrical system to prevent moisture ingress (water damage, corrosion) - Infrastructure for firmware flashing, so physical access to microcontroller not needed - Framework for upgrading to 48V BDC motors in the future - Modularity - Plow attachment (swap blade out for blower or something else) - Future-proofing, connections for multiple firmware-controlled relays for other future stuff 48V capable, enclosed electric box, onboard battery charging # Plow Mk3 (WIP) Completely overhauled design. Still in the works. Efforts to push the entire electrical design into a single PCBA.