This instructable has been removed by the author.
32
comments
|
Add Comment
|
May 3, 2006. 4:27 AMwestfw
says:
Go whole hog... This PCB drives 20 leds from a tiny11, and was set up to be IR-remote-controllable (that part's not implemented yet.)
Sep 15, 2008. 11:21 AMamk503
says:
That's neat westfw. How are you driving a 4x5 matrix with so few pins?
Sep 15, 2008. 3:01 PMwestfw
says:
It uses a technique called "charlieplexing"; there are several instructables explaining and/or using it, including my own How to Drive a Lot of LEDs from a Few Microcontroller Pins; search works well ("charlieplexing" being an unusual word :-)
Sep 17, 2008. 1:52 PMamk503
says:
Thanks for the info and the inspiration. Have you looked into gugaplexing? It's basically doubles the number of LEDs you can drive with charlieplexing using a few transistors. There is at least one instructable about it. I'm designing and will post a gugaplexed 5x8 display using a tiny11 (if it works). I've managed to prototype the circuit using an arduino, it's very impressive being able to drive 40 LEDs from 5 pins.
Sep 17, 2008. 5:48 PMwestfw
says:
No, I hadn't noticed Gugaplexing; thanks for the pointer. My usual excuse for charlieplexing is to save space, and it looks like with gugaplexing you end up using a fair amount of real estate for the transistors, so I'm not sure it'd be useful. Neat idea/technique, though!
Aug 19, 2008. 8:42 PMR4Man18
says:
nice fun project. may take an afternoon but will be lots of fun to do. nice instructable
Sep 15, 2006. 11:17 PMmycroftxxx
says:
Uhm, how difficult would it be to integrate the LED-as-sensor concept into this? It would lower your part count, slightly, and if you're using a pair of LED's, you could "prompt" the system with a flash of light, then use some other method of interacting with the unit.
Aug 30, 2006. 1:28 PMjnkarrik
says:
In an earlier post you mentioned a motor or something that winds out some string to allow for retrieval. While I like the retreival concept, I was thinking maybe you could use an electro magnet to "unstick" the throwie. I'm NOT suggesting that an electromagnet be used to make the thing stick as that would kill the battery super fast. What I'm thinking is a quick pulse to an electromagnet of opposite polarity as the main magnet that would "cancel" the magnetic force and allow it to fall off.
Jul 9, 2006. 2:17 AMakimbo m
says:
Hey hypercube, go easy on him! But yea i agree a printed serial number would be good. If that cannot be done, you can try putting a small dog tag instead on it. By the look of the pcb, it looks like it can do with a solar cell, how do you think? (you may end up needing a supercap unforunatly, as it is hard to charge a cell with one calcuator solar cell.) But either way, i look forward to it!
Apr 27, 2006. 3:14 AMhypercube33
says:
I'm interested in seeing a regenerative version of this - what happens if we add a cheap photocell to this project?
Apr 12, 2006. 5:45 PMzoomcityzoom (author)
says:
Ok, I re-designed the circuit. The board is now 0.675" X 0.875". The cell holder is on the back of the PCB with all of the other components on the top side. All components are now surface mount. I've replaced the Cds photocell with a pushbutton switch and added a third LED. I just ordered 10 circuit boards from www.batchpcb.com for about $2.50 each. Not bad for prototype circuit boards. I'll have the boards back in about 15-20 days and will then post photos of assembly. I'll then order boards in a 20x20 array (400 boards) and have them assembled by a pick and place machine. I'll also post photos of this process for those interested.
Apr 11, 2006. 7:20 AMradiorental
says:
nope! its a case of post anything you like, receive critism, then not allowed to delete or unpublish. I'm sure its being worked on. So, my only concern so far is the serial number display switch. Its a very nice practical design but may end up being used just like a mechanical switch. Wouldn't it be easier for users to cover the cell with their finger for darkness?
Apr 11, 2006. 8:23 AMzoomcityzoom (author)
says:
There is no mechanical switch for displaying the serial number. You would have to flash a pattern on the photocell (or use your finger over the photocell as you said) to put the device in a mode to blink out the serial number pattern on the LEDs.
Apr 11, 2006. 10:45 AMradiorental
says:
I'm not saying dont use a photocell, albeit they are more fragile than a surface switch, but people know what a switch/button looks like.. and if the photocell interaction is just like a switch then why not use a switch. You reasons for choosing the photocell are engineering driven. As long as thats a concious choice thats fine "having a light detector would make for some interesting modes of operation and two, it enables the devices to be set up in bulk" I would weigh in with questions about durability, cost plus my usual user interface grumblings. I think once you've release them in to the wild you wont need the bluk config option again. A test bed could be the next best thing for ease of programming.
Apr 11, 2006. 1:14 AMzoomcityzoom (author)
says:
Is there a way to delete or edit comments? I've moved the two parts of my previous post into the steps section of the project.
Apr 10, 2006. 9:16 PMradiorental
says:
Well, maybe lesson learnt but I dont see harm in what was posted Call it a concept review or whatever, I think the comments here are valuable input and could quite well influence the final design. The fact that instructables does not yet have capabilites for concept reviews is not really this contributors fault. As a ui designer I'll state this again, you cannot hold users at fault for what they input to a system. Currently there's basically two interaction flows (finished projects & comments) trying to account for projects in any state (concept, planning, in progress, finished) and only discussions on one of those flows. So, this site is missing a lot of architecture (inc rating, categorising (e.g. homebrew/commercial) e-shopping list click through, etc etc) My point again, if a user posted pic's of something completely pointless/wrong/unfinished/spam etc you cant point fingers at them because the site has not provided a correct medium for them Isnt that the whole point of makering? using stuff for something other than its original puspose?
Apr 11, 2006. 12:02 AMzoomcityzoom (author)
says:
Yes, lesson learned. I'm going to continue the design of this device in public with peer input and then post the instructions for assembly. Please feel free to comment on any of the following design thoughts. As you can see, there are currently two LEDs, one Cds Photocell, one CR2032 battery holder, and a Atmel ATtiny11 microcontroller. Parts cost (including assembly) for building a panel of 100 devices (snap the boards apart when done) is about $3 each including the batteries but not the magnets. In the current design, all of the parts except for the LEDs and the Cds photocell are surface mount. I did this for two reasons. One, is for size, the other is for in-expensive automated assembly. I've left much room on the rear of the PCB to fluch mount a magnet as large as the CR2032 coin cell. The LEDs are thru-hole because I think they look better and are often brighter. With one CR2032 battery and series resistors, this design will not support white or blue LEDs because their forward voltage drop is too high. This isn't a problem when connecting the LED directly to the batter is in the original LEDThrowies, but this with this design, I am trying to promote retrieval and reuse. You might think that the LED could be connected directly tothe ouput port pin of the ATtiny11 microcontroller without a series resistor, but either the current would be over the limit of the output pin or there would not be enough forward voltage to drive the LED. When the microntroller output is LOW, the port output voltage drops down to about 0.6V, not 0V. The maximum voltage from the output pin to GND with a 3.3 V supply would be 2.7 V. This is still not enough to switch on a blue or white LED. Red, yellow, amber, orange, and green LEDs will work fine. I thought of adding a second battery but this adds cost and weight. If I did add a second battery I would have the microntroller powered off of one cell and the LEDs powered off of two cells so as not to exceed the 5V supply limit of the ATtiny11. I wanted to provide a way for the user to customize the setup of this device. Originally, I had a small surface mount switch (25 cents) in the design. I changed the design to use a Cds photocell (about 39 cents) for user input for two reasons. One, having a light detector would make for some interesting modes of operation and two, it enables the devices to be set up in bulk. Instead of using a switch to program the current time and other operational parameters of one unit at a time, insert the batteries on multiple units and switch the room lights on and off to setup units in bulk. The Cds photo cell forms a voltage divider with R4. This voltage is fed into the port PB1 of the ATtiny11 which is also the analog comparator input. The other side of the comparator is connected to an internal reference voltage. When the photocell is active, (PB2 HIGH) and the comparator is enabled, the microcontroller is able to detect a light or dark condition. This is how blinking the room lights ON/OFF can then used as a form of user input to the microcontroller. I'm bouncing the subject around here, but I'm feeling quite free after switching back to a QWERTY keyboard for the moment. My posts from the previous few days were brief because I had switched to the www.newstandardkeyboard.com and typing is still very painfully S L O W. I'll switch back to my study of this new keyboard after I finish posting this message. You have to throw the brain a new bone now and then. Let's talk about the choice of microntroller. I've used Microchip PICs in the past, but recently, I've been using the Atmel AVR microcontrollers. Either would work for a device like this. Feel free to design one with any microcontroller you find handy and that you have the tools for. Speaking of tools, if you are interested int he Atmel AVR, sign up at the www.AVRFreaks.net site for much information and several great support forums. To see what you can do with a small microcontroller, visit www.powerseed.com I am a co-inventor of this device. Why the ATtiny11? I selected this device solely due to the low price of $0.37 in hundred piece quantity. Less expensive than a good LED. Here's a list of features: • Utilizes the AVR® RISC ArchitectureUtilizes the AVR® RISC Architecture • High-performance and Low-power 8-bit RISC Architecture – 90 Powerful Instructions – Most Single Clock Cycle Execution – 32 x 8 General Purpose Working Registers – Up to 8 MIPS Throughput at 8 MHz – 90 Powerful Instructions – Most Single Clock Cycle Execution – 32 x 8 General Purpose Working Registers – Up to 8 MIPS Throughput at 8 MHz • Nonvolatile Program and Data Memory – 1K Byte of Flash Program Memory In-System Programmable (ATtiny12) Endurance: 1,000 Write/Erase Cycles (ATtiny11/12) – 64 Bytes of In-System Programmable EEPROM Data Memory for ATtiny12 Endurance: 100,000 Write/Erase Cycles – Programming Lock for Flash Program and EEPROM Data SecurityNonvolatile Program and Data Memory – 1K Byte of Flash Program Memory In-System Programmable (ATtiny12) Endurance: 1,000 Write/Erase Cycles (ATtiny11/12) – 64 Bytes of In-System Programmable EEPROM Data Memory for ATtiny12 Endurance: 100,000 Write/Erase Cycles – Programming Lock for Flash Program and EEPROM Data Security • Peripheral Features – Interrupt and Wake-up on Pin Change – One 8-bit Timer/Counter with Separate Prescaler – On-chip Analog Comparator – Programmable Watchdog Timer with On-chip OscillatorPeripheral Features – Interrupt and Wake-up on Pin Change – One 8-bit Timer/Counter with Separate Prescaler – On-chip Analog Comparator – Programmable Watchdog Timer with On-chip Oscillator • Special Microcontroller Features – Low-power Idle and Power-down Modes – External and Internal Interrupt Sources – In-System Programmable via SPI Port (ATtiny12) – Enhanced Power-on Reset Circuit (ATtiny12) – Internal Calibrated RC Oscillator (ATtiny12)Special Microcontroller Features – Low-power Idle and Power-down Modes – External and Internal Interrupt Sources – In-System Programmable via SPI Port (ATtiny12) – Enhanced Power-on Reset Circuit (ATtiny12) – Internal Calibrated RC Oscillator (ATtiny12) • Specification – Low-power, High-speed CMOS Process Technology – Fully Static OperationSpecification – Low-power, High-speed CMOS Process Technology – Fully Static Operation • Power Consumption at 4 MHz, 3V, 25°C – Active: 2.2 mA – Idle Mode: 0.5 mA – Power-down Mode: <1 μAPower Consumption at 4 MHz, 3V, 25°C – Active: 2.2 mA – Idle Mode: 0.5 mA – Power-down Mode: <1 μA • Packages – 8-pin PDIP and SOICPackages – 8-pin PDIP and SOIC • Operating Voltages – 1.8 - 5.5V for ATtiny12V-1 – 2.7 - 5.5V for ATtiny11L-2 and ATtiny12L-4 – 4.0 - 5.5V for ATtiny11-6 and ATtiny12-8Operating Voltages – 1.8 - 5.5V for ATtiny12V-1 – 2.7 - 5.5V for ATtiny11L-2 and ATtiny12L-4 – 4.0 - 5.5V for ATtiny11-6 and ATtiny12-8 • Speed Grades – 0 - 1.2 MHz (ATtiny12V-1) – 0 - 2 MHz (ATtiny11L-2) – 0 - 4 MHz (ATtiny12L-4) – 0 - 6 MHz (ATtiny11-6) – 0 - 8 MHz (ATtiny12-8) Wow! All of this for only 37 cents. There is also a ATtiny12 which has some additional features that make it difficult not to choose this part instead of the ATtiny11. The drawback of the ATtiny12 is that it is almost $1 each in the same quantities as the ATtiny11. Since the devices are pin compatible, we could switch to this part in the future if there is a large enough demand for the additional features. What interests me the most about the ATtiny12 is that it is a self programmable part. If I were to use this part, I would develop a small bootloader that would receive program words (for the program FLASH) from the Cds photocell. The end-user could then update the application firmware by flashing a light on/off at the photocell. This would most likely be carried out by purchasing a single unit with the new firmware already installed and then putting it into a mode where it would flash the contents of its program memory out on its LEDs. The new program (firmware) would then propagate from one device to another. A nice feature, but is it worth an additional $1? Another way to update the program in FLASH would be to hang an LED off of a couple of pins on a serial or parallel port of a PC/Mac and write a trivial piece of code to BLINK out the new firmware to the watching LEDThrow 10010. This would lead to much more end user creativity. Want a new feature? Download the free WinAVR, GNUCC, and Atmel AVRStudio packages, program the new features in 'C' and blink out the HEX file to an LED to program your device. I'm looking for input here. Should we use the ATtiny at $0.37 or the ATtiny12 at $1.20. Would you pay an extra $1 for this capability? We don't want to get too crazy here, this is just a simple circuit with two LEDs and a photocell. And, and 8 MIPs processor with 1K byte of program memory and 64 bytes of EEPROM. So, what do we do with all of this processing power? Here's a list of initial firmware features. -End user setup of current time in hours and minutes. The device knows what time it is until the battery runs down or is removed. -End user programmable ON/OFF times. Program the ON hours and minutes and the OFF hours and minutes. The LEDs will be activated at the ON time and will be switched off at the OFF time. The processor enters low-power mode at the OFF time. -Multiple two-LED patterns would be pre-programmed and selected by the end-user. One pattern could have the LEDS start OFF and then brighten to FULL ON over seconds or minutes and then DIM to full off again and repeat. Another pattern could alternately blink one LED and then the other. Bother LEDs could blink or be on solid. Another mode would be to have the LEDs switch on at Dusk or some period of time after dusk and switch off at dawn or some period of time after dusk. Another mode would be to have the LED pattern change based on the changes in ambient light level (sensed only while LEDs are off for say, 50 mS, depending on the reaction time of the photocells.) -Each LEDThrow 10010 will have its own unique serial number. They'll be a mode where the end user can force the unti to blink out its serial number. Look this up on the web site and update the log for the device. See where it's been, record where it's going next. There'll be a mode where the end user can "describe" the blink pattern for each of the two LEDs by bllinking the room lights on and off. The device will record the blink pattern and then repeat it during the ON time of the device. Much, much more is possible. What would you do? Enough for tonight. Suggestions? Comments? Thanks, -Zoom
Apr 11, 2006. 12:06 AMzoomcityzoom (author)
says:
(Continued!) - Power-down Mode: <1 μAPower Consumption at 4 MHz, 3V, 25°C - Active: 2.2 mA - Idle Mode: 0.5 mA - Power-down Mode: <1 μA > Packages – 8-pin PDIP and SOICPackages – 8-pin PDIP and SOIC • Operating Voltages – 1.8 - 5.5V for ATtiny12V-1 – 2.7 - 5.5V for ATtiny11L-2 and ATtiny12L-4 – 4.0 - 5.5V for ATtiny11-6 and ATtiny12-8Operating Voltages – 1.8 - 5.5V for ATtiny12V-1 – 2.7 - 5.5V for ATtiny11L-2 and ATtiny12L-4 – 4.0 - 5.5V for ATtiny11-6 and ATtiny12-8 • Speed Grades – 0 - 1.2 MHz (ATtiny12V-1) – 0 - 2 MHz (ATtiny11L-2) – 0 - 4 MHz (ATtiny12L-4) – 0 - 6 MHz (ATtiny11-6) – 0 - 8 MHz (ATtiny12-8) Wow! All of this for only 37 cents. There is also a ATtiny12 which has some additional features that make it difficult not to choose this part instead of the ATtiny11. The drawback of the ATtiny12 is that it is almost $1 each in the same quantities as the ATtiny11. Since the devices are pin compatible, we could switch to this part in the future if there is a large enough demand for the additional features. What interests me the most about the ATtiny12 is that it is a self programmable part. If I were to use this part, I would develop a small bootloader that would receive program words (for the program FLASH) from the Cds photocell. The end-user could then update the application firmware by flashing a light on/off at the photocell. This would most likely be carried out by purchasing a single unit with the new firmware already installed and then putting it into a mode where it would flash the contents of its program memory out on its LEDs. The new program (firmware) would then propagate from one device to another. A nice feature, but is it worth an additional $1? Another way to update the program in FLASH would be to hang an LED off of a couple of pins on a serial or parallel port of a PC/Mac and write a trivial piece of code to BLINK out the new firmware to the watching LEDThrow 10010. This would lead to much more end user creativity. Want a new feature? Download the free WinAVR, GNUCC, and Atmel AVRStudio packages, program the new features in 'C' and blink out the HEX file to an LED to program your device. I'm looking for input here. Should we use the ATtiny at $0.37 or the ATtiny12 at $1.20. Would you pay an extra $1 for this capability? We don't want to get too crazy here, this is just a simple circuit with two LEDs and a photocell. And, and 8 MIPs processor with 1K byte of program memory and 64 bytes of EEPROM. So, what do we do with all of this processing power? Here's a list of initial firmware features. -End user setup of current time in hours and minutes. The device knows what time it is until the battery runs down or is removed. -End user programmable ON/OFF times. Program the ON hours and minutes and the OFF hours and minutes. The LEDs will be activated at the ON time and will be switched off at the OFF time. The processor enters low-power mode at the OFF time. -Multiple two-LED patterns would be pre-programmed and selected by the end-user. One pattern could have the LEDS start OFF and then brighten to FULL ON over seconds or minutes and then DIM to full off again and repeat. Another pattern could alternately blink one LED and then the other. Bother LEDs could blink or be on solid. Another mode would be to have the LEDs switch on at Dusk or some period of time after dusk and switch off at dawn or some period of time after dusk. Another mode would be to have the LED pattern change based on the changes in ambient light level (sensed only while LEDs are off for say, 50 mS, depending on the reaction time of the photocells.) -Each LEDThrow 10010 will have its own unique serial number. They'll be a mode where the end user can force the unti to blink out its serial number. Look this up on the web site and update the log for the device. See where it's been, record where it's going next. There'll be a mode where the end user can "describe" the blink pattern for each of the two LEDs by bllinking the room lights on and off. The device will record the blink pattern and then repeat it during the ON time of the device. Much, much more is possible. What would you do? Enough for tonight. Suggestions? Comments? Thanks, -Zoom
Apr 10, 2006. 6:05 PMzoomcityzoom (author)
says:
I've just uploaded the schematic in PDF form. I'll upload instructions to build without using a PCB, including photos, as soon as possible. I'll also post the HEX file required to program the microntroller along with instructions. Sorry for jumping the gun on this. I now better understand the purpose of the site.
Apr 10, 2006. 11:15 AMradiorental
says:
"Please use Instructables to:
- Document and show off how you built your projects. Projects can be in any form -- half-finished, hot off your work bench, or fully debugged and ready to make a million units."
Apr 9, 2006. 8:37 PMRktScientist7
says:
No offense zoom, I think this is a really great idea, but isnt this more of a commercial product advertisement than an instructable? I'm not really sure it belongs here, just my $.02.
it is ok to use the site to make instructions on using a commercial product, however this instructable has minimal instructional material, especially compared to the amount of non-instructional material.
I think it's fun to watch them evolve into increasingly durable and functional (hence less disposable) forms. This one is cool enough to be worth someone's while to retrieve when it's done playing...I'm picturing a coil-type electromagnet mounted on a pool-cleaning wand. Expand your vision, yo. So there's Cadmium in the batteries (and in most orange and red acrylic paint); next year's model will have a lithium polymer cell that can be recharged inductively. This place is a moving target.
Apr 8, 2006. 2:51 PMradiorental
says:
Atman, I completely disagree that a more durable version will result in less 'disposablility'. You're telling me that a flashing LED on the side of a downtown structure will be there in a week? If it hasnt been cleaned up by security/maintenance and thrown in the bin it will be taken by someone who hasnt got a clue on recharging it and it will get filled under bin.
Apr 8, 2006. 5:12 PMzoomcityzoom (author)
says:
My hope would be that someone would take it, go to the web site shown on the back for instructions and then re-use it.
Apr 8, 2006. 5:30 PMradiorental
says:
that is kinda cool, like those $1 notes with a little red stamp asking the reader to log in to the site and report the note's location. This... I condone (o; sorry to havent gotten on a soap box about the environment and after reading through the posts on the orginal throwie project I think the point has been made (to death)
How about a site where users post pictures and location of where they found a 10010, sort of a reverse geocaching meets http://www.humanclock.com/
How about a site where users post pictures and location of where they found a 10010, sort of a reverse geocaching meets http://www.humanclock.com/
Apr 8, 2006. 9:36 PMzoomcityzoom (author)
says:
I agree with you on the environmental issues. This is why this design is hopefully more than something you would throw away. Each unit will have its own serial number that will blink out on the LEDs on request. I don't know much about web design btu it would be great to have a way to associate the serial number with location notes. Do you have any suggestions on how to do this?
Apr 8, 2006. 10:32 PMradiorental
says:
A simple roll your own non tech option would be to get a simple 'forum' with folders/threads for each serial if you didnt have a huge production run. More than say 50 threads would require a more sophisticated interface I think. To use instructables as an analogy, each serial would be a project and the life of the device would be documented in threads such as this. I cant help implement any of this, you could try finding resource on sourceforge.net I can certainly help spec it but its been a while since I got my hands dirty coding... a long while )o; This has a lot of potential, googlemaps would be neat. This concept certainly has potential. Show the design, sell kits, recharge instruction, document location, track life. Sorry I cant help build it (o;
Apr 8, 2006. 2:48 PMradiorental
says:
Dont get me wrong, I fully appreciate there are much worse things. It is simply the concept that it is ok to make and disposed of electronics because it is inexpensive. These projects simply compound the notion that because there are larger environment issues then doing something like this is ok. I work on a lot of projects that produce waste, I'm painfully conscious of that. I recyle waste from my projects where possible and I tend to reuse materials. I think most people do. However, the issue I have with this conecpt is the difference between knowing there's an issue and working to reduce that, and not being concerned because your actions are a minute part of the issue. Its the principle of evironmental concern, not the magnitude. p.eace
Apr 8, 2006. 2:06 PMzoomcityzoom (author)
says:
My next version will release a short spool of fishing line with a weight on the end at the programmed date and time for easy retrieval.
Apr 8, 2006. 9:21 AMradiorental
says:
Ok, I can no longer bite my tongue with this LED throwie idea. I'm not a huge environmentalist and there are far bigger issue that need to be addressed. But do we really need to throw Cadmium batteries, lead PCBs and whatever else in to our urban environments in the name of Art?
![]() |


























