Fake TV - Burglar Deterrent

65,373

442

46

Posted in TechnologyLeds

Introduction: Fake TV - Burglar Deterrent

About: Petroleum Engineer working in Tulsa, OK. Started messing around with electronics in 2014 when I purchased an Arduino Uno. I think I'm hooked now, always trying to think of something else to build.

I was shopping around on Amazon the other day and came across a product that I thought was genius. It is called Fake TV and it acts as a burglar deterrent while you are away from the house. At night, the Fake TV turns on and uses a series of LEDs to project random colors that looks as though someone is inside watching TV when viewed through curtains or shades. There are some videos of it in action on YouTube and I have to say it really does look like someone is inside watching TV. This should scare off the large majority of petty thieves that are just looking for the quick opportunity. If someone is casing your house, this probably isn't going to help you though. See the commercial version here:

In another language

Another view that shows comparison to a real TV

Anyway, they wanted $25+ for these things that are nothing more than a microcontroller and some LEDs. I thought about it and had the solution I am presenting here dreamed up in about 5 minutes. About 2 hours later I had a finished product using only left over bits I had from other projects. If you purchased these items you could likely build your own for under $10 too. My solution uses an AT Tiny 85 and Neopixels. You could easily swap in a full Arduino for the ATTiny, or swap in some transistors and LED's or RGB LED's for the Neopixels. It would only take very minor tweaks to the code.

This solution is better than the commercial product in my eyes because it is fully customizable! I even included a potentiometer you can use to adjust the brightness to get the exact effect you are looking for!

Automation Contest

Third Prize in the
Automation Contest

Coded Creations

Runner Up in the
Coded Creations

Step 1: Gather Your Parts

Here is my parts list:

  • ATTiny 85 - 8 pin microcontroller - purchased mine from Jameco here
  • 8 pin DIP socket - optional but helpful for future reprograming - purchased mine from Amazon here
  • WS2812B RGB LEDs - aka NeoPixels (60 per meter) purchased mine from eBay, see detail below
  • 10 uF electrolytic capacitor - pulled out of an assortment pack I purchased from Amazon here
  • Resistor - somewhere between 300 and 500 Ohms will be perfect - pulled out of an assortment pack I purchased from Amazon here
  • Hookup wire - helpful to have 3 colors, but not necessary - I think I got mine from RadioShack
  • Perfboard - I prefer double sided with tinned holes, but you can manage with others - from Microtivity on Amazon here
  • Barrel Jack - This is optional, you could solder your power supply directly to the device - purchased mine from Amazon here
  • 10K potentiometer - Not necessary, but helpful for fine tuning the brightness to get the right look and feel - mine came in an Arduino starter pack but these on Amazon are cheap and should be perfect
  • Power adapter - something between 3.5 and 5.5v. Or something with a higher voltage that you can step down with a voltage regulator - pick one of these up from a garage sale, your junk drawer, etc

I had all of these parts laying around from other projects but they are all easy to pick up at many online retailers. The only "high cost" item is the WS2812B LEDs. These are best known by the name NeoPixels as marketed by Adafruit. If you want to support Adafruit then go buy them from their website. I, however, found them for less than half the cost on eBay. I purchased my NeoPixels here. They have worked great on 4 different projects with no dead pixels or any issues whatsoever.

Considerations:

Power Adapter: You likely have several of these laying around the house that no longer serve their purpose or the item they powered has long since been lost/broken/tossed. I picked one up at a garage sale a few days ago for 25 cents to add to my collection. For this project you will need an adapter that will output somewhere between 3.5v and 5.5v. It needs to stay within that range when under load and when under no/low load. It also needs to be able to source enough current. The LEDs should consume a maximum of 60 mA per LED (20 mA per color). In my design this means I need 60 mA * 8 LEDs = 480 mA plus whatever the microcontroller consumes. I estimated that the ATTiny likely isn't consuming more than 40 mA for this application (pulled that guess out of thin air) so my total maximum current draw should be 520 mA. I had one laying around that stated it could deliver 4.8v @ 800 mA. I plugged it in and the voltage under no load was 4.95v per my multimeter. Be careful because this is not always the case, many times these power adapters can have near double the voltage at low/no load. This device covers a wide range of current draw which could result in a large fluctuation in voltage on some of the lower quality power adapters. Read more about power adapters on Adafruit's learning site here. One of the cheapest and easiest solutions is likely to pick up a cheap cell phone charger from the grocery store checkout isle, you know the pink rhinestone kind they sell for $2. Then power your device with an old USB cable you don't mind tearing apart. Those little adapters typically source 500 mA @ 5v and are regulated supplies. Or you can use a larger wall wart, batteries, etc and step the voltage down with a 5v regulator. Here is some info on those.

