Dynamic DNS Updating – No PC Required


[Boris] from Open Electronics recently wrote us to share their latest creation. Like many of us, he uses DynDNS to keep his home network a FQDN’s reach away. While DynDNS is quite a convenient service, many people don’t like the idea of leaving their computer on all the time to keep the IP updated. That’s where the Arduino DDNS module comes into play.

Built using a standard ATMega328 with the Arduino bootloader installed, the module periodically checks to see if the user’s IP has changed, updating the DynDNS entry as needed. The Arduino talks to the network via a WIZnet Ethernet breakout board, contacting DynDNS’ servers to check and update the user’s IP over a series of standard HTTP requests.

We are aware that several router firmware packages such as DD-WRT have this functionality built-in, but this project makes for a nice alternative when those resources are not available.

As always, a bill of materials, PCB layouts, and Arduino Sketch code are all available for download over at the Open Electronics site.

30 thoughts on “Dynamic DNS Updating – No PC Required

  1. The last four routers (Linksys, D-Link, Thomson and … dammit what was it, bleh, can’t remember) I’ve owned had this functionality built in with the standard firmware. I thought it was sort of a standard thing to have.

  2. Well done project. Maybe not the most cost effective way to do it, as almost all modern routers have this built in, but it can be a nice learning tool that can be reused later.

  3. Pretty cool,
    but yeah i agree, all the last couple of routers i’ve had, have had that functionality in the stock firmware.
    Not that I ever used them much, as they where all promptly flashed with DD-WRT or tomato, or replaced with somthing that could run it.

  4. Like others have said, its pretty standard for most of us. But I like the concept, and I can just think of other ways we could use this mini DNS updater. Just wondering, does anyone know a way to get DynDNS be to allowed behind a firewall you can’t port forward on? I am currently living at a university and want to be able to access my files form elsewhere, remote in, acess my personal web-server (its private), ect.

  5. @ds2ktj: So does mine,which is a WRT54G2. And it is an interesting project.

    However the one thing that most people aren’t aware of is that the DDNS people, in this case the largest of the providers, which is DynDNS wants people to run some sort of wizard on their hosts to automatically update them. Even if the router does do that. The one I use fortunately provides several different binaries, including one for Linux and Solaris on SPARC.

  6. While it is built into many routers, not all routers support the DDNS service you might choose to work with.

    Specifically, the Verizon FIOS router that I have does not work with no-ip (or at least, didn’t last time I looked).

    I could use my own router w/ the service, but then I lose caller-id and remote DVR functions if I hide the Verizon router behind my own.

    I can see this as being useful in certain situations.

  7. A lot of factory routers only use the DynDNS service provided by the manufacturer, but open source firmwares like DD-WRT definitely support regular DynDNS. Still, this is a cool idea, and could perform other useful network services that don’t require a lot of computing power: Tor exit node, SSL notary, VPN host, etc.

    @MrBishop: DynDNS itself works fine without port forwarding, getting back into your network using that address is another matter…if you can’t port-forward you’re out of luck. The only other thing you could try is setting up a VPS and using a VPN or reverse SSH tunnels to route traffic from that VPS to your home (dorm?) server.

  8. bemis, I agree.

    To be honest, the last router I purchased didn’t have a DDNS option though that was a while ago. Once I flashed it with DD-WRT, I was good to go.

    Since then, I switched from Comcast to ATT U-verse, and their Residential Gateway (also the router) has no ability to utilize DDNS that I have seen.

    That said, I leave my computer on 24×7 anyhow, and I simply use the DynDNS client. If I didn’t, something like this would do the job nicely.

  9. I agree with DDWRT and most router has this feature build in. But I look at this as an interesting sample for those who if you are learning how to use uC to interface with network, HTTP protocol etc. A similar project I have in mind is a standalone device to use a DS3231 and ntp to act as a stand alone time server on the network.

  10. If you don’t run your computer at least once a month, you don’t really need a dyndns account. If you run it more often, just get a script which runs when system starts. It’s just a matter of pinging one site and it’s done.

  11. Neat. I like the fact that the project has some documentation; given the fact that a lot of commercial routers have some dynamic dns feature built in; or dd-wrt /pfsense/m0n0 have this built in. .or that any computer thats always on can do this. .or that a linux based nas device or similar can be setup to do this. .or your 20 year old mac/pc/etc can be setup to do this. . eh.

    makes me wonder what the total part cost is to build one of these. You could probably find a super cheap dd-wrt capable router and set it up just to be a dyndns client device for ~40 dollars. Might be a better solution simply due to the device having a case + power supply.

  12. Almost all the consumer routers already support DynDNS and TZO (especially the cameras). A few still support no-ip and some other small providers.

    What’s interesting though is you might have a router-less network with just a camera (a dumb one without DDNS). Here, that works fine.

    Also, you could combine this with some event based on IP change (wake on lan or flip a power switch).

    I’ve looked at the code though, and it does not implement DDNS correctly. There’s a lot of stuff you need to do besides watch for an IP change and post an update (and assume it works).

    This is a neat toy, but use a more complete updater if you depend on the domain not getting blocked.

  13. Actually, something like this would be useful to me because I don’t have a router on my network that has this feature.

    Though my arguement is invalid, because I have a linux box acting as my router, therefore I have a computer that’s on 24/7 that can update my domain.

    Now, a valid reason to do this, would be on a Arduino project that uses a GSM shield and is remote. Say, a weather balloon or similar.

  14. Wow, a dozen or more comments all saying how they don’t need this. Good Job. The fact that it is useful to a minority doesn’t make it useless, and really the same could be said about most projects here.

    If nothing else, I like the pcb layout that I could use for other sketches. Thank you, Boris, for including a nice parts list, sketch, and pcb layout. Nice work.

  15. I dont get it. What’s the point in having the DDNS updated with your IP if there’s no computer actually turned on and using that IP anyway? What a ridiculous thing.

  16. Those that say why use this if you do not have a computer.. I need something just like this for my fathers cabin. The provided ISDN modem does not have DDNS and I have a IP camera that only uses a pay service. I wanted to use it with DynDNS, but to do so I had to place a DDWRT router JUST for DynDNS functionality. Waste of a DDWRT router in my opinion.

    So bravo.

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.