Thursday, March 20, 2014

Tooting my own horn for just a bit...

I forgot to post here back in February that, once again, yours truly won yet another hackathon!  This time, I took the title of "Best M2M App" at the AT&T M2X Hackathon at the AT&T Foundry back on Feb. 22.  I'm splitting a $500 prize with my partner who provided a robot and programmed it to accept letters as serial inputs in order to drive it back, forth, left, right, stop, and do all sorts of things.

The app is called SpeechPipe, and utilizes the text-to-speech function on your Android-powered device.  You can send the text to any Internet-connected or Bluetooth-connected device.  Thus, your Android can now be used as a microphone to take dictation for emails, Word documents, or controlling the screen if you have a program that will map certain commands to screen actions.  Of course, we also used it to control Jeff's Bluetooth-connected robot.  The implementation done for the Hackathon was written from scratch to use the MQTT protocol (the most popular protocol driving the Internet of Things), but originally I had made a similar app that uses TCP sockets to send messages to Windows and Mac clients, Linux GUI applications, and even a Linux console.  However, TCP sockets aren't very effective to set up when you've got one device behind a NAT firewall and another with an IP address coming from the cellular network.  This is why MQTT saved the day.  Nevertheless, imagine a blind sysadmin able to shout out commands! "rm -rf *"!  Make sure that pipe is secure!!!

Since then, my life has been consumed by not just regular work, but sourcing components from Chinese suppliers (like I alluded to in my previous post), and assisting the LEDgoes manufacturing effort, while trying to stay on top of updates to the LEDgoes firmware and software.  It's nice to say you're going to make a Displayboard and four Partnerboards, but designing four Partnerboards and sourcing the parts for all of them isn't easy to do in the short amount of time you have between work and sleep.  (The Chinese suppliers all believe I don't sleep as it is. :-P)

Here's what I've purchased recently:

  • 250 LiPo batteries from Kamcy sourced on Tuesday night
  • 2,000 LED panels from Shenzhen Liang Jia Liang last week
  • 800 Displayboards (200 each) from Texas Circuitry at some point... last Friday, Monday, or tomorrow, not exactly sure when they're starting :-P
  • 150 Bluetooth Bees purchased within the last few minutes
Not to mention all the stuff I've ordered in the past, and we're still working on sourcing the rest of the items on the BOMs (bills of materials) that we haven't purchased yet.  (Hopefully we haven't missed anything!  It sucks paying twice for shipping.)

Speaking of which, one of my suppliers in Shenzhen told me that several of her classmates went on to work for Foxconn after college.  The environment there seemed very impersonal, and it was not easy to be noticed, much less appreciated.  Most of them have already left Foxconn because they are burnt out.

Specifically, I submitted final board designs to TX Circuitry, finished Production Rev 1.0 of the LEDgoes firmware, sat with the assembly team twice (including right now) to facilitate testing, fixed the errors that were preventing the LEDgoes PC control software from working reliably, and did the ordering I mentioned above.  Texas Circuitry complemented me on my "beautiful" Gerber files, which was a relief since that was the first time I had produced Gerber files for 3rd-party manufacturing use.  Lots of the final work products will be posted on our GitHub repositories once I make it back home.

The production hasn't been going well as I'd hoped.  I thought we would have shipped the early backers' boards out by now, but the assembly team wasn't able to finish assembling the 62 boards due to severe illness requiring hospitalization.  Now that I'm here helping out, they are running so many things (I mean, racks of servers requiring 220V) on regular household power somehow; needless to say, it's hard to test more than 6 LEDgoes boards connected to each other without them acting really touchy.  I'm hoping that isn't some kind of manufacturing issue that wasn't apparent in the prototypes!