Step 2: Breadboard It With an Arduino

I suggest you breadboard everything before you start soldering. It is always nice to get the bugs worked out BEFORE you have soldered a single connection. With that, I also suggest, if you have an Arduino UNO or other full sized Arduino with headers for easy connections that you program and test the setup before switching over to the ATTiny, it is just much easier to work with.

I am going to show you this setup first with an Arduino Uno serving as the microcontroller. No pins need to be changed or reassigned in the code to make this work. You will see a few steps later that all we then have to do is pull out the wires leading to the Arduino and replace it with the ATTiny, add power supply, and you are ready to test the final setup.

For the purposes of breadboarding and the final build I like to use three colors of wire in simple applications like this. Red is always Vcc (Voltage high), Black is always Ground, Green is always Data. Those are the three colors of hookup wire I had available, you may prefer something else. Whatever floats your boat.

Place the components like I have shown in the Fritzing diagram above.

A little detail:

The potentiometer (orange looking plus) - This is acting as a voltage divider. It takes power and ground and as you turn it CW or CCW the voltage output on the top pin will change from supply voltage down to zero. What I have used is a 10K pot, you can use pretty much any value. This will output a voltage which will be picked up by our Arduino (and ATTiny 85) on A1. This will then be mapped to a max brightness value that will control the maximum brightness output by the device.

WS2812B (aka NeoPixels): Ignore the pins identified in the Fritzing diagram, they do not have WS2812B version. Instead recognize that 5v goes to the solder tab marked "5V" on the strip. Ground goes to "GND". Data is routed from digital pin 4 on the Arduino (also digital pin 4 on the ATTiny 85) through a resistor (between 300 and 500 Ohms) and to the tab marked "DI" on the strip. The capacitor is in place to help remove voltage spikes as pixels flash on and off. There is a great tutorial on these LEDs on Adafruit's website found here. IMPORTANT: If you are using only 8 pixels to create your Fake TV then you should be ok, the Arduino can source 500 mA via USB. IF YOU ARE USING MORE PIXELS you will need to provide an alternate power source for this part of the setup.

Plug the Arduino into your computer via USB. Nothing smoking? Great! Something smoking? BAD!

Step 3: Load the Code

If you have done everything correctly you should be able to just copy and paste this code (attachment) into your Arduino IDE and upload straight to the Arduino. Within seconds you should see the breadboarded prototype glowing in all its glory.

I am only a few months into coding so my code is likely very inefficient and could be picked apart by some of you out there that are far smarter than me. Feel free to comment with any constructive criticism regarding the code.

You will need the Adafruit Neopixel library. You can download it here.

Some points on the code:

In the main "void loop()" section the code is simply generating random colors, brightness and time delays in order to simulate the changing scenes that might be in place if you were watching TV.

The potentiometer setting determines what the maximum brightness of the Fake TV will be. Low brightness is already set. Brightness on the pixels varies from 0 (off) to 255 (full on). Each pixel consumes the most power possible when Red, Green and Blue are all maxed out at 255 and Brightness is maxed out at 255. This is full on, all white light and the pixels should consume about 60 mA each in this moment. Feel free to alter the code to generate a lower maximum brightness to keep your power consumption down if that is of concern.

A note about the colors: I initially had the colors set up to randomly generate values from 0 to 255 but I found that certain times you would get something like Red = 255, Green = 3, Blue = 10 which produced almost pure red light or at times pure Green or Blue. This just did not seem to mimic the TV look very well so I jacked the minimum color values up to 150 in order to get more subtle colors that were more "white" like you get out of an LED TV. Feel free to play around with this as you see fit.

Everything working? Play with the potentiometer and see if your brightness changes. If you are staring straight at the pixels, you may be blind by now. These suckers are bright!

Moving along!

Step 4: Program Your ATTiny 85

Ok, here is where I will gladly point you to other sources. This is really quite simple but does not warrant me rephrasing everything. I first messed around with controlling NeoPixels using ATTiny 85 after reading danasf's post "Use a $1 ATTiny to drive addressable RGB LEDs". It gives you a pretty good guide of how to program your ATTiny 85 for this purposed. It is based on work done by High/Low Tech in which they use your Arduino to program the ATTiny. There are also other solutions, but I liked this on the best.

