Wednesday, January 13, 2010

iPhone dev position

YES! I recently got a part-time contract position as an iPhone developer with a small start-up company in the area. This opportunity is exactly what I've been looking for because I can learn Objective C and the iPhone/ iPod touch SDK. I'm not expected to know it all already, and am learning it with a few others in my shoes. Since it's part time and contract, I can still have a full-time job (which I'm still looking for btw...).

I definitely plan on learning as much as I can from this company!

Thursday, January 7, 2010

SPARKFUN FREE DAY!

I've been trying to keep this to myself, but today is the day the saints at Sparkfun are giving away $100 worth of free merchandise per customer until they reach $100k. All you have to pay is shipping! Currently, the site is down :-( but I'm waiting patiently for my turn. I just hope people are going to be honest and not cheat. I know it's inevitable with this clientele though :-\.



Here's my list:
Since I have a few PSPs, I figure I can experiment with one of them. I want to put a touchscreen on it. Seems like fun.

Anyway, wish me luck!

Update 1: :-(

Update 2: It's over. I didn't get it. Oh well. Gives me more time to plan my project instead of just impulse buying :-). I still plan on having these parts procured within the next 2 weeks.

Thanks anyway Sparkfun!

Monday, December 21, 2009

Playing with a 555 Timer Circuit

So I was bored yesterday and started going through my box of ICs. I came across a 555 timer chip, and an LED in my head went off:

Why not try to make some LEDs blink?? 

The original idea was to make a little blinking ornament or something. I still may, but I'm just happy I got it to work. Here's what I did.

I looked up the 555 timer datasheet and some example circuits. The Wikipedia article had some really good information as well. I learned that there are two modes which the timer can operate: monostable and astable. Monostable mode is a one-time pulse. Astable mode repeats that pulse indefinitely.

Armed with my new knowledge on monostable and astable operation, I realized that I needed an astable circuit, because who wants their decoration to blink once and quit? That's no fun. Anyway, I looked up some of the formulas, which would have been intimidating, had I not been tortured by introduced to all of these concepts during my university career.

In my net travels, I came across this excellent 555 resource. I learned that in order to get a duty cycle close to 50%, I need to choose R1 = 1k.

After I had everything all wired, I powerd it up and the LED lit up....but it didn't blink. This bothered me for a second, then I realized what was the culprit: the capacitor I used was a really large value. I switched it out for a 100uF and it blinked, still slowly, but blinked nonetheless. The duty cycle was at 50% because of my R1 resistor value. Then, I switched out the capacitor for an even smaller value (1uF). This blinked very rapidly - much faster than I would like, but at least I was learning how the timer worked.

I realize that by using the formula, I can more accurately pinpoint a frequency. This was just a preliminary exercise though. I definitely hope to get deeper into this chip later.

Monday, November 30, 2009

Power Supply Design

For the project I'm working on, I need to design a power supply which results in an output voltage of 3.8V. I think I'm going to have the GE864 chip controlled by another micro in order to more easily control the timing required for power (turning the chip on and off requires a 1s pulse, restarting requires a 200ms pulse on a different pin).

Although I haven't selected the microcontroller I'm going to use yet, I have designed the circuit which will interface with its output, which corresponds to the GE864's input (ON or RESET pins). I have designed my power supply circuit with an input of +5V from the micro and an output of +3.8V going to the GE864.

Right now I'm getting power from an old PC power supply. I found the pinout for the main harness and switched the green and black wires in order to turn it on and off. Using my multimeter, I measured different output voltages between pairs of wires. Some were +12V, some were +5V. I decided to start with the +12V coming from one of the floppy connectors.

I ran power from the yellow wire on the floppy harness to the power block on my breadboard, and did the same with ground. To clean up the input some, I used a 100uF electrolytic capacitor. In order to bump down from +12V to +5V, I just used a 7805 +5VDC Voltage Regulator from Radio Shack (way overpriced, I know, but instant gratification). I chose to go this route instead of just using the +5V from the PC's power supply because I wanted a more accurate reading. Coming directly from the supply wouldn't have given me as close to +5V as bumping down with the regulator.

So now, I have a clean +5V to work with. But I need to get to +3.8V. For this, I decided to use the LM317T Adjustable Voltage Regulator, and I'd just design a circuit around it.

I just decided to use a good old-fashioned voltage divider. The LM317 was too tricky. The voltage divider was straightforward and since I was on campus, obtaining the parts was free, as opposed to  unnecessarily expensive.

Designing a circuit with my specifications was not difficult at all (Prof. Dragon is the MAN!). Here are my calculations:





Vin to the voltage divider was my +5V from the voltage regulator. Vout is the +3.8V that I need to power my chip. I selected a random value for R2 = 3k and just calculated R1 from the voltage divider formula.

Here's the schematic representing my circuit:




I used the 1N401 diode to protect against backwards current and the capacitors to filter the input and output. My theoretical output was 3.75. I actually measured 3.73, which should be fine for this

SO glad I got this working now! Next I can work on how I actually want to go about turning the chip on and off. I'm thinking of using a separate micro to send ON/OFF signals to the GE864 instead of doing it manually.







