I am available for software consulting. Here's my resume: resume.htm

The serial comms justs works -- connect your PC at 9600 and power-up the board and you'll see a sign-on message.WiFly Ver 2.21, 07-11-2010MAC Addr=00:06:66:13:cc:25Creating ADhoc networkADhoc on Wifly-GSX-25 chan=1*READY*Adhoc was a bit trickier -- and no doubt we may be a little confused, but it seems like the Wifly prefers to connect to an existing Adhoc network, rather than creating one by itself. We had some grief setting up Adhoc on our Ubuntu laptop -- it worked, but seemed to drop out fairly often. Windows 7 worked fine. This needs further investigation, but is a separate issue from the Wifly so we are ignoring that for now.Set up the adhoc network as Wifly-GSX-NN, where NN is the last two digits of your Wifly module's MAC address.Next, you need to pull-up GPIO-9 to 3.3 volts, so that the Wifly will choose Adhoc on power-up. Then just watch the 9600 serial and you'll see it immediately sign up to the adhoc network on power-up.Connected via Ad-Hoc on Wifly-GSX-25Using Static IPIF=UPDHCP=ONIP= on 2000Telnet to port 2000 and you can keyboard back and forth between your telnet connection and your serial connection.

We want to do a simple web server to display thermocouple values on the TC4 for our coffee roasting projects. Ideally we'll run the Wifly in Ad-hoc mode, from any web browser -- IPhone, IPAD, Smartphone, etc.Ward Cunningham (of wiki and 'extreme programming' fame) is using JSON and Javascript for this sort of thing. He has a nice video here, and his code is available in both MIT and GPLV2 licenses. I may give that approach a try.

We wanted to evaluate the very cool Wifly module from Roving Networks. Sparkfun has a nice little 'breakout board'. We attached the breakout board via a pin/socket scheme, to a Radio Shack perf board and added an 'FTDI cable' connector and also level-shifter for the TX and RX signals.One of the great things about Sparkfun is that they provide Eagle schematic and pcb files under the CC-BY-SA licence. You may download their original Eagle files on the product page (see above). You may wish to view our modified version of their schematic also.The scheme for the level-shifting circuit was derived from Sparkfun's nice tutorial on the subject.Thanks Sparkfun!

ThingSpeak is a neat way to store all kinds of data online.Here's a modification of Chris's nifty cpu app to track disk space instead.# modify Chris's cpu monitor to display disk space instead.# httplib, urllib, time, osimport timeAPI_KEY="mykey"def doit(): s = os.statvfs("/") diskfree = s.f_bavail params = urllib.urlencode({'field1': diskfree, 'key':API_KEY}) headers = {"Content-type": "application/x-www-form-urlencoded","Accept": "text/plain"} conn = httplib.HTTPConnection("") conn.request("POST", "/update", params, headers) response = conn.getresponse() print response.status, response.reason data = conn.close()# update once an hourwhile True: doit() time.sleep(60*60)~ ~ ~ 1,1 All

No, I didn't write these apps, but they show what is possible.

I sent this comment to Sparkfun about their Bluetooth Mate Silver product.With a simple mod, this module facilitates uploading Arduino sketches via Bluetooth!There are two signals that you may want to consider bringing out to pads or possibly jumper options -- pin 33 (remote DTR), and pin 34 (remote RTS). I also set the module into the "MDM" mode with the "S~,3" command. thank you, Bill Welch, bvwelch 2-April-2011

We hooked up an old rotary phone to Asterisk 1.8 today. We used the WNDR3700 router running OpenWRT (SVN version 26273 from openwrt 'development trunk', not the 'backfire trunk'). It is working well with the Grandstream HT502 ATA on the rotary phone, and we're still using the old Linksys/Sipura SPA-1001 for the cordless phone.Also tested my Android cell phone -- the HTC Incredible from Verizon -- works fine with Sipdroid to Asterisk via wifi.Incoming Googlevoice calls work, but outgoing Googlevoice calls don't work. Not sure why...

Ringdroid has lots of good details for building, testing, installing apps. I tried the emulator and it sort of worked but was slow. So I tried my new Incredible cell phone and it worked great. Used usb cable and adb to install. Next will try old Vogue cell phone.Did I mention that ringdroid explained how to do the whole thing without ever running Eclipse? Hooray!

Running adb on the new phone shows that root is disabled, which is probably good for now, especially since I have my old phone available.Curious that this shows only 162.54 bogomips ? $ cd /proc$ cat cpuinfoProcessor: ARMv7 Processor rev 2 (v7l)BogoMIPS: 162.54Features: swp half thumb fastmult vfp edsp thumbee neon CPU implementer: 0x51CPU architecture: 7CPU variant: 0x0CPU part: 0x00fCPU revision: 2Hardware: incrediblecRevision: 0003Serial: 0000000000000000$ cat versionLinux version (htc-kernel@u18000-Build-149) (gcc version 4.4.0 (GCC) ) #1 PREEMPT Thu Sep 30 18:42:08 CST 2010$ cat meminfoMemTotal: 423200 kBMemFree: 70996 kBBuffers: 2712 kBCached: 84668 kB$

Installed Eclipse, the SDK, etc on my laptop (running Ubuntu). Then ran thru the tutorial which uses an emulated device. Next I tried plugging in my old cell phone ( htc touch vogue) which I had installed Android on last nite, and plugged its usb cable into my laptop. Typing "adb shell" gives me a shell prompt on the old cell phone, and it seems to be running busybox version 1.15.3, and linux kernel not bad! BusyBox v1.15.3 (2010-02-20 14:24:22 EST) multi-call binaryCopyright (C) 1998-2008 Erik Andersen, Rob Landley, Denys Vlasenkoand others. Licensed under GPLv2.See source distribution for full notice.# uname -aLinux localhost #399 PREEMPT Thu Jan 13 12:45:24 NZDT 2011 armv6l GNU/Linux# cat /proc/cpuinfoProcessor: ARMv6-compatible processor rev 4 (v6l)BogoMIPS: 383.38Features: swp half thumb fastmult edsp java CPU implementer: 0x41CPU architecture: 6TEJCPU variant: 0x0CPU part: 0xb36CPU revision: 4Hardware: HTC VogueRevision: 0000Serial: 0000000000000000# free total used free shared buffers Mem: 111988 105888 6100 0 68 Swap: 0 0 0Total: 111988 105888 6100#