CD Controlled Lawn Mower

[Oliver Nash] was enlisted by his parents to fix their robotic lawn mower. They owned a Robomow which happily navigated their yard to keep the grass at a nice level. These robots rely on a perimeter wire with a special signal running through it to ensure they are inside of the mowing area. Confronted by a dead perimeter module, [Oliver] ordered a new unit and disassembled the old module to study the components. He also measured the signal generated by the replacement unit. In the end he was able to produce a replica of the signal using audio software, burn it to a CD, and playback the recording using the perimeter wire. It’s a bit of a zany idea but it worked.

35 thoughts on “CD Controlled Lawn Mower

  1. LOL!

    I don’t understand why he didn’t just fix the original board, and why he seems to have the ability to analyze the original signal, use a logic analyzer and reproduce the signal via CD, yet he claims that he could not get continuity readings from the incredibly simple circuit board due to “conformal coating”…

    Whatev. This is definitely an odd way to reproduce the signal, +1 for creativity. If you really wanted to reproduce the signal with another circuit, shaving off the diagnositics (continuity check and such) would make this circuit painfully simple and it could easily be put together on .100” perf board.

    This guy is definitely zany.

  2. The best way is to just keep a pair of sharpened meter leads, they pierce it nicely, and no sanding is necessary. I’m not trying to bash what you did here, I just can’t believe how much work you put in to this. You should construct a circuit with some flip flops and op amps, and some sort of BJT on the output. That would be pretty badass.

  3. It’s clear from the level of detail put into the signal analysis that Oliver is very sharp, but his final implementation of the signal is rather odd. It seems that the simple signal could just have easily been generated with a microcontroller coupled with the LM386 amp (and the purists would certainly say even that would be overkill).

    It is also a bit strange that he put so much effort into this solution, considering his father ordered (and received) the new module during the course of his work. I suppose there is something to be said for the challenge of getting it to work though.

  4. Maybe he was just going with what he had. Isn’t that the point of a hack? Re-purposing something to get it to run in a way other than intended by the manufacturer to suit your needs.

  5. Thanks very much to everyone for comments and kind words, I enjoy hearing that others are interested.

    Regarding why I used such a seemingly random solution, well it just seemed like a nice hack plus I didn’t have any available microprocessors lying around. Building a circuit to generate the signal out of discrete components (as Jake suggests) would be *cool* but tough and maybe not worth doing till the easier solutions were working reliably first.

    One final comment might be that the perimeter switch that Friendly Robotics sells is a bit of a rip off. It cost almost 100 euros. If someone worked out the simplest possible circuit, I’d say it could be built for about 5 euros. Dunno how big the market is but it’s a thought!

    @Jake: you’re right and I would certainly have liked to fix the original board but it wasn’t easy working with that conformal coating. I did a little reading and from what I could tell the coating I had was not so easy to get off relative to some other types (e.g., I wasn’t dealing with silicone based).

    @Jason Garland: I’d love to know how similar the system that the LawnBott uses is. If you have a ‘scope you should hook up its signal generator and let us know what you see!

    @WapiFlapi: That’s awesome, it’s years since I saw that film but I like that the idea cropped up there too.

    @Pff: I think you’re being a little less charitable here. It seems to me that my results are misrepresented if you simply say that my signal didn’t work. I did succeed in getting Robomow to get cutting albeit unreliably.

  6. Those anti-theft shopping carts use a very similar system, which can be abused in much the same way. just loop a wire around your waist a few times and hook that to the audio out of an ipod and play back a recording of the cart locking signal. it is sooo much fun watching the looks of confusion when the carts stop in the store! (i only do this because i know the employees, and they’re all stoners)

  7. Conformal coating is NOT hard to get off, you just use an exacto knife around the area you need to work with. It comes off kind of like a clear rubber jelly. The board certainly doesn’t look pretty anymore but it won’t screw anything up, I’ve done it many times with our boards at work.

  8. Love how all the “haters” who are complaining
    about this project probably couldn’t even begin
    to approach the level of reverse engineering
    analysis this guy demonstrated.

    Yeah, maybe it’s a lot of effort for a small
    return, but it’s his time. I for one, would
    love to hire this guy if i was an engineering
    manager looking for talented/motivated design
    engineers.

    thanks for sharing! it was a very substantive
    article. reminded me of Popular Electronics “back
    in the day”.

  9. One really has to give him credit for his project. That is revrse engineering at its finest. Regarding a microcontroller: why do it, if you have an old discman sitting around? Nobody will need that anyways. And actually, in our lab we often use a discman as an galvanically isolated arbitrary signal generator! Not such an uncommon use.

  10. Brennan, have you ever seen the hard epoxy-type coating? That stuff is extremely cut-resistant, and you’d spend more time sanding it off than you would working on the actual project. I suspect that’s what Mr. Nash was dealing with here, since he said it wasn’t silicone based.

    All in all, this is an awesome adaptation of what was already a really neat idea. The relationship between sound and electricity is fascinating to me, so I’m really glad to see something like this.

  11. I don’t get why he tries to mimic the signal with a python based script instead of simply recording the raw output then looping it, that would seem to me a sure-fire way to get a copy of the signal.
    Also he should connect a headphone and listen for a while for odd breaks with his ears, to see if there maybe is a periodic identifier signal he missed.

  12. @Whatnot: recording the raw output and playing that back instead of my python-generated signal is an great idea. In fact I briefly mention that I did try this (in last paragraph before “A final thought”) but the mower still complained. This perhaps implicates my cheap LM386 amplifier or maybe indicates that sampling at 44.1KHz is not quite enough.

    Also, though I tried both with the generated and the recorded signal, I preferred using the generated signal since I wanted to know which aspects of the signal mattered.

    Regarding listening for odd breaks, this is another good point. I think it might be hard to hear them if they’re fast but this possibility was the reason I carried out fairly extensive digital testing on a portion of the signal significantly longer (~50 seconds) than the typical start time of the mower (<20 seconds). I found no divergence from periodicity other than what I mention in the post so I'm pretty confident I haven't missed this.

    Thanks for sharing your thoughts!

  13. days later…

    Many hard conformal coatings can be boiled off, with a slight risk of water impregnation in cheaper fiberglass pcbs. In addition, almost all conformal coatings can be removed by one of three or four solvents – including more conformal coating.

    You can play amateur chemist as follows: obtain a half dozen test tubes, or just make some squares of filter paper or fine mesh screen.

    Next, scrape off a bit of coating and divide it into batches. Big flakes if you can do it. Then put a batch in each test tube or on each square.

    Add a few drops of Alcohol to one, Acetone to another, and perhaps kerosene to a third, and so forth. Nail polish remover, vodka, fermented ferret urine… the possibilities are endless.

    Ask a chemistry teacher or google for the names of common solvents. All of them will be available at almost any hardware store. One of them will likely disolve or soften the coating sample.

    If one of your materials softens the coating, you can paint it on, wait a bit, then hit it with a toothbrush.

    When all done, run the board through a dishwasher and the dry cycle. Use calgon or some other spot removing agent to ensure a clean board.

    Some coatings respond to high heat, like from a hair dryer. Some don’t and will bake on. Therefore, test a little. It doesn’t take much to build up some expertise in reverse engineering.

    Lastly, to the “It’s a rip-off, just $5 of parts in the circuit.” guy…

    I’ll bet you know a lot of people who are totally and astoundingly ignorant about electronics in general. They’re everywhere!

    You know the kind: They wouldn’t know a resistor from a capacitor, and to them all of electronics is divided into needs batteries and needs AC from the wall.

    The thing is, you may not realize that you know about as much about business as they know about electronics. 5 euro worth of parts, indeed.

    That’s like saying you can create a hot super model with an IQ of 135 by combining a sperm and an egg. Trust me, the raw ingredients have very little to do with the end result.

  14. @Oliver Nash
    I didn’t realize you tweaked the time you sampled to specifically be over the startup time, but even so you said it did work initially then later not, so it is possible it transmits something every few minutes, although not completely likely perhaps.
    I don’t believe it’s the sampling frequency though, I can’t imagine it using 8KHz then needlessly making it use very high frequencies too for some reason, but of course it’s hard to know for sure, it just seems unlikely somehow.
    Could it be your transmitting system being wrong? like for instance perhaps having the lines too close together like in a small loop will make it evaluate something is wrong, or maybe it want the signal to come from a downwards direction, perhaps they use some comparator to make sure the signal ‘makes sense’.

  15. Addendum: Oops I see you used the actual same wiring as the real device to test do that can’t be it.
    I know from your blog you decided to end wasting time on it, but damn it’s so close and so curious as to why it won’t work.

    One last thing, I think I read that the original transmitter has 2 signals to select from to help people if there’s interference, is that true? And if so did you perhaps compare them? Maye that would give some additional hints to muse upon.

    I get you aren’t stupid and thought about it a lot, but I’m just throwing out some things in the hope that maybe it gives you a lead to get an eureka moment of your own, we all know the experience where a random stranger or dumb person says something that makes you suddenly realize something you forgot :)

  16. Oliver, sorry I am late to the party. I thought I had posted previously but probably forgot to hit submit. Just wanted to say good work on the hack! I like your style! You are right about that coating, it can be a beast. Thanks for sharing your neat solution to an expensive problem :)

  17. Imagine being creative enough to put something together with just the parts lying around – instead of buying something.

    This board sure has it’s share of snarky fiskers who just *have* to put down what other people have accomplished. Doesn’t really add to the vibe, does it?

  18. Love the idea of the hack, the ingenuity and your sharing. It would kill me to start the project and not be able to come to the conclusion when it looked like you were so close (5 years ago now though so I’m quite late to the party). I actually hope that someone has carried this forward and has a workable solution as I’m about to install one and have 4 zones.
    I too would be very interested in a solution that was approx $5 to build – I found ones for $50 new (for what they are calling the “old” model which is the model we use in this discussion), however if someone if smart enough to hack the perimeter switch easily (remember this was 5 years ago – may not even cost $5 to make anymore) I’m in. Please let me know.

  19. I admire the whole project as dione by Oliver Nash . I have the periometer switch problem and like this solution. I can make the connection of the cd-player, but I was unable to download the zipped cd.from the documented website. Can I get a copy and try it out on my system ? where ?.

  20. Hi to everyone!

    I am a proud owner of a Robomow RL500, This spring my perimeter switch was drowned in the rain and died after 10 years of hard labour.

    Thanks to Oliver I can now continue to mowing.
    The only thing I changed is that I do not use a CD player but a cheap Bluetooth MP3 (with SD Card) player.

    Greetings from Belgium!

    Alex

Leave a Reply to Jason GarlandCancel 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.