Find more at High/Low Tech's pages:

http://highlowtech.org/?p=1695

http://highlowtech.org/?p=1706

Big thing here is to be sure to load the bootloader after selecting the 8 MHz INTERNAL clock. If you burn the fuses wrong it won't work. After you load the bootloader you just then upload the code I supplied and then your ATTiny is programmed and ready for your Fake TV device!

Move on to testing it on the breadboard.

Step 5: Return to the Breadboard - With the ATTiny 85

Now that your ATTiny is programmed you can return to the breadboard.

Pinout Confusion.

Pin 1 on the ATTiny 85 is marked with a small dot, arrange the chip such that you are looking at it with the dot in the upper left so you can follow along. Now take a look at the pinout diagram (courtesy of Sparkfun) in the pictures above and prepare to be confused if you are a newbie. The "physical
pins" count sequentially down the left side 1,2,3,4 with pin 4 being in the lower left. Then jump across to pin
5 in the lower right and count sequentially up the right side 5,6,7,8. Easy, right? Wrong. Those are the physical
pins, but what the microcontroller calls those pins for the purpose of programming is completely different. I
will save myself from typing it all out and just focus on the pins we will be using for this application (other than the programming).

Ground: Found on physical pin 4.

Vcc: "Positive" or your voltage high. Found on physical pin 8.

A1: Analog 1. Found on physical pin 7. Can also be assigned as digital 2, but we are using it to read the voltage from the potentiometer.

I/O 4: Digital Pin 4. Found on physical pin 3.

I know, I know, where do they come up with this stuff?? 3 is 4, 1 is 7 but sometimes 2... thank goodness someone already put this on a diagram, or my head would hurt.

Remove the wires from the Arduino, wire in your barrel jack or other power supply and connect to wires for power and ground to your ATTiny 85 and you should be up and running with your now shrinkified project. Your program should be working just as before and behaving nicely. Play with the potentiometer, make sure everything works. If so, you are ready to move on to soldering it all up to your perf board.

Step 6: Solder It All Together

Your layout may be different than mine. I tend to just sit down and start soldering without much forethought and planning. You may be more careful and meticulous than me. Either way, if you follow the Fritzing diagram from the previous step as your schematic, you should be all set.

If you break the pixel strip up into two or more pieces as I did, you will need to connect a wire from "DO" of the first strip into "DI" of the second strip. Follow the arrows as the data can only flow one direction.

I am not the best as soldering but here is my finished product.

Step 7: Plug It in and Test! You Are Finished.

My final product was small enough to fit in the palm of my hand yet bright enough to light up the whole room at max brightness. I played with the potentiometer to dial in the right brightness and took a look from outside. Looks like a TV to me. Overall this build from concept to finished product took about 3 hours. Now that you have the code and the layout you should be able to construct yours in half the time!

There you have it, your very own, fully customizable burglar deterrent. Plug this bad boy in when you are away and rest assured that the low level thieves will steer clear of your home. I would suggest plugging the power supply into a wall timer for full effect.

I intend to update this with more features as I have time.

Some additional improvements you may want to add:

- Real Time Clock chip to turn the device on and off at different times of the day/night.

- A second potentiometer or mode button to set a variable low level brightness.

- A reflective hood to channel the light more effectively

- A nice project enclosure or acrylic box.

- Integration into your Nest thermostat's away feature or home automation system.

Leave the comments, favorite it or follow me for future projects.

2 People Made This Project!

Recommendations

  • Spotless Contest

    Spotless Contest
  • Microcontroller Contest

    Microcontroller Contest
  • Trash to Treasure

    Trash to Treasure
user

We have a be nice policy.
Please be positive and constructive.

Tips

Questions

46 Comments

great project, been meaning to do some projects with the ATtiny, this just gave me the shove I needed. I'll be adding this into my DIY home automation/security system. I've got another version I've made, but I think yours is a bit more realistic. Thanks for posting!

dj55nava, here is a link to my version, the derivative Fake TV. It has, amongst it's other complications, a 24-hour timer function to turn it off and on. It also has many knobs and a button, but you can omit all of that and just have it run automatically each night.

https://www.instructables.com/id/Arduino-Totally-Derivative-Fake-TV/

