i've spent the last few months working on a persistence of vision (pov) circuit for a bike wheel. this is my first foray into electronics and micro-controllers so, while it works, it's a bit of a hack. in fact, you might just want to skip on down to the "things to fix" section.
the project is based on two of lady ada's plans for pov projects, the minipov and spoke pov. the minipov uses only a single pic16f630 while the spoke uses an amtel micro-controller, an eeprom, and several 74x259 8-bit latches.
i wanted to enhance the minpov to display text on both sides of the bike wheel. i chose to use microchip's pic because they sold a cheap programmer and i had lady ada's working source code. the biggest challenge with displaying text on both sides of the wheel each side needs to read from a different end of the string. if you're displaying ABC the left side needs to start at C and the right side needs to start at A. that meant i needed 16 outputs, four more than the 16f630 has. to work around this i used an 8-bit addressable latch for each side.
the minipov project uses a simple bitmap to determine what to output. i wanted to have separate bitmaps for each character and link them together in a string. i started by modifying the minipov to use two jump tables. the first selected the character from the string, and the second returned individual lines in the character. once that was working, i started trying to figure out how to read it backwards. i wasn't able to think of anything cleaver so i decided to throw memory at it. i duplicated the code in and reversed order.
i went through a hell of a time finding the proper LEDs for this. trying to find bright LEDs that had a wide viewing angle and didn't cost a buck each was hard. i probably ordered ten different kinds from digikey. the ones below are 1500 mcd with a 70° by 40° viewing angle and only cost about 30 cents each.
| description | quantity | supplier | part number |
|---|---|---|---|
| PCB board | 1 | advanced circuits | custom order |
| PIC16F630 8-bit PIC microcontroller | 1 | digikey | PIC16F630-I/P-ND |
| 14-pin IC socket | 1 | digikey | AE7214-ND |
| 74HC259 8-bit addressable latch | 2 | digikey | 296-8291-5-ND |
| high brightness LEDs | 16 | digikey | 160-1620-ND |
| 3 volt lithium battery with soldering tabs | 1 | digikey | P201-ND |
| SPDT slide switch | 1 | digikey | EG1901-ND |
here's the PIC assembly code. to assemble it you'll need microchip's mplab IDE or the gnu PIC tools. you'll need something to program the PIC with. i threw down the $30 for microchip's pickit 1 flash starter kit.
the board layout was done using cadsoft's freeware version of eagle. you can download the board and schematic files by clicking on the images below.
this is the first board i've ever designed so i made plenty of mistakes :
in the next revision i've got several things i'm looking at changing :
i'll get some more photos up here when i'm making the next set of them.
update: stoked. i got linked to by hack a day. my 15 minutes of internet fame begins.
another update: people have emailed to ask me if i plan to sell these either assembled or as a kit. i do not. my feeling is that you shouldn't sell something unless you can stand behind it. this project is really just a prototype put together by someone who hadn't used a soldering iron since he was 12 years old (i actually had to go down to fry's and buy one). i'm learning it as i go. i was inspired by lady ada and the whole make crowd to stop staring at other people's cool projects on the internet and start making my own.
Posted by drewish at March 17, 2005 12:45 PMTrackBack URL for this entry:
http://drewish.com/mt/mt-tb.cgi/1309
Listed below are links to weblogs that reference 2-sided pov toy:
» ToDo: POV Toy for my Bike from Blathering
I first noticed this on Hackaday: A fun persistence of vision (pov) circuit for a bike wheel.
The interesting thing about this one, in particular, is that it works on both sides - the circuit flips the item for the reverse. Schematics are inclu... [Read More]
Tracked on March 19, 2005 01:58 PM
» POV on bike spokes! from Chris Blog
Holy cow.
While checking the latest on hack-a-day I came across this awesome feat of engineering mastery. Basically it's a spinning bike wheel that displays a picture or text, using the same technology as those clocks which draw the time to make it s... [Read More]
Tracked on March 22, 2005 11:05 AM
» Bicycle Wheel Persistence of Vision Hack from Gear Live
This is a slick hack involving a bicycle wheel and a persistence of vision toy. One thing that’s really cool about this one is there is a second led row that blinks out bitmaps backwards on one side of the wheel. This lets you prin...
[Read More]Tracked on March 28, 2005 10:47 AM
» How to attach a POV device to your bicycle wheel from LUX.ET.UMBRA
Here is a tutorial on how to create the electronics to attach a POV device to your bicycle wheel. Very cool for those that want to give a message while they're cycling. Warning some language in the tutorial. Hackaday drewish... [Read More]
Tracked on April 5, 2005 09:23 PM
Dude you are gunna get in SO much trouble with that text on your wheel :(
I'm not even living in your country and I'd be wary about people seeing that.
Just remember, freedom of speech is NOT something you can take for granted any more.
Hillbilly rednecks don't have a sense of humor.
Seriously impressed with your natural talent for electronics tho'. I hope your skills are useful in the detention centre :/
Posted by: Nervous_Jack
at March 18, 2005 07:54 AM
hehe, i'm not too worried about it. there's pleny of shit wrong with this country but it's not that bad. they aren't grabbing people off the street yet.
i rolled all over washington dc with that exact message on. some of the capitol police even thought it was pretty funny.
Posted by: drewish
at March 18, 2005 08:53 AM
Dude, that rocks! I didnt know you were getting into actual electronics.. Pics rock! Awesome job man!
Posted by: tazameir
at March 19, 2005 02:30 AM
woa it's taz! hehe, i'm still trying to figure it out. it's fun learning it, almost enough so to get me to switch from CS to CE or EE.
Posted by: drewish
at March 19, 2005 02:36 AM
Sweet PIC project. All it needs is a wireless keyboard on the handlebar =).
Posted by: mgrusin
at March 19, 2005 04:36 PM
Consider using 74hc595's instead of the latches you are using. Can can add more LED's with less hastle by chaining them end to end. They are serially loaded and only required 3 pins from the PIC for as many LED's as you like (Data, Shift, and Latch). I have built numerous POV devices with this technique. I am working on a spinning sign now with 96 * 3 (RGB) LEDs now using this technique. Also, consider using Resistor DIP packs for current limiting.
I like the bike idea (See hokeyspokes.com)
Posted by: justinh24
at March 19, 2005 08:26 PM
You can add a small mercury switch and let centrifical force do the rest, and presto, it will only work when the bike's wheels are actually in motion! 8^)
Posted by: GD
at March 21, 2005 10:28 AM
justingh24: thanks for the tips. i'd looked at the '595s but had already bought a bunch of the '259s, i'll be using those on the version 2. the resistor dip pack is an excellent idea. i'd thought about using surface mount resistors but packs would be even easier. i'll put some on my next digikey order.
gd: i'd considered mercury switches but had two problems with it. first is the whole toxic metal thing. it'd be really break one being on a bike wheel. second, i'm not sure how to orient it so that you could differentiate between spinning, and stopped with the switch pointed down (sure you could move the wheel every time you park but you can switch a switch just as easily). i guess with more than one switch you'd be able to work it out.
i really wanted to use some kind of an acceleration switch (only activates with a certain force) but they're all super expensive because they're designed for aerospace/military use.
in my research i looked at the way the tireflys (they're little blinking LED valve stem covers) work. it's a small spring wrapped in a fold of metal so when it's disturbed the spring touches the metal, acting as a momentary contact switch. every time it is activated it resets a timer, when the timer turns-over/reaches-zero (ie no movement has occurred) it goes to sleep.
something similar would be pretty cool and, relatively, simple. i just need to figure out what kind current the sleeping pic would draw or if i can find a low power circuit to control it.
Posted by: drewish
at March 21, 2005 11:43 AM
Hah! It's cool to see someone I know (knew) got featured on Make:blog ^_^
Posted by: method
at March 21, 2005 01:26 PM
What about rigging up a small cylinder - a Bic pen tube would be perfect - with a small weight inside, attached via spring to one end of the cylinder? As the wheel spins up, the weight should extend outwards. Then all you'd need would be a sensor to determine when the spring was extended - the first thing that comes to mind would be to use a magnet as the weight and a small reed switch in the tube. The posisition of the switch could be moved to adjust how fast the bike needs to be going to activate the LED board.
Posted by: Alvis
at March 30, 2005 12:33 PM
I too was looking for an acceleration switch for my POV project. I found these:
Not really cheap but at $8 they are the by far cheapest I could find.
Posted by: Mike
at May 20, 2005 10:32 AM
Sucks that such a bright project is used on hate. What will you cry about on your little bike in 2008?
Posted by: bob239
at November 11, 2005 09:43 AM
How fast do you need to be going for this to work/be legible?
Posted by: vik
at December 1, 2005 05:43 PM
the way it's setup, 5-15 miles an hour... you can adjust the timer. the real problem is that there's one fixed "sweet-spot" speed at which it's most visible. that's why you need the hall effect sensor, to measure the speed and adjust the timer automagically.
Posted by: drewish
at December 2, 2005 10:08 AM
I've had a thought regarding your issue of detecting motion.(unless you have already determined a fix).
You could use a lever action micro-switch with a piece of card(or any material that will catch the air).
Positioning the assembly appropriately(in the wheel) will cause the switch to depress when your wheel turns fast enough, thus turning on your device.
The card and lever need to be light enough to not activate the switch when stationary, in any orientation.
Posted by: m8
at June 1, 2006 12:03 AM
If you want to get it activated only when the wheel is rotating, you can try to get the energy from a solenoid and a magneto. The same principle that use the lights that flash continuously when moving.
In your case, the magneto should be fixed to the bicycle frame, and the soleoind to your circuit.
Of course you will have to do some kind of regulator, but I do not think pics are too sensitive to voltage variations.
Posted by: Fede
at August 28, 2006 11:57 AM
I just wanted to ask if you have a patent covering your idea of LED`s on bike wheels as i think it is similar to somthing i am working on and have a patent application in place for? Please respond on my email address which has been provided.
Posted by: change
at March 23, 2007 08:12 AM
ignore question on patent, found the patent and there is no infringment.
Posted by: change
at March 23, 2007 08:33 AM
Thanks for signing in, . Now you can comment. (sign out)
(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)