What is machine tree planting?

What does this do?

If I was marketing this as a product I would say the following: This is a modular GPS system that knows the distance to the line in front of you and the modules perform different operations using the distance or velocity.

Some examples:

  • An LED light bar mounted to the planter that runs perpendular to the line projects the line onto itself in real-time providing a visual guide to where the line is without physical marks
  • An air cylinder that can extend and push a tree (or vine) into the hole at the precise time to perfectly hit the line every time
  • A chain with tree holders that cycles around holding up-to two trees and automatically plants the tree on the line everytime

From a technical standpoint it is combining data from an RTK at 100hz and IMU at 480hz to accurately compute the perpendular distance to the line in front of where it is. Then output the distance and velocity over CAN to any node so that it can do what it wants with it. This happens at 500hz.

savings

So the distance to the line in front of us is where the cross mark would be. This eliminates cross marking entirely. The savings would be from not having to make an extra trip hauling the tractor to the field since it’s usually done on a different day. The actual run time savings isn’t as high as you’d think since you can go pretty fast and get a large field done in a short time but on small fields, far away fields or fields with lots of obsticles the overhead cost makes it much less worth it to mark. Some fields might also have stuff already in the rows like alfalfa or drip hose so cross marking is not possible. Meaning machine planting is not an option without it.

Why I built this project

I personally dislike having to plant but love to build so I came up with an idea to remove at least one step from planting. That is the cross marking. I originally built this project back in 2023, back then I had no clue what I was doing but I knew if I bought the stuff then I would be too invested to give up and that’s what I did. I finished after quite a few months and it worked ok but had a few flaws that made it less reliable. Now in 2026 I know a lot more and with AI have way more resources so that’s what I did here. Previously it was everything connected to an Android tablet via USB and the tablet controlled everything. This likely caused a lot of latency as well as a nightmare to maintain. It also lacked an IMU so any change of grade in the ground would mean the light was inaccurate. I also wanted to make it more modular to be able to plug anything into it in the future and it just work no matter what it is.

What I learned

  • The STM32 or microcontrollers in general are not something you can learn in 2 weeks.
    • There are a million different choices when configuring them and I just had to research and hope I was making the right ones

What I have planned for the future

  • I will attempt to fully automate the planting part and leave only handing the tree to the machine to people
  • Clean up and document the code better
  • Better solution for CAN node power instead of the current spliced USB cable hack.
  • Expand to other parts of the planter that might need to know where the tree is

How did I use AI here?

Well unlike my last project 100 Photos I actually used it quite a bit. I would say I played more of a project manager role. I would have liked to have done more hands on coding but simply lacked the time and knew I plan go back to work on individual parts later to at least see what’s up. To start I’ve never used C in my life so I had to understand the little things that make it different. I also had to keep all these hardware constraints in my head and make sure I didn’t block anything or slow stuff down. Stuff AI is simply objectively better at than me. If I don’t already know it then I either use AI or Google and i’ll get the same answer anyway. Of course I try to understand what I’m getting out of it still. I also used AI for double checking and finding hidden bugs because what harm can it do? I used it the most for writing the protocols between devices which is the CAN and UI protocol. Simply too complicated for me to try and understand in the short 4 weeks I had to make everything perfect.