Archive

Archive for the ‘Electronics’ Category

Tricorder v6 off to assembly

April 22nd, 2008

A long time in the works, but this version adds full pulse oximetry support, includes a mini-B usb connector for interfacing and battery charging, and a lot of RF filtering to help make the ECG signal more stable in noisy environments.      cardiac6.png

EDIT: Forgot to mention, we’re also switching to the LIS302DL accelerometer, same one as in the iPhone, and we’ve switched our reference voltage amp to the AD8644 to help with the SP02 stuff.  The new design frees up some A2Ds which we’re using to monitor battery voltage and bringing out the other unused channels to the big connector on the bottom.

Electronics, HealthMonitor

2008 Embedded Systems Conference (ESC) Writeup

April 16th, 2008

I actually had a great time and talked to lots of interesting people at the ESC conference.  I did notice two trends that seemed prevalent — not that they have much to do with my project, but that I still found interesting.

First, the massive interest in capacitative touch sensors.  It seems as if a number of big players from Silicon Laboratories, Atmel, Cypress, etc. are really promoting their touch sensor products.  Atmel bought Qmatrix which was the original player in this space, and it seems as if other vendors developed their own tech.  I didn’t see much of the guts of the Silicon Labs product, but I did get a demo board of the Ateml product.  It doesn’t work very well.  The Cypress guys seemed to have a neat product — it seems as if they’ve incorporated FPGA-like logical blocks that you can configure on the fly — as well as assign any pin any function (or so it seemed).  Though I can’t really recommend them as they made me sit through a 10 minute long speal which was really 20 minutes long – was boring and conveyed no information for the promise of a dev board to play with — only to walk away with a tshirt instead.  *Grumble*

The second big trend is in using 2.4Ghz transiever ICs for zigbee, zigbee variants, or for propriatary devices.  All the products seemed quite low power, small form facture, required a minimal of extneral components and promised quite a range.  Atmel’s new Raven product demos software developed by some company up in SF which lets you put an IP stack on one of Atmel’s transievers.  They were able to ‘ping’ a remote device which was really nice.  I like the idea of being able to telnet to my wireless peripherals.  The guy I talked to was an eecs major from Cal.

On other notes, they had some other interesting stuff going on.  They took apart a $2000 10″ OLED display to show the innards, but it was fairly boring.img_0028.jpg  Supposedly they took apart a space-suite the day before but I missed that.  They supposedly had beer, but it was all gone by the time I got there.  I played with some real oscilliscopes that made me drool with envy — seems doing real time decode of various serial protocols is the new big thing in that catagory.  Of honorable mention is a company that makes hardened memory that looks like physical keys, and a company playing this video on one of it’s demo boxes of an elephant painting.  I have no idea what they were selling, but was blown away by the video.  It make me seriously respect elephants.

Finally, I had a nice talk with the people at TI and they mentioned how Harvard, and Rice University came out with a nearly identicall device as the Tricorder we are working on.  Here’s a photoimg_0025.jpg of the rice device.  It’s the same size if you exclude the antenna at the top of our device, has the same microcontroller, and uses the same instrumenation amplifier.  We started our project almost 2 years before we posted anything online — I’m not sure what the harvard groups device looks like, but I would imagine it to also be simmilar.  It makes me think of the quote by the inventor of PCR (who is a surf bum from my understanding).  He said something to the likes of his discovery was a natural consequence of several discoveries that preceded it.  I wonder if this device is just a function of the technology becoming mature. They did introudce a new processor that’s 2x faster, has more memory, and uses less power when it’s in a suspend mode.  Given that it’s pin for pin compatible with the processor we’re using, I hope to implement them on the next version (which I hope to get out this weekend).

I also went to a tasty Thai restaurant afterwards with Corpse and Taner.  Super tasty food.  I’m not telling you were as I dont like places getting popular; I find that popular restaurants get complacent and the food starts to suck.  Happened to Thep Phamon. img_0030.jpg

Electronics, HealthMonitor, Recreation

Stupid #@%#$^# hydroponics automation project

March 30th, 2008