Monday, November 23, 2009

Project Schematic

I'm working on a project using the Telit GE864 chip, and have been having a hard time learning PCB design software so I can make the schematic for my circuit.

I went back and forth between PCB123, ExpressPCB, and CadSoft Eagle. Although PCB123 and ExpressPCB seem like fine products, I eventually settled on Eagle because the others are proprietary. If I designed my schematic and board with their software, I had to buy from them (I think one of them has a free pizza offer when you order a board, which was tempting, but didn't quite seal the deal). And, from what I understand, Eagle is used in industry, so I figured it would be good to get familiar with it anyway.

My trouble was, I had never designed a schematic around a chip before. The only experience I had was designing simple circuits in MicroCap with simple components (resistors, capacitors, diodes, power/ current sources, etc), but nothing with an actual chip.

I recognize "the cloud" as an invaluable resource for engineering/ programming help. I registered for the forums on Sparkfun. Within 30 minutes, I had a reply. Within an hour, I had my solution. Someone pointed me in the direction of the Sparkfun tutorials, which are immensely helpful. This one, in particular, described how to create a breakout board in Eagle. . . . which is EXACTLY what I needed to do.

I found that instead of creating the library for the chip I want to use, I could just download the one the geniuses at Sparkfun had already created. While this simplifies my task greatly, it still leaves a great deal to be learned, which I completely appreciate!

Now I'm researching more on the chip and deciding what type of power supply I want to use. I may just design schematics for all of the suggested supply circuits in the GE864's instruction manual, for more experience with Eagle.

I'm very excited right now!

Monday, November 16, 2009

The Debate Over Software Patents. . .

I found this debate pretty interesting. Recently, there has been some controversy about the validity of patenting processes, which would directly affect software patents as well. The argument is that, since software is, in its most basic sense, purely mathematical, that it cannot be patented.

If this argument is upheld, I'm unsure of the repercussions for the world at large, but two things are for certain: Microsoft and Apple would be VERY unhappy, and the term "open-source software" would become a redundant phrase.

Since I have aspirations of becoming a patent attorney dealing with technology of this sort, I feel that this news directly affects me. I may have to adjust my career goals lol!

Here's the article I read.

Wednesday, October 28, 2009

Replacing a Zune 80 glass screen

My Zune has a history of breaking itself while I'm fixing it. Last time I took it apart, I got it to WORK again, but cracked the screen. This weekend when I was in a portable-electronics-screen-buying-and-replacing mood, I decided I'd grab a Zune glass as well.

So, let's get started. For the sake of completeness, I'll go through the entire process, even though it's partially documented here.

Required
  • Zune 80/ 120 (I guess the HDD size doesn't matter. Second generation or above, non-flash, non-HD (where HD stands for High Def, not Hard Drive))
  • New screen
  • T4 screwdriver
  • Tiny electronics flat head screwdriver (I prefer size 2.5 - 4.5) or a case opener tool


Procedure
  1. Remove the plastic clip from the top of the Zune with the flat screwdriver or case opener tool
  2. Unscrew the two T4 screws at the top of the Zune



  3. Carefully, take the flat head screwdriver and gently pry, starting at the top where you just removed the T4 screws, and work your way all the way around. What you're doing here is undoing the clips all around the casing. **This is the part where I cracked my screen last time**
  4. At this point, you should be able to remove the entire aluminum back, and see the Zune's nasty internals.








  5. Remove all that #$%@ tape!
  6. Take out the 6 screws holding down the motherboard. There are three pairs, each pair is a different size. Keep them in order! *Note - when you take out the screws on the side, a metal clip will also come loose.













  7. For safety's sake, I removed the hard drive at this point. Lift the black flap on the ribbon cable connector. Use the flat head screwdriver to gently pry this up. Start from one end, and work your way to the other. This is a long tab, and will likely take more than one (probably two) pry-points to lift. (I know the picture shows the screwdriver in the middle. . . . disregard that :-|. . . . it was only for illustration's sake)













  8. Now, gently pry the board up with the flat screwdriver. Go evenly and CAREFULLY all the way around until you can lift the motherboard out of the case.







Whew. . . . now for the hard part.
Removing the Glass Screen from the casing
I won't post the failed attempts and pictures of me trying to get this glass out; I don't wanna upset those who get queasy at the sight of blood. . . .

Nah, just kidding. Bud it did take me some time to figure this out. The glass is held in with a strong adhesive. I tried pushing it out, scoring around the edges, and prying. Some of these worked better than other, then I realized that I could just heat it up with my heat gun! Then I realized that I don't have a heat gun. Then I realized that my wife does!

HA! lookit the guy on the box



Apply heat to both sides, pressing the glass out every so often. After the adhesive melts enough, you're in business!

Remove the white tape from the new glass, replace the old one with it, and heat to activate the new adhesive. Put everything back together, and you're in there like swimwear!. . .

. . . . unless you put the hard drive ribbon cable on backwards. In which case, you'll get this screen. Fix it, and you'll get this one!