Just wondered.. 5 months down the line.. have you been burglared? :-) Hope not.

I hae my version 'guard' an empty house for a while already (combined with random lights) and no burglaries yet :-), though there have been burglaries in the neighbourhood

2 replies

All has been good! No burglars.

thanks for sharing the project, you created a new code on and off day and night? Thank you

5 replies

No I have not. Unless you add an RTC module you would be reliant on a light sensor, simple delay function or a plug in wall timer. I chose to just use a plug in wall timer and it gets the job done nicely and inexpensively.

Mine cost me $7.56 in parts. But I had all that laying around as spare pieces from other projects.

Cost Breakdown.jpg

you should find a cheaper source for your Attiny's :-)

The cost to reproduce your instructable for most people... would come from the purchase price column. Items you have on-hand are great, but they aren't free. 'Found' materials is another story.

No doubt, but the other materials are not wasted. If we want to go down that road then let's be sure to account for my soldering iron, table, chair I sat in, garage I constructed the project in, etc. So I shall restate the price of this at $67,307.56. The links are posted, the costs are easy to determine, the choice is yours. Go find another Instructable to comment on where you don't add value to the conversation.

Cool design. I already have one of the commercial Fake TV devices so I thought I would share some info about that one which may be helpful for expanding on this or similar DIY designs.

The commercial one has 16 high output surface mount LEDs, 6 are white, 3 are green, 2 are blue, and 1 is red. My guess is they studied the average TV color content to come up with that particular mix. They are quite bright, like something you might find in a small flashlight. The lights are controlled by a PIC16F506 connected to 7 transistors to drive a 3x4 array of LED's. In operation, each LED color is grouped together (ex. all green lights transition together, all white lights transition together, etc), individual LEDs are not addressed even though the hardware appears capable of more granular control.

All of the transitions use fading, and the speed of the fades vary, sometime fast, and sometimes slow. At times all LEDs dim to almost off.

The PIC they are using has 1K memory, 67 bytes of ram, 11 I/O pins, and 1 eight bit timer. Even though it does not directly support PWM, the MCU is still able to vary the brightness of the LEDs, no doubt by writing their own PWM routine in the main code.

The front side of the box has a diffuser panel. The back side has a four position mode switch and a photo sensor. The modes are: Off; On; turn on at dusk for 4 hours; turn on at dusk for 7 hours. It uses a 9V switching supply walwart, with a 78L05 regulator internally for the MCU. It appears the LEDs are driven by the 9V supply after a protection diode.

20150517_215552.jpg
1 reply

that is interesting. There are several models of FakeTV (3 I think) would nbe interesting to know if they all had the same set up. I am a bit surprised at the 7 transistors to drive what is in fact 4 colors. It might be a bit difficult to drive 6 blue leds in series from 9Volt, but even then it should be possible to have 3 parallel strings of 2 blue leds (each string with its own resistor) and drive that with one transistor. Indeed, there usually isnt that much red in a TV image, so maybe that is why they only have one Red LED. I would be interested to hear yr opinion on the 'Real' FakeTV, as from other sources I heard that it didnt really look that real and the repetition cycle was too short so it would easily be recognized as 'repetitive'

Neopixels are what this entire instructable is based upon.

2 replies

For precise color control, use FadeCandy.

http://www.adafruit.com/products/1689

That would more than triple the cost of the project and is not necessary for what this is trying to accomplish.

Ha! Cool idea, but my Glock 19 is a bit more effective.

1 reply

The purpose of this is to drive burglars away while you are away from the house, not while you are there. So either you have a very intelligent, automated 9mm, or your comment is useless and adds no value to the conversation. Thanks anyway.

Interesting, was just makng one of my own, but with regular LEDs. Works great on an Arduino, but I ported the code to an attiny. Currently waiting for my LEDs to make it complete and publish.
I am using 4 different LEDs: RBG and white.
If I am allowed a bit of criticism on yr result: the light is too purple from time to time

1 reply

I fully agree that the color, frequency and transitions need work. I built this thing one night starting at 10 pm and had to be at work the next day at 7 am. I wrote the instructable over lunch the next day. There are a lot of things that can be improved and I look forward to seeing what other people create.

How are you planning to control the LEDs with the ATTiny? I believe it only has 2 PWM pins so I am confused how you can do more color mixing other than something like Red = On, White = On, Blue = Off, Green = Off.