In an attempt to clean up my laundry room, I decided to put a bit more time into my hydroponics automation project (parts of which were scattered all over).  Talk about problem after problem.  First off, I forgot to put a reverse biased diode across a relay and blew my power supply (it always blows fuses, tired of fixing..).  Then one of the optoisolator darlingtons  (from sparkfun) didn’t work, so I had to swap in a non-darlington optoisolator I had and lower the value of the current limiting resistor to get it to work.   I put all this inside the bottom of the blue box, went to wire it to the 3-prong power socket, but not only ripped the solder pad off from where the wire attached to the board, but I also ripped off the relay pin.  So I swapped out that relay with a spare I had, put it all togehter, but it didn’t work.  Seemed there was a bad solder joint in there so I took it all apart, fixed, and put it back together.  What took about 6 hours should have been at most an hour… I need to get my mill operational so I can fab my own PCBs rather than messing with the project boards of crap from Radio Shack.

img_0178.jpg

Anyhow, I feel like I’m past that hurdle, spend some more time with wiring and stuff, tweaked the firmware to add some functionality, and went to program it — but vista complained about the hub not having enough power or something.. So I got up to unplug the AVR Dragon, dripped over the USB cabe to my PCB which was attached via an SMD USB-A connector.  Rather than coming it of the plug, it ripped off all the pads… Here’s a photo of it…Notice the USB connector on the DB-25, and the ripped pads in the bottom center of the PCB..
img_0179.jpg

Electronics

Several Updates..

January 23rd, 2008

Thanks to a really good friend of my fathers, we spent a weekend building a deck in my backyard.  The process wasn’t so bad, and it really opens up the backyard.  Special thanks goes to Bill F. for helping me carry the ton of wood in a UHAUL from home depot.img_3337.jpg

The beer that I helped Patrick make came out excellent.  It’s a chocolate porter.  Rather than putting in chocolate liqueur as per the recipe, we used a cup of coco powder, which seemed to work great! img_3338.jpg

I am also working on automating my hydroponics setup, and wanted to mention my trial at using a 3.5″ floppy disk drive stepper motor to push a syringe.  After some time tweaking it, it turns out that it just doesn’t have enough torque.  The AVR STK500 just drives the pins in the right sequence, the breadboard contains a simple dual H-Bridge.  Email me if you want further details..img_3340.jpg

Finally, my HD DirecTV receiver (DCT210) died.  I left it unplugged  for a few months, and it caused the power supply to go bad.   When I plugged it back in, it would just cycle on and at a rate of a couple Hz.  I pulled the supply, and it’s busted (it should be a flat output, not the sawtooth pattern).   I found references to other people having this happen to them after leaving it unplugged for a period of time.  I can get a used one cheap so it’s really not worth the time to debug it, but if someone has an idea why it’s happening, I would love to hear it.  I’ve decided to upgrade to the HR20 anyhow, so it’ll be moot.  img_3336.jpg

Electronics, Personal

Xmass Fun – Hydroponics Automation

December 27th, 2007

I’m not sure what the opposite to a green thumb is, but whatever it is, that’s what I have. Any plant I touch seems to instantly die, and I’m tired of it. So I’ve built a hydroponics setup in my laundry room with the goal of full automation such that I can enjoy the plants, but they can be shielded from my thumb-of-death.

I’ve planted Basil, Holy Mint, Cayenne, Cilantro, and Lemon Cucumber — the Cayenne doesn’t seem to be doing anything, one of the Cilantro pods seems a dud, but otherwise, I see some green leaves already! (The cucumber seems to be growing the fastest)..
img_0037.jpg

Now, there are a number of hydroponic setups, and the configuration I’m going with is a container that fills with water and empties based on a timer. The lights are currently always on (2x20W broad spectrum fluorescent bulbs) but they will be migrated to a timer as well with an 18h/6h on/off cycle. Every week or so your supposed to change the water, add nutrients, and modify the pH.

img_0038.jpg

If you ask me, it’s still too much work. So I ordered a cheap pH probe from china off eBay, and built a simple amplifier circuit for it using spare parts. The circuit is pretty basic and I can post it if anyone is interested. I connected it to a board that I had made some time ago but was not being used and added an SHT75 temperature & humidity sensor I had. So far, it just spits out pH (uncalibrated), temperature and humidity readings via USB.

pH: 8.1 (1.44V)
Temp: 67.820 F
Humi: 61.493%

It’s got 10 “switches” built into it that I can use to control things — such as pumps, lights, valves, and stepper-motor controlled syringes that I will fill with nutrients and acid. I hope to get to the point where it will just run by itself, change it’s own water, and maintain whatever environmental parameters that it needs to.

img_0036.jpg

Electronics

3rd build of pulse oximeter – milled PCB

November 9th, 2007

