Tractor Drives Itself, Thanks To ESP32 And Open Source

[Coffeetrac]’s ESP32-based Autosteer controller board, complete with OLD OLED display for debugging and easy status reference.
Modern agricultural equipment has come a long way, embracing all kinds of smart features and electronic controls. While some manufacturers would prefer to be the sole gatekeepers of the access to these advanced features, that hasn’t stopped curious and enterprising folks from working on DIY solutions. One such example is this self-steering tractor demo by [Coffeetrac], which demonstrates having a computer plot and guide a tractor through an optimal coverage pattern.

A few different pieces needed to come together to make this all work. At the heart of it all is [Coffeetrac]’s ESP32-based Autosteer controller, which is the hardware that interfaces to the tractor and allows for steering and reading sensors electronically. AgOpenGPS is the software that reads GPS data, interfaces to the Autosteer controller, and tells equipment what to do; it can be thought of as a mission planner.

[Coffeetrac] put it all together with everything controlled by a tablet mounted in the tractor’s cab. The video is embedded below, complete with a “cockpit view” via webcam right alongside the plotted course and sensor data.

We’ve previously reported on John Deere’s love affair with DRM which exemplifies the direction much of the industry has tried to take. But not everything is aimed at doing more and doing it faster. Other projects like Weedinator are aimed at automation on a smaller scale with the goal of enhancing quality and sustainability.

A big thank you to [Baldpower] for sending in this tip!

31 thoughts on “Tractor Drives Itself, Thanks To ESP32 And Open Source

  1. Before that inevitable comment posts regarding safety and if this thing might run somebody over I would like to throw out this challenge to the person that posts it…

    Please explain what the hell are you, your kid or whoever you want to protect doing trampling about in some farmer’s field?

    1. Well, if you watch the video it does get within a few feet of the driveway, something that might be a telephone pole, and a building of some kind. GPS accuracy is only so good, and what if a steering component fails? A person would shut off the engine or stop immediately – what does the computer do?

      I think a self driving tractor would be awesome, but I’m not sure I’d want to leave one running unattended.

      Actually I see him put his hands on the wheel at around 2:35. I wonder what happened?

      1. I don’t think any farmer would ever trust a tractor to be completely autonomous. They can cost more than your home, they rely on these machines so much that I can’t imagine anyone who has one not babying it.

        1. Compared to the grey fergy, tractors are massive now, mostly to maximise work with minimum manpower, but maybe with this type of automation tractors could again be smaller and cheaper.

      2. I would expect there to be some error checking in the software. If it tells the steering components to turn the tractor to a certain heading, and the GPS doesn’t report a change in direction, emergency stop.

      3. This type of autosteer is vastly different than a self-driving car. The farmer is always in the seat, even when the computer is driving.
        In a system like this, he has to control the tractor’s transmission, and therefore its ability to move. Newer tractors that are GPS ready from the factory often have integration with the transmission controllers to be able to stop when the end of their cycle is reached, but those tractors and their software are closed source.

        Usually something like this is used to help plant and spray more accurately, to help maximize yields while using as few inputs as possible. Auto steer helps the farmer be able to monitor the implement more closely, and helps to automate certain monotonous tasks such as tillage. The field boundaries are set in this system like they are in a closed source system from one of the big OEMs: by manually setting them either in software using a mapping application with GPS data, or by recording a boundary line around the edge of the field by manually driving it with the system in a record mode. The machine knows not to cross the boundaries, and in this system, the person in the seat is responsible for choosing what speed the tractor is moving at, if at all.

        Kudos to [Coffeetrac] for this. Open source has been sorely lacking in the precision ag sector for a long time and the cost to entry is prohibitive for small operations (an OEM precision setup on a tractor can add between $10k to $30k to the price of a brand new tractor, and retrofit is often in the middle of that range. They also require an ongoing subscription that can cost more than $5k per year, depending on the accuracy required and other services added in.).

    2. First, I would say that it looks fantastic. Great execution of a project.

      There are only two safety concerns. If by any reason, the program halt or crash, what is the safety measure taken place? What prevents the vehicle, let us say, to go out of the designated field into the neighbors due a bug or hardware failure?

      I asked this because I have being witness of cases where things got out of control. I almost lost the head once due a robotic arm loosing control due a unscheduled restart of the system.

      In the meanwhile, I would like to provide some ideas that may or not be useful:

      1. Use a similar hardware to the dog fence system. Using the fences (or mobile electrical fences) used in the farm, you could designate a security perimeter. If by any chance the system fails and try to cross the perimeter, the vehicle stop, shutdown, and shows some kind of alarm.

      2. Duplicate or triplicate the system as some passenger airplanes use. If one system fails, the other two can catch the difference and react.

      3. In a different system, use GPS coordinates to indicate the perimeter. If the vehicle cross. Stop and turn off.

  2. With this, instead of just following the edge of the previous row (like the plan is set up), you could now interleave the rows to match the turning radius of the equipment being used. This would eliminate those dead spots and ultimately be a shorter path.

  3. Until we find a way to ignore GPS jammers ($20 from China), if that’s even possible, this needs a human to make the final judgement, and not a sleeping one, like in the Uber accident death. It “could” be done remotely though, like our military drones (but they get special dispensation).

  4. I live in farm country, I watch the guy plowing, fertilizing, planting and harvesting, all under computer control. He sits in the cab and ready the paper. Did I mention that he does all his work after dark, it almost completely dark out here in the sticks.

  5. To those outside of ag, this type of system has been working the fields worldwide for years now. This is a great open-source solution however, at a much lower cost than the commercial offerings that are quite popular in the ag sector.

    Safety issues are mitigated by the fact that these systems run with a driver in the cab at all times. Usually the farmer just sits in the cab, monitors the various systems and reads a book, listens to the radio or watches TV.

  6. Hi Donald, impressing!!! What steerring valve do you use?
    What is the main diffrence between your pcb and the one with the arduino nano on the agopengps site?

    Do you sell the pcb’s ? Or have files to order?

    Thanks Jack

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.