I needed to refill some of my SMD stock so I went browsing around some of the usual online shops like Elemen14 (Farnell), Mouser and Digikey to find some good deals.
After a bit of browsing I found out that I can get a full reel (5000 pcs) of 0805 resistors for $9.50 from Digikey 10K0805 + $40 in shiping to Malaysia + most likely an additional 20-30% in import duties and taxes. If I just get one reel i think it will slip through customs, but $40 in shipping for $10 of stuff doesn't sound too good to me. Getting 10-15 reels to lower the shipping cost per reel would most likely invoke the wrath of customs :-)
The two major suppliers operating locally here in the region are Element14 and RS. RS is very expensive but Elemen14 isn't too bad even if they have considerably higher prices than Mouser & Digikey in the US. Element14 have free overnight courier shipping from their warehouse in Singapore to Malaysia which is definitely a plus.
A full reel from Element14 is normally about RM 124 ($41) - four times as expensive as Digikey! Man, sometimes I really wish I lived in the states...
Of course getting smaller quantities on cut tapes is possible, but the price per resistor then gets ridiculously high. But after some more browsing I found a number of values that were really cheap even in the cut-tape versions as long as you get at least 250 of them.
For instance 22K 1% 0805 is RM 0.01 each. For 1000 pcs the total cost is RM 10 ($3.30) or $16 for 5000 pcs as in a full reel. This is actually not too bad. There are only like a dozen of values with this price, but many of the values are quite usable like 120Ω, 1K, 22K and 100K. Full list and links can be found on my jellybean page.
If our're brave enough you can actually buy reels with 0805's directly from China from one of the many stores in Taobao. $4.60 for reel of 0805 1% or $3.80 for 5% is definitely a good price! You have to use a re-shipping agent that will add 5-10% to the total price for their services but still..... :-)
This is my second entry for the 555contest. All pictures can be clicked on to get a larger version of it.
This is a matrix of 144 small light bulbs that are flashing in a random, yet somewhat organized grouped, manner. The inspiration for this project came from the big panels with randomly blinking lights that all large computers from the sci-fi movies back in the 60's and 70's had.
Here I'm going for a little bit of a more "artsy" style and have put all the bulbs on wires attached to the edges of a large golden picture frame.
I choose to use regular incandescent light bulbs in favor of modern LEDs because the bulbs are more 70's, just like the 555, and also they look so much nicer with their yellow/orange glow that fades in & out instead of the harsh flashing LEDs.
All the 144 bulbs are mounted, together with its diode, in a 12-by-12 matrix where the rows are connected to Anode-drivers and the columns are connected to the Cathode drivers.
The boards handles 6 lines each so there are two Anode-, and two Cathode-boards that are put at the backside of the frame connected to the row- and column-wires.
One of the two Cathode driver boards
This is one of the two cathode driver boards. The board have six 555 ICs and six N-Channel FETs. Both are of the SOIC8 version.
As can be seen on the picture the wires that the bulbs are soldered to are just stapled to the frame and then soldered to the driver board.
Block schematic of the circuit
As can the block diagram above shows there are twelve 555s with corresponding FET drivers for the rows and the same for the columns. The frequency of the timers are about 2 Hz with 35-40% duty cycle in order to keep the number of bulbs lit at the same time down a bit. Since each bulb consumes 3 watt at 12 volt it would be like 450 watt of power if all bulbs are lit at the same time which is a serious amount of power. More about that later.
The low side column drivers are ok, but the anode drivers are really an ugly hack since I'm using N-channel FETs for both of them. N-channel FETs are really not suitable for the high side drivers since the Gate-Source potential have a hard time reaching a level where the FET is fully turned on. That's why my column drivers run cold, but the row drivers gets really hot.
Schematics for 1 of 12 anode & cathode drivers
The schematic is really straightforward. A 555 in an astable configuration modified for duty cycles less than 50%.
This is done by having the capacitor charged by the output (pin 3) via a diode and a small resistor instead of having a the charging resistor connected to vcc as normal.
R1 & R3= 1M and R2 & R4=300K-680K. The R13 & R14 is on my PCBs just bridged, but it allows me to add an additional resistor in the circuit if I feel that the blinking is too fast.
The C1 & C2 capacitors are 1uF. The FETs are FDS6680A as I already got a number of them at home.
I think I'll have to get a dozen of P-channel FETs similar to the 6680 and redo the anode driver boards so I can leave the unit on more than a minute without fear of it failing due to heat.
Improvised analogue 12 volt power supply
If all light bulbs happen to be turned on at the same time they would require 3w*144pcs=432w = 36 Ampere! That is quite a lot of power. No wonder that the 15 Amp power supply I first tried to use gave up as soon as I connected it. When power is applied to the unit all 555's will be in sync and active at the same time causing a massive surge that shuts down the power supply in zero time.
In my junk boxes I found a huge old toroid transformer that have been used in an office for halogen spotlights. I don't know the power of it, but I guess somewhere between 500 and 1000VA. After connecting a single diode for half-wave rectifying and a 100 uF capacitor so I could measure the resulting voltage it turned out to be too high for the bag of 10 000 uF 16 volt capacitor I also found. So I had to add a tap (the black wire) to the secondary winding to reduce the output voltage of the transformer a bit. I then paralleled 5 of the 10 000 uF capacitors and also paralleled ten 1n4001 diodes to increase the max current capacity of them to 10 Amps.
It looks like crap and most likely there's plenty of ripple when I load it with the display but it works. Since this is a pure analogue power supply a surge doesn't bother it as much as a modern fancy switch mode PSU with oodles of protection circuitry. It seems like I need to get a full-wave rectifier capable of handling 25 amps or so because my improvised bundle of diodes gets hot really quick. But for the time being it actually works as can be seen in the video below... ^_^
For my second 555contest entry I need to have 144 light bulbs arranged in a neat matrix. I tried to just solder them onto the guide/power wires by hand just approximating their positions but I quickly realized that I need some kind of a jig to hold each row of 12 bulbs in their correct positions.
After a bit of thinking I came up with an easy solution using one of my favorite building stuffs. Hot melt adhesive (HMA) or hot glue as it's usually named.
I took a piece of metal profile as the base and then wrapped aluminum foil around the glass portion of 12 bulbs. Then I used a hefty glob of hot glue to glue the foil packages at the correct spacing onto the metal profile.
Then it was a piece of cake to solder my wire to all bulbs and getting the distance between them almost perfect. After soldering the bulbs are easy to pop out of the jig and then put in 12 new bulbs for some more soldering. In almost no time at all I had all 144 bulbs soldered on to their respective wires.
Tomorrow I'll hopefully get my frame so I can mount all wires onto it.
The BippetyBoop is my first entry in the 555contest. (Video at the bottom of this post)
It's a random tone generator sounds a little bit like the sound effects that 60's and 70's move producers liked to have when a large computer with a a lot of flashing lights was computing something. The timbre of the sound is not right since it's just a plain square wave, but the pitch and speed is not too bad :)
BippetyBoop block diagram
The circuit consists of four 555 timers, one 324 quad opamp and one 4016 bilateral analogue switch.
The block diagram at the right shows the basic function of the circuit.
The first 555 is used to generate triangular/ramp waveform. Instead of using the regular output at pin 3 I take the signal from pin 2 connected to the timing capacitor charging up and down during the cycle.
In order not to affect the charging of the capacitor this voltage need to be buffered by one of the opamps in the 324 set in a regular voltage follower configuration before it can be used by the rest of the circuit.
This voltage is used to control the pitch of the output.
The second 555 is a needle pulse generator I.E. a square wave with a very low duty cycle. The pulses are like a few milliseconds long and repeated at about 2 Hz. These pulses determine the speed of the beeps - so here I got about 2 beeps per seconds.
The output of the needle pulse generator is connected to two things. First it's controlling one of the switches in the 4016 that allows the buffered voltage from the ramp generator to reach the holding capacitor during those few milliseconds when the pulse is high. When the pulse goes back to low the switch is opened and capacitor is isolated from the varying voltage and is keeping the value for a while.
Since the needle pulses are not synchronized with the ramp generator this means that the holding capacitor will have different random voltages changing two times a second.
To actually use this signal without affecting it a second voltage follower from the 324 is connected to the holding capacitor.
The other thing the needle pulse generator is doing is to trigger the third 555 that is configured as monostable timer. For each short pulse from the needle pulse generator the monostable will output a pulse that is about 300 mS long
The fourth 555 is the just a standard square wave oscillator at a frequency about 1KHz. The CV (Control Voltage) input of it is connected to the buffered holding capacitor so the frequency will change according to the voltage at the capacitor. The Reset input is connected to the output of the monostable so it will only produce sound during the 300 mS the monostable is active for each pulse.
All in all this will produce short random beeps at a rate of about two beeps per second.
I first prototyped this on a breadboard using standard PTH components, then I etched a pcb for SMD components. Unfortunately I didn't have any SMD diodes at home, but a standard 1N4148 is small enough to be mounted as a SMD part quite easily. What was worse is that I discovered that I only had the 4016 in TSSOP version instead of the SOIC that I made the pcb for. I didn't feel like making another pcb so I just patched it in with a few old wirewrap wires and then put a glob of hotglue on top of it for stability.
The breadboard prototype and the SMD version
And finally after all this jibba jabba - the video!
Some days ago Chris Gammell and Jeri Ellsworth came up with an idea on Twitter about having a contest (http://www.555contest.com/) for designs based on the old 555 chip. Since I just recently had missed the deadline for the Rainbowduino Carnival I decided that this time I'd actually enter a project or two within the deadline at March 1.
I, as many other geeks, have a thing for stuff that lights up and flashes, so the first entry will be in the art category with a lot of lights. The 555 is really old, it has been around since the 70's so I was thinking that regular incandescent light bulbs would be more inline with the age than, the today omnipresent, LEDs.
Most computers in moves back in the 60's and 70's had this panel of light blinking in a semi-random pattern and also accompanied by some random beeping noises. So the first entry will be a panel of blinking lights and my second entry will be a "computer beep" generator.
The quarterK running a Breakout game and the prototype of the game controller
Kids, don't try this at home. Only a trained professional can pull a stunt like this and survive. You have been warned. :-)
Yesterday I ordered two batches of PCB from PCBcart - 200 pcs of my QuarterK Shield and 100 pcs of a smaller board for a game controller for the QuarterK.
The Game controller boards is really simple - a potentiometer, four resistors, five small tactile switches and a miniature speaker all put on a small single sided 65x35 mm (2.5"x1.5") board so I was thinking that I should be able to send for the PCB's without doing a proper 100% compatible prototype first.
The front of the game controller
Today I did the prototype because I was curious to see if I was lucky enough to pull that stunt off successfully. I was....
Earlier I only had printed the top side of the PCB to test the placement of the controls. Doing three tests using my wife as the guinea pig resulted in a layout that was not too bad - at least I hope so ;-)
The not so neat backside of the game controller prototype.
So I printed the back copper layer and sandwiched an old business card between the front silk screen printout and the copper print to get some rigidity and poked holes with a safety pin for the components. I soldered the back with some extra wires and the leads of the resistors instead of the real copper tracks.
It looks really messy and ugly but it actually works and I was able to verify the layout in practice and not just in theory.
Now there's only one dark cloud on the sky - the size of the speaker. I've ordered 100 sets of components from a dealer in China. They are dirt cheap, but I don't have any proper datasheets or real dimensions of the components so I'm only guesstimating from the pictures and similar things I already got in my lab. So the size and placement of the hole for the speaker might become a problem. Only time will tell.....
I'm testing the game controller at Hackerspace KL. (Photo by Seng Chin Tinker Leong)
Every now & then I drop by my local Hackerspace. I must admit that I'm not there as often as I should since I don't have a car yet and it's a hassle to get my lazy ass out of the gated community I live in and flag down a taxi on the street to get there. But I promised myself that I'll improve... some day... ;-)
Before I headed out to the hackerspace I grabbed five of the Beta versions of the QuarterK kits and my own unit as well as my not-so-pretty game controller for it to show the guys there and also see If anyone would be interested in purchasing one of the kits for giving me some extra feedback.
After showing my prebuilt unit I plunked down the kits on the table and they disappeared quicker than I was able to say "QuarterK". I really should have brought printed assembly guides to give a more complete experience of the kit, but for the time being they have to use the instructions that are published on my site.
Playing a game of Breakout on the QuarterK. Please disregard the huge blog of hot glue :-) (Photo by Seng Chin Tinker Leong)
The next day @spoonfork had build his kit and had uploaded one of the example sketches included with the library. So far so good.
I've seen that John at Tronicsstuff is doing a lot of kit reviews and is really involved in the Open Source Hardware/Software community so I was thinking that he might be the perfect "victim" to preview one of the QuarterK kits to iron out any kinks before I order a production run of them.
John is a really nice bloke and after a brief mail conversation agreed to have a look at it as soon as he got the unit so I took a walk down to my local DHL/Courier office and got a nasty shock. They want about 180 Malaysian Ringits (60 USD) to send a 100 gram package to Australia. No way! $60 to send $6 worth of stuff and it still would take 4 or 5 days to reach it's destination. So I opted for the next choice - the EMS/POS Laju. They claimed that it should only be slightly slower and half the price so it sounded like a good alternative.
If I'm ever going to start a kit selling business here I definitely need to learn more about the various options and costs for sending packages overseas.
So lets see how long time it will take for the package to arrive and if John's verdict of the kit will be positive or negative. :-)
The dragon in its fancy box. Atmel! Please spend your design money on making good hardware instead of posh boxes.
A couple of months ago I bought a AVR Dragon so I could do in-circuit debugging using DW or JTAG.
It was a great little piece of hardware and I had good use for it while it was still working.
A few days ago it reported that the target voltage was about 3 volts instead of the usual 5 volts. After a bit of debugging I found that the vTarget pin was sinking 50 mA from my target board instead of the usual few uA.
Now, I've been really careful when using the dragon, only using a powered usb hub and also having the Dragon itself in a box protecting it from ask the random crap on my workbench and the occasional pieces of component leads that comes flying when I snip the leads down to size on pcbs I'm building. But it seems like that was not enough for it to stay alive...
Apparently its a common problem with the AHT chips. They are a bit pain in the butt to of get hold of so I might someday try to replace them with some 2N700 fets instead. But for the time being I'll just throw the Dragon in one of my many junk drawers.
Maybe I will get the AVROne! instead, but most likely I'll destroy that too. It got too many fragile looking adapters connected to a small fine-pitched connector for my liking...
The last week I've been designing a new Arduino shield. This shield is somewhat inspired by Jimmie Rogers LOL shield but instead of using 126 discrete leds I'm using four small 8x8 matrix displays for a total of 16x16 =256 led pixels.
Jimmie is Charlieplexing the his leds, I went the more traditional route doing 8x32 multiplexing of the leds using four 74HCT595 shift registers for the anodes and eight transistors for the cathodes.
This is the first unit I built. It actually worked just fine on the first try!
By using small 20 by 20 mm (0.79 inch) displays I can fit all of them between the two rows of connectors from connecting the Arduino.
I decided to have a connector for a small speaker or piezo beeper and also a connector for the six analog inputs from the Arduino so it's possible to connect a gamepad for doing some (not so) hardcore gaming in the QuarterK.
I plan to let some friends build a few units of this beta version to iron out any kinks before ordering a bigger batch of PCBs and parts and start selling them.
The first board I built worked on the first try and was not too hard to solder together. I just found some minor issues that's easy to fix.
The pads for the resistors could be a little larger, as could the holes for the displays. I'll also shift the entire board a few millimeters to the right to avoid having the top of the USB connector making short circuits on the legs of IC1.
Open Source... the Final Frontier. These are the voyages of Small Room labs. Its five-year mission: to explore strange new things; to seek out and develop new softwares and new hardwares; to boldly create what no man has created before.