img_0001.jpgSo my thought is that we’ll have to try a number of configuration for the pulse oximeter, and it will take too long to iterate through a PCB house, so I decided to make the boards in-house using our Sherline 2000 CNC mill. One comment : IT SUCKS. The damn OS crashes every 5 minutes, it takes 20 minutes to reboot because it wants a network connection, and the application run so slowly that it’s hard to tell if it’s frozen or it’s still drawing the next dialog screen. And when it does work, it throws random errors midway and forces you to start over again. Not to mention the device itself. It’s unstable and the whole platform will rock messing up the z-axis.

Ok, enough of the ranting. After 3 broken end mills, 5 hours over 2 days, and dozens of PC boards, I have successfully milled out a transimpedence amplification circuit based on the OPA380 which is supposed to be the dog’s bollox of tranimpedence amps. The white thing is the backside of the PIN photodiode. I didn’t have a 10MOhm 0805 SMD resistor on hand (I only stock up to 2MOhm, so I went with a through hole resistor).

I might test it out tonight after a few beers, else I’ll test it out in the morning.

Electronics, HealthMonitor

Bluetooth working – found culprit appliction – FixCamera.exe!!

November 7th, 2007

My development environment for the CSR BlueCore IC (xIDE) stopped working – in particular, an application called vmbuilder.exe which is responsible for merging the CSR firmware with my application specific code would not generate an output file, nor would it print any debugging message.

After several days of uninstalling and reinstalling, I starting digging a bit deeper and found that the application would terminate at a different point in it’s execution each time it was run.  Some (more like a lot) more debugging revealed that an application that was running on my computer, FixCamera.exe was responsible.  It constantly pokes around different executables and files on the computer.  For some reason, every time it would poke it’s nose into vmbuilder.exe, it would cause the application to die.

I have no idea what FixCamera.exe is for, and my webcam works fine without it.  I did find one website that claims that it could be MalWare.  Grr..

In any case, after more time than I would have liked, I’m up and running, and I’m able to stream data from the new tricorder.

Electronics, HealthMonitor

New Name: The Berkeley Tricorder Project

September 27th, 2007

v3.jpgDuring my weekly meeting with my adviser (John), he brought up the issue of project name and suggested The Berkeley Tricorder Project.  He was inspired by what several people said in blog comments in regards to the first demo I posted.  Well, I love it, and now it’s the new official name of this project.  I also got a confirmation email that the box full of components reached it’s destination in China and the new PCB will be manufactured and assembled over the next two weeks, then shipped back to us.  The upgrades in this revision include :

  • Better input stage for ECG (2 stage with lower time constant)
  • AC couping EMG input to avoid it saturating
  • Moved GSR off EMG input and will multi-task it with the temperature probe.
  • Addition of Pulse Oximeter.
  • Addition of USB interface
  • Addition of onboard voltage regulation with error detection
  • Addition of status LED
  • Additional multi-purpose inputs/outputs

Our hopes is to deploy this in the field and start collecting data.   The inset image is of a portion of the latest PCB, all routed by hand.

Electronics, HealthMonitor

Secret Projct PCB – Rev2 Lives!!

August 27th, 2007

auto matrix 2For those of you in the know, the 2nd rev of my uber-geek-gadget lives — the first version was made over a year ago and put on hold. It’s still in the hush-hush stage, but let’s just say it’s going to be really cool when it works.

Electronics

Modifying PostScript code to generate outlines for laser cutting tCream layer from eagle

May 16th, 2007

This was my frist attempt at acutally modifying postscript code, and it worked. The tCream layer outputed from CadSoft eagle’s CAM generator (PS) will generate a number of filled in boxes. I modifyied a function inside the postscript file to generate outlines to be used with a laser cutter. You need to save the file as a PS file, open it with a text editor, and replace the /b function with this one..

/b { % draw a bar
/an exch def
/y2 exch def
/x2 exch def
/y1 exch def
/x1 exch def
/w2 x2 x1 sub 2 div EU def
/h2 y2 y1 sub 2 div EU def
gsave
x1 x2 add 2 div EU y1 y2 add 2 div EU translate
an rotate
1 EU setlinewidth
newpath
w2 h2 moveto
w2 neg h2 lineto
w2 neg h2 neg lineto
w2 h2 neg lineto
w2 h2 lineto stroke
grestore
} def

I’m not sure if it’ll help anyone else out there, but it works for me :)

Electronics