An Arduino Device that Monitors Your External IP Address

[Bayres’] dad setup a webcam as a surveillance camera for a remote property. The only problem was that the only stable Internet connection they could get at this property was DSL. This meant that the external IP address of the webcam would change somewhat often; the needed a way to keep track of the external IP address whenever it changed. That’s when [Bayres] built a solution using Arduino and an Ethernet shield.

The main function of this device is to monitor the public IP address and report any changes. This is accomplished by first making a request to This website simply reports your current public IP address. [Bayres] uses an Arduino library called Textfinder in order to search through the returned string and identify the IP address.

From there, the program compares this current value to the previous one. If there is any change, the program uses the Sendmail() function to reach out to an SMTP server and send an e-mail alert to [Beyres’] dad. The system also includes a small LCD. The Arduino outputs the current IP address to this display, making it easy to check up on the connection. The LCD is driven by 74HC595 shift register in order to conserve pins on the Arduino.

The system is also designed with a pretty slick setup interface. When it is booted, the user can enter a configuration menu via a Serial terminal. This setup menu allows the user to configure options such as SMTP server, email address, etc. These variables are then edited and can be committed to EEPROM as a more permanent storage solution. Whenever the system is booted, these values are read back out of the EEPROM and returned to their appropriate variables. This means you can reconfigure the device on the fly without having to edit the source code and re-upload.

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.

Ask HackADay: Network Security Camera

Today we received the question,

“How to control a web cam via internet,
i want to use it for security reasons, always out of the house and my PC connected want to open the cam from time to time to checkout if something wrong!!”

– [Mohamed Saleh]

What a fun project we thought! And so many different ways of tackling it. Find out what we suggested to [Mohamed] after the break. Continue reading “Ask HackADay: Network Security Camera”