[Dec 19th, 2010] entered as december project of month contest in 43oh.com.
this is a simple logic probe project based on TI EZ430 dongle. i took advantage of a free offer on a couple of ez430s from TI in september 2010. they are very handy and fun in trying out small code snippets and watch the led blink. they had since been laying around my desk and i have to come up with something for them. and i want to stop people coming up and ask to borrow my "memory stick".
well, this is no memory stick, 16bit MCU w/ multi-channel ADCs, adequate 2K programming memory and runs up to 16Mhz. all packed up with the debugging programming interface board in a nice usb device package.
my main design goal is to limit my intervention to the original ez430. in that i don't want do alter it too much physically and i want to retain it's programming / debugging function for other target board projects. all this while serve additional useful purposes.
this is a linux project, as usual, i had given attention with my best knowledge to make provisions so that it can be built under windows. however i do not have the time and resources to try out everything under windows.
most of my electronics projects are done on very small breadboards and i usually work on tight spaces (kitchen table, half a borrowed desk, etc). there are many instances that i need to check circuit logic levels and i've been using a multimeter (size of a brick) to check things out. it always annoys me as my projects are much smaller than my multimeter and i found it always gets in my way. i need an alternative, a small logic probe will do.
the ez430 is perfect for this task. to begin with, it's already shaped like a probe, i just need to add a nail and some leds. as i mentioned earlier, i want to make this project simple and non-destructive. and i made use of what's available already.
instead of building the project on a pcb / pref-board, i build this on a target msp430f2012 board, employing the 14 pin header thru holes as my prototyping area. this is where the tiny leds goes. i do not want to drill holes on the plastic casing, i don't want to run too many wire nor add additional contact points. all i need is a probe io contact and a button input for function select, plus gnd and vcc. the usb connection looks perfect for this task. i will power the probe via the usb (the programmer circuit will regulate a around 3v potential for me) and use the D+ and D- usb connects for my probe and switch.
since the ez430 is slave / client device, upon initialization, it won't do a thing except a pull-up on D+ (to indicate it's a "hi-speed" usb). i use the floating D- as my probe io and D+ as my tactile button input (i don't even need to setup a pull-up resistor for that, it's already there)
features and application
continuous pulse output, frequency setting
continuous pulse output, pwm setting
i am using the msp430f2012 target board instead of the f2013 target board that comes w/ the ez430 dongle only because i have a few of these. if you want to use the orginal f2013 target board, you will have to re-write a very small portion of code that use adc to dectect floating state. the f2013 has a more advance 16 bit adc instead of the 10 bit used i am using in my construction.
the schematic is rather self explantory, i had designed it so that the components (just leds) fits on the "prototyping" area. i had layout the schematic like so.
you will need to use a fine solder tip and a temperature control soldering iron (or station), i can't imagine one can solder the leds w/ a regular iron. the way i did it is to tin the header pads first, then use a pair of fine tweeters to place the smd leds. after aligning the red and yellow leds, i tin one leg of a 1/8 watt resistor and solder that onto the pcb, one end goes to a common gnd. the green led goes last. it is very tight and you would want to just apply enough solder to stick things together. also flux is a must. use a multi-meter to test your joints.
you will then need to bridge the button wire and the probe wire. i use cat5e cut offs but any high gauge wires will do. as shown in the schematic and the picture, they run from the target board to the usb connector. it would be nice if i can find a small connector so that they can be dis-engaged at will, but this will do for now.
below you will see the bits that i used to "construct" (super-glue) the probe head assembly. my idea is to build it on to a usb connector so that it can be detached for firmware updates. i used super-glue to put everything together. the "nail" is glued directly on top of a tactile button for very quick mode switching and frequency / pwm setting. you may want to do otherwise if it doesn't work for you. there will be some wobbling from the tactile button mechanism, in one design i used paper clip to limit the wobbling and another probe head i used the cap from the super-glue to secure the nail position. you may also want to add protection resistor / diode to it.
the usb connector has these connections, (1) 5v, (2) D-, (3) D+, and (4) Gnd, the D- is to be connected to the nail, the D+ connects to the tactile button, the other end of the tactile button need to be connected to ground.
this probe-on-connector strategy gives me a lot of flexibilities, with power line on the probe head, you can expand the circuit and turn this project into something else by just changing the "head" and firmware, ex. may be a volt meter, a tv-b-gone (w/ transistor and battery on the probe head), etc. i would next add a white led "head-light" to it.
above picture show my current probe head and one i tried before which wiggles more when pressing the button.
these are instructions for linux only, my environment is ubuntu 10.04, other distros should work as long as you had installed the msp403 toolchain and mspdebug properly.
you can create a directory and place the following files in them
i do not have a makefile for this to compile, i use a bash script to compile most of my projects, it is mentioned on my launchpad shield page, scroll down to the section "workspace directory layout" and get the details.
or you can do the following
msp430-gcc -Os -mmcu=msp430x2012 -o ezprobe.elf ezprobe.c
to flash firmware, attach your ez430 dongle and do
mspdebug -d /dev/ttyUSB0 uif "prog ezprobe.elf"
alternate applications possibilities
base on the flexible nature of this design, the ezprobe can easily change it's role and by a quick flash download, becomes a different device, here are some ideas which i intend to implement in the future.