How to Backup and Restore Your IP Camera Firmware

[Filipe] has been playing around with custom firmware for inexpensive IP cameras. Specifically, he has been using cameras based on a common HI3815 chip. When you are playing around with firmware like this, a major concern is that you may end up bricking the device and rendering it useless. [Filipe] has documented a relatively simple way to backup and restore the firmware on these cameras so you can hack to your heart’s content.

The first part of this hack is hardware oriented. [Filipe] cracked open the camera to reveal the PCB. The board has labeled serial TX and RX pads. After soldering a couple of wires to these pads, [Filipe] used a USB to serial dongle to hook his computer up to the camera’s serial port.

Any terminal program should now be able to connect to the camera at 115200 baud while the camera is booting up. The trick is to press “enter” during the boot phase. This allows you to log in as root with no password. Next you can reset the root password and reboot the camera. From now on you can simply connect to the phone via telnet and log in as root.

From here, [Filipe] copies all of the camera’s partitions over to an NFS share using the dd command. He mentions that you can also use FTP for this if you prefer. At this point, the firmware backup is completed.

Knowing how to restore the backup is just as important as knowing how to create it. [Filipe] built a simple TFTP server and copied the firmware image to it in two chunks, each less than 5MB. The final step is to tell the camera how to find the image. First you need to use the serial port to get the camera back to the U-Boot prompt. Then you configure the camera’s IP address and the TFTP server’s IP address. Finally, you copy each partition into RAM via TFTP and then copy that into flash memory. Once all five partitions are copied, your backup is safely restored and your camera can live to be hacked another day.

Solar Powered Circuit Waters Your Plants


If you want your plants to stay healthy, you need to make sure they stay watered. [Dimbit] decided to build his own solar powered circuit to help automatically keep his plants healthy. Like many things, there is more than one way to skin this cat. [Dimbit] had seen other similar projects before, but he wanted to make his smarter than the average watering project. He also wanted it to use very little energy.

[Dimbit] first tackled the power supply. He suspected he wouldn’t need much more than 5V for his project. He was able to build his own solar power supply by using four off-the-shelf solar garden lamps. These lamps each have their own low quality solar panel and AAA NiMH cell. [Dimbit] designed and 3D printed his own plastic stand to hold all of the solar cells in place. All of the cells and batteries are connected in series to increase the voltage.

Next [Dimbit] needed an electronically controllable water valve. He looked around but was unable to find anything readily available that would work with very little energy. He tried all different combinations of custom parts and off-the-shelf parts but just couldn’t make something with a perfect seal. The solution came from an unlikely source.

One day, when [Dimbit] ran out of laundry detergent, he noticed that the detergent bottle cap had a perfect hole that should be sealable with a steel ball bearing. He then designed his own electromagnet using a bolt, some magnet wire, and a custom 3D printed housing. This all fit together with the detergent cap to make a functional low power water valve.

The actual circuit runs on a Microchip PIC microcontroller. The system is designed to sleep for approximately nine minutes at a time. After the sleep cycle, it wakes up and tests a probe that sits in the soil. If the resistance is low enough, the PIC knows that the plants need water. It then opens the custom valve to release about two teaspoons of water from a gravity-fed system. After a few cycles, even very dry soil can reach the correct moisture level. Be sure to watch the video of the functioning system below. Continue reading “Solar Powered Circuit Waters Your Plants”

Tesla Truck Wants to Bring The Makerspace To The Children

With so many budget cuts, many public schools find themselves having to cut “unnecessary” programs such as shop, art, and music classes. They simply can’t afford to keep those things running and also teach other important concepts like math, language, and history. The obvious side effect is that kids don’t have a safe place to be creative and learn to make things with their hands.

Luckily, the maker movement has been rapidly growing over the last few years with makerspaces popping up all over the globe. These places are picking up the slack left behind by the budget cuts that hurt our public schools. But while makerspaces are getting more and more common, they still don’t exist everywhere. Even in those places lucky enough to have a makerspace, not everyone is aware that they exist and not everyone can afford to be a full-time member. This is where Tesla Truck comes in.

The Tesla Truck’s mission statement is “to provide a cutting-edge, mobile, hands-on STEM lab, where students, teachers, and makers can teach, learn, collaborate, create, and innovate.” It’s a noble cause for sure, but how do they plan to do this? This group intends to outfit a truck with the kinds of tools every maker dreams of. These would include a 3D printer, laser cutter, CNC plasma cutter, mill and lathe, electronics bench, and more.

Obviously just having a bunch of high-end tools is not going to cut it. Someone is going to have to teach people how to properly use these tools. The group behind the Tesla Truck is made up of educators, engineers, and published researches who have been doing this kind of thing for a while now. This group has been packing up their own personal tools into their hatchbacks and setting up shop in school classrooms around New York City, only to have to break down at the end of the day and bring them all home again. Together with the students, this group has built things like robots, quadcopters, and water purifiers. The Tesla Truck will give them the ability to reach more people much more easily.

The Tesla Truck is looking to raise a total of $62,804.01 to make their dream a reality. They have raised more than half of that outside of crowd funding. They’ve now turned to Indiegogo to raise the last $24,300. They have ten days left and they are almost halfway to their goal. You can watch their campaign video below to get a better feel for what they are all about. Continue reading “Tesla Truck Wants to Bring The Makerspace To The Children”

Inexpensive AVR Programmer Made From Five Components

If you want to program an AVR chip as inexpensively as possible, then [Ian's] solution might just be for you. He built an AVR programmer using only four components. This design is based on the vusbtiny AVR programmer design, with a few components left out.

[Ian's] design leaves out two of the resistors and two diodes, leaving just four components. These include a 1.5k resistor, a small capacitor, a USB connector, a six pin header, and an ATtiny45. He admits that this may not be exactly up to USB spec, but it does work.

This is one of those projects that is really an exercise in “will it work?” more than anything else. The fact that you need to first program an AVR chip means that this wouldn’t be useful in a pinch, because you would already have to have a working programmer. Nonetheless, it’s always fun to see what can be done with as little as possible.

Simple LED Project to Spice Up Your Halloween Party

[Paul's] project is a great example of how you can take a simple project and turn it into something more interesting. He built himself a jack-o-lantern with an Internet controlled RGB LED embedded inside.

[Paul] first wired up an RGB LED to a Raspberry Pi. He was sure to wire up each color using a 100ohm resistor to prevent the LED from burning out. The web interface was written in Python. The interface is pretty simple. It consists of three text fields. The user enters a value between 0 and 255 for each of the three LED colors. The program then lights up the LED accordingly.

[Paul] realized he would need a diffuser for the LED in order to really see the blended colors properly. Instead of using a common solution like a ping-pong ball, he opted to get festive and use a plastic jack-o-lantern. [Paul] removed the original incandescent bulb from the lantern and mounted the LED inside instead. The inside of the pumpkin is painted white, so it easily diffuses the light. The result is a jack-o-lantern that glows different colors as defined by his party guests. Be sure to check out the demonstration video below.

Capacitive Garage Door Opener Hides Behind Your Dash

[Pyrow] wanted to upgrade his garage door opener remote. It worked just fine, but changing those tiny batteries out can be an inconvenience. Plus, the remote control was taking up valuable storage space and would always rattle around while driving. [Pyrow] decided to make use of an Omron E2K-F10MC2 capacitive touch sensor to fix these issues.

[Pyrow's] circuit still makes use of the original remote control. He just added some of his own components to get it to do what he wanted. The circuit is powered by the car’s battery, so it never needs a battery replacement. The circuit is protected with a fuse and the power is regulated to prevent electrical spikes from burning up the original remote control. The actual circuit is pretty simple and uses mostly discrete components. It’s all soldered onto proto board to keep it together. He only had to solder to three places on the original remote control in order to provide power and simulate a button press.

Next, [Pyrow] took his dash apart. He used double-sided tape to attach the touch sensor to the back of the dash.  After securing the electronics in place with tape, he now has a working hidden garage door opener. Full schematics are available in the writeup linked above. Also, be sure to watch the demonstration video below.

Continue reading “Capacitive Garage Door Opener Hides Behind Your Dash”

Reverse Engineering a Bathroom Scale for Automated Weight Tracking

[Darell] recently purchased a fancy new bathroom scale. Unlike an average bathroom scale, this one came with a wireless digital display. The user stands on the scale and the base unit transmits the weight measurement to the display using infrared signals. The idea is that you can place the display in front of your face instead of having to look down at your feet. [Darell] realized that his experience with infrared communication would likely enable him to hack this bathroom scale to automatically track his weight to a spreadsheet stored online.

[Darell] started by hooking up a 38khz infrared receiver unit to a logic analyzer. Then he recorded the one-way communication from the scale to the display. His experience told him that the scale was likely using pulse distance coding to encode the data. The scale would start each bit with a 500ms pulse. Then it would follow-up with either another 500ms pulse, or a 1000ms pulse. Each combination represented either a 1 or a 0. The problem was, [Darell] didn’t know which was which. He also wasn’t sure in which order the bits were being transmitted. He modified a software plugin for his logic analyzer to display 1′s and 0′s on top of the waveform. He then made several configurable options so he could try the various representations of the data.

Next it was time to generate some known data. He put increasing amounts of weight on the scale and recorded the resulting data along with the actual reading on the display. Then he tried various combinations of display settings until he got what appeared to be hexadecimal numbers increasing in size. Then by comparing values, he was able to determine what each of the five bytes represented. He was even able to reconstruct the checksum function used to generate the checksum byte.

Finally, [Darell] used a Raspberry Pi to hook the scale up to the cloud. He wrote a Python script to monitor an infrared receiver for the appropriate data. The script also verifies the checksum to ensure the data is not corrupted. [Darell] added a small LED light to indicate when the reading has been saved to the Google Docs spreadsheet, so he can be sure his weight is being recorded properly.