SeattleWireless
[Blog Home] [Homepage] [Projects] [SeattleWireless] [Email Me] [Resume DOC] [Resume HTML]
Location:

Fri, 28 Dec 2007

No HDMI for Wii

I decided to do some more shopping for my game system, and went to the store to buy a (non existant) HDMI-Wii cable.

"I see the component cables, but where do you keep the Wii HDMI cables?", I ask.

"The Wii is not high definition, its just 480p", looking smug, as if I was a complete idiot (subjective).

After a quick iPhone googling in the store -- there really was no such thing. No need to argue, it just does not have any digital out. Lots of forum posts with this exact same HDMI question, and plenty more Fred Meyer electronics section employee-esk responses.

Ugh. Time for video school forum posters and store clerks alike:

  • HDMI does not equal "high definition only", its a cable specification that carries a variety digital video and audio signals. 480p works just fine over HDMI and is part of the specification.

  • Converting a digital signal to analog and then right back to digital is silly, no matter what the resolution. Virtually all televisions that accept component will put it back into digital format anyway. Why introduce analog artifacts needlessly? Wii's component output is not perfect. There is noticable ghosting between pixels of high contrast. Especially so on a large TV.

  • HDMI carries digital audio, reducing the need for extra wires and yet another ADC/DAC step.

    I don't care about the "jaggies" or blocky video game graphics. All I want is there to be one mario, not one mario and three of his ghosts, because nintendo has a slight impedance mismatch on the component jacks.

    [/gadgets] permanent link

    Sun, 23 Dec 2007

    ZipIt2

    Matt got me to impulsively buy the second generation ZipIt, which features a color screen and loads of new features.

    Some of the highlights:

  • Color screen (duh)
  • Backlit keypad
  • WiFi connectivity
  • MiniSD slot
  • MP3 player
  • Image viewer
  • Internet radio player
  • Headphone jack
  • Runs linux under the hood

    and then one of the most interesting features:

  • Lots of really strange ports and jacks

    There is a port inside the battery compartment, a larger ipod-isk connector on the back, and a small 4 pin jack next to the headphone jack. I am not really certain what any of these do.

    The battery on the unit is unusually large for the capacity of the battery. I can get the same capacity with half the size, and nearly double capacity (2000mAh) in that exact form factor. Sounds like the first hack for this nifty device, as it could really use a lot more run time.

    Second, a lot of the configuration (backdrop, themes, and radio stations) are pushed to the device from the company's website control panel. I am certain that these can be intercepted by faking the DNS on a local network. It could also serve as a way of uploading new code to the device, as it frequently checks for firmware updates from ZipIt.

    No word on whether the device will be "opened up" or perhaps an SDK offered. Hopefully the GUI menu is expandable with new applications, as its not a bad launcher, so someone will not have to re-invent the wheel.

    Anyway, I have no time to do anything productive with this device, so i will wait until someone gives me a serial port with "terminal", an IRC client, an SSH client, and all that jazz.

    [/gadgets] permanent link

    Wed, 13 Dec 2006

    Doing the Mac thing

    My wife's windows laptop had a complete hard drive failure. This was also in addition to an earlier battery failure (5 minute charge time) and some physical issues that involved juice and soda. It was time to go laptop shopping.

    After looking at a bunch of junk low end PC's, we came across a very well priced group of MacBooks in the $1000-$1500 range with some very nice specifications and fast intel processors. Oh, they also ran OSX, which is cool too.

    We decided to do something a little different and jump into a completely different platform than we were used to. We bought two and threw away our PC's. The mere value of running Windows XP in a virtual machine sandbox was good enough reason alone. So far, we haven't had to install such garbage yet as OSX meets all our needs. There was at least one close call that involved web broswer plug-ins for her online class, but that has since been resolved.

    Microsoft Office for Mac is a real life saver. As far as productivity software goes, you can't beat Microsoft's line of office products. Its how business gets done. OpenOffice and its variations, as much as I love it, is a buggy, bulky piece of crap. It means well, but after my wife ran that garbage for a years time, I was almost to the point of shelling out $300 and buying the real deal. This time, we went with student edition, which includes Word, Excel, Powerpoint, and Entourage, for something shy over $100. Nobody verified our college ID (even though its legitimate), and they even gave us *3* licenses. Since we have His and Her MacBooks, it was great to get office on both of these suckers for that price.

    With Apple now on the Intel platform, I really can't come up with one good reason why someone wouldn't get a Mac.

    [/gadgets] permanent link

    Thu, 20 Jul 2006

    "Gadgets"

    Alright, so these aren't really physical, actual gadgets, but I have been working on some pretty crafty code sniplets for people to throw on their blogs, myspace, etc. They are preview only, but soon will be accepting users on a sort of limited beta program.

    The phone one

    This one is simple. Type in your phone number, it calls the blog owner. The number of the blog owner is never disclosed, which can be useful. I haven't decided if it will be limited to 5 or 10 minutes. I am limiting to US 253, 206, and 907 termination for just this demo. Feel free to call me, i'll probably get a kick out of someone actually using this thing. Want to be a sponsor? Contact me offline. Its cheap and you get your own voice ad before the call starts, with optional features.

    Get a Free 10 Mintute Phone Call to Casey!
    All you have to do is enter your phone number, and it will call both of you! Our sponsor foots the bill.
    Your Phone Number:

    Send images to a phone one for like your band, etc.

    User can upload up to 3 images/audio clips, put the code sniplet up, and send images and ringers to various carriers. Demo is limited to images and SprintPCS only. Mobile WAP and banner sponsorships. Contact offline.

    Get a Free Phone Background!
    Hawaii
    Jasmine
    Josh
    Cell Phone Company:
    Phone Number:

    [/gadgets] permanent link

    Fri, 11 Nov 2005

    Hacking The Knows Your Name Elmo HOWTO

    Intro

    People have been asking for a HOWTO on messing with Elmo. This is all a work in progress, but I will still share with you my findings so far. There are a couple of things that are unknown at the moment, so if you figure out something new, please be sure to contact me at the email address above.

    Elmo Overview

    Elmo Knows Your Name is a semi-interactive audio player with several user inputs and audio output. It features a USB port for programming, and shows up as a HID (Human Interface Device).

    I have not dared to crack open this device (its tomorrow's present for god's sake!), so I do not know what exactly is on board. I would expect a very basic processor or programmable logic chip, coupled with some sort of memory, and of course, a USB controller.

    Getting Started

    After you install the software, I suggest you do the initial configuration. You will get an idea on how this device operates. Ultimately, you will use this to push out your tweaks.

    Files of Interest

    There are two directories, "names" contains samples of about 15,000 names. "sounds" contains elmo spoken phrases in audio files. The audio extension is "rbf". I have not been able to determine this file format. I have tried to import it as a raw format using a-Law, u-Law, etc. but no luck. There are strings of zeros in the audio files, so I suspect that if compression is actually used, its some sort of ADPCM variant. Without being able to convert these files from a usable format, we cannot create new files just yet -- but keep practicing those Elmo voices, i'm sure its format discovery is just around the corner.

    Another file of interest is temp.inf. This contains a sort of scripting file that defines what audio files are played in what order. It also has variables, various groupings to handle games and songs, and a memory map at the bottom of the file.

    There are also some files that appear that contain both a human-readable and numerical representation of the variables you configured in the software. These are not too interesting.

    doll_ext.bin contains something, but I am not sure what it is. Is it code? Is it a linked and binary version of temp.inf? Who knows. Tell me.

    Playing with temp.inf

    This cute, innocently named file has most of the guts. Its very easy to follow, but I will document the syntax as best as I currently understand it.

    The file starts with "doll_ext.bin". I don't know what this is yet.

    Subroutines are defined throughout most of this file, with a label, like PL_001:. There are GAME and STORY labels near the bottom that link to these labels.

    The PLAY function allows you to concatinate various audio files, delays, and variables which link to dynamic sounds (such as the child's name). Elements are delimited with +.

    Example Time

    Honestly, I found Elmo's cultural insensitivity a little insulting, especially with its very Westernized selection of foods. So for this example, Elmo needs to like to eat whale and seals too, since my daughter loves that stuff we keep in the freezer.

    PLAY ONE_DAY+[100MSEC]+ELMO+EAT+WHALE+AND+SEAL+[300MSEC]+MMMMMMMM+[200MSEC]

    Scripting Elements

    I have seen the following variable elements:

    #CHILDSNAME -- child's name (as defined)
    #FRIEND1 -- friend 1 (as defined)
    #FRIEND2 -- friend 2 (as defined)
    #FRIEND3 -- friend 3 (as defined)
    #PAUSE -- This is a significant pause, enough for a child to respond
    #FAVCOLOR -- color (as defined)
    #FAVANIMAL -- animal (as defined)
    #FAVFOOD1
    #FAVFOOD2
    #FAVFOOD3 
    #AGE
    #FAVDRINK
    

    Other elements:

    [nMSEC] -- n Delay in milliseconds
    <BIRTHDAYSONG> -- some sort of special routine, no references
    

    Linking it all together

    If you really want to start screwing around with Elmo, its best to modify a program or game. I suspect that, by comparing behavor and looking at the list of items, the device will select a random line or go in sequence down the list. Here's what I mean:

    GAME3_LABEL:
          PL_024,PL_136,PL_137,PL_138,PL_140,PL_084,PL_619
          PL_124,PL_126,PL_128,PL_125,PL_127,PL_129
          PL_097,PL_094,PL_134,PL_131,PL_133,PL_135,PL_131A,PL_133A,PL_135A
    

    This plays a sequence of audio files. Now, I have not been daring enough to modify games or create new ones (not sure if it will run GAME9_LABEL just because its there), so let me know what you find out.

    Crazy memory table

    I don't understand why this device has a bunch of built-in sounds, especially when the software pushes out most of the phrases. This could be just stuff that was built in the demo mode, since the demo is part of this list too. It indicates the byte offset from memory location 0 where the audio exists. I am not certain how it detects "end of file".

    INTERNAL_SPEECH_TABLE
    InternalVersion00
    00077571   SP18918
    00077597   YOURE_A_GREAT_PRETENDER
    00087751   YOURE
    00090681   YOUR_BIRTHDAY
    00096185   YOUR
    00097171   YEAH
    00101307   YAY
    00112121   WITH_ELMO
    .....
    00397170   COUNT
    00400292   BREAKFAST
    00404230   BEDTIME
    00408366   AWAKE
    00411872   AND
    00415192   A1_ELMO_TRYME_8K
    00518868   A
    

    I am hoping that A1_ELMO_TRYME_8K offers us a little glimpse into what kind of files we are dealing with. I am guessing that if one word (about a second) equals about 4-5kB, these samples are either operating at 4000Hz, or they are ADPCM (4 bits/sample) at 8KHz audio bandwidth. ... or maybe the demo is just a higher sample rate so it fools us all into thinking this thing is actually inteligible.

    Demonstration

    No hack would be complete without a demonstration video. The audio is a little raspy (cell phone mic sucks, along with the low Elmo sample rate), but enjoy its glory. Click the movie for the...your know...the movie!

    To Do

  • Figure out how to make that .rbf file!
  • Figure out if user I/O and game routines are scriptable
  • Figure out how time events work, or if they are just hardcoded to play a certain label
  • Figure out if more games can be added, and if elmo will look for an endless supply
  • Figure out hardware specifications
  • Figure out how to hack firmware

    Ideas

    Assuming that once this little file format issue is figured out, the hacker can actually remove the small, plastic device that goes inside Elmo, and "voice enable" just about any other stuff animal. I think your biggest issue is finding someone to do the vocals, but Dad or Mom could voice-enable a favorite teddy bear while he/she was away on business. I guess that would be cute.

    [/gadgets] permanent link

    Thu, 10 Nov 2005

    High Tech Toys

    Knows Your Name Elmo

    Introducing the "Knows Your Name" Elmo doll! It features a USB interface and allows the parent to fully configure the doll with all sorts of parameters. Right now, the doll talks about her favorite foods, animals, and important people in her life (Its programmed to: Daddy, Mommy, Aaka right now). The crazy thing also knows what time it is, and starts talking about bed time when its..you know..time for bed!

    So a talking elmo doll with a USB jack in its back is begging to be hacked. While I just bought it tonight, it does show up as a HID (Human Interface Device) with no drivers needed. It has load a lot of audio files on your drive during CD installation (it actually installs all 15,000 names and phrases onto your freaking hard drive, making the install long and painful). The audio files are in "RBF" format, with the magic header of "WDMdM". Looking at the files with a binary editor, it is likely a raw format.

    Hacking Knows Your Name Elmo or ELMO_SAYS+[100MSEC]+I_AM_WATCHING_YOU+[20MSEC]+#CHILDSNAME

    There is another file in the base directory called "temp.inf". This file contains a script of various commands. Here's a snip:

    PL_012:
          PLAY HI+[50MSEC]+#CHILDSNAME+[150MSEC]+LETS_PLAY
          RTS
    PL_013:
          PLAY HI+[200MSEC]+LETS_PLAY+[220MSEC]+SQUEEZE+[100MSEC]+ELMOS+HAND
          RTS
    PL_014:
          PLAY HI
          RTS
    PL_015:
          PLAY HI+[50MSEC]+#CHILDSNAME
          RTS
    PL_016:
          PLAY ELMO_LOVES_YOU+[50MSEC]+#CHILDSNAME
          RTS
    
    or this silly number:
    PL_246:
    PLAY
    ONE_DAY+[100MSEC]+ELMO+HAD_A_QUESTION+[200MSEC]+ELMO+ WANTED_TO_KNOW+[50MSEC]+WHAT_DO_YOU+[20MSEC]+ LIKE_TO_EAT+[300MSEC]+FIRST+[100MSEC]+ELMO_ASKED+[20MSEC]+ #FRIEND1+[100MSEC]+WHAT_DOES+[10MSEC]+#CHILDSNAME+ [20MSEC]+LIKE_TO_EAT+[300MSEC]+#FRIEND1+SAID+[20MSEC]+ YOU_LIKE_TO_EAT+[50MSEC]+#FAVFOOD1+[500MSEC]+ELMO+ WANTED_TO_KNOW+[20MSEC]+MORE+[100MSEC]+SOOO+THEN+ [60MSEC]+ELMO_ASKED+[20MSEC]+#FRIEND2+[100MSEC]+ WHAT_DOES+[20MSEC]+#CHILDSNAME+[20MSEC]+LIKE_TO_EAT+ [300MSEC]+#FRIEND2+SAID+[20MSEC]+YOU_LIKE_TO_EAT+ [30MSEC]+#FAVFOOD2+[500MSEC]+ELMO+WANTED_TO_KNOW+ [20MSEC]+MORE+[80MSEC]+SOOO+FINALLY+[100MSEC]+ ELMO_ASKED+[20MSEC]+#FRIEND3+[130MSEC]+WHAT_DOES+ [20MSEC]+#CHILDSNAME+LIKE_TO_EAT+[300MSEC]+ #FRIEND3+SAID+YOU_LIKE_TO_EAT+[50MSEC]+#FAVFOOD3+ [500MSEC]+SOOO+[50MSEC]+NOW+[40MSEC]+ELMO+ KNOWS_THAT+YOU_LIKE_TO_EAT+[50MSEC]+#FAVFOOD1+ [100MSEC]+#FAVFOOD2+[100MSEC]+AND+[30MSEC]+ #FAVFOOD3+[200MSEC]+MMMMMM+[150MSEC]+ELMO+ LIKES_THAT_TOO+[50MSEC]+SFGIGGLE1+[400MSEC]+ NOW+[100MSEC]+ELMO+WANTS_TO_KNOW+[100MSEC]+ IS_IT_TIME_TO_EAT_YET+[300msec]
    RTS

    From first glance, this script file is compiled into some sort of binary data file which links to a glob of audio. The unit has limited space, as i can only upload 3 songs...a bulk of this space is taken up by speech fragments.

    It looks like this Elmo is nothing more than an overgrown audio player in shuffle mode, along with a motorized mouth. It is very, very hackable. Maybe if I have more time alone with the thing, ill be able to get it to something really cool besides its default factory speech routines. I am going to have to work on my elmo voice though.

    ChatNow

    Move slightly over to the left Cybiko, make way for the ChatNow communication system. These 900MHz handsets feature 10 digit voice dialing, text messaging, digital camera, multiple ringers, push-to-talk button. You can even send pictures to other handset users, or assign them to entries in your phone book. 30 ringtones are available...

    Wow, thats gotta kick FRS's ass. I'm going to buy a pair.

    [/gadgets] permanent link

    Mon, 29 Aug 2005

    Scented DVDs?!

    My daughter just loves Strawberry Shortcake DVD's. I can put that thing on all day, and she'll watch it nonstop.

    Today, after becoming a little tired of "Best Pet Yet", and learning all the songs by heart, I decided to buy her a new Stawberry Shortcake DVD.

    I opened the case for the first time, and POOF...a light strawberry scent fills the room. That has to be the most creative marketing i've seen inside a DVD package.

    Whats next? Burning rubber smell in the next Fast and Furious DVD? That would definately be hip!

    [/gadgets] permanent link

    Sun, 22 May 2005

    GSM Module

    My GSM/GPRS/Camera phone module came today. I also added the eval breakout board, triband antenna, pcb antenna, and antenna connectors to the order.

    Its *SMALL*, pictures will come shortly. Its about the size of a Nokia 8260 or T68 battery. And for those who don't know, that is very small. Makes my GPS unit look like a brick now ;(

    A guy I know also bought one, so perhaps we might share notes. It will be a fun item to prototype.

    Update

    Here are some pictures of the nifty device. Once I get a working SIM, things will be much more entertaining for me. It showed up as a USB serial device on COM7, and I have been messing around with the AT command set in the device. However, I cannot get the camera to work yet. It does not recognize that one is installed :/ Luckily, there are some people in the forums that have been helping me out.

    One of the biggest issues right now is a GSM SIM. Since I am a CDMA guy, I do not have an activated SIM laying around. If anybody knows where I can get a lousy pre-paid SIM card in the USA, let me know. This seems to be a difficult thing to find around here. The kiosks in the mall don't sell them that way....they want me to buy the phone.

    Cool features of this device:

    • AT command set driven
    • Voice calls
    • GPRS Data
    • CSD GSM Data
    • Phone book, missed calls, call list, etc. memories
    • Call blocking, forwarding, etc. via AT commands
    • Support for mic/speaker and handfree, independant volume controls
    • In dept SMS support
    • Built-in 640x480 Camera support
    • Send camera image MMS via AT command, or dump JPG to serial port
    • GPIO support
    • Low voltage/power consumption
    • 900/1800/1900 bands (No 850 currently)
    • RS232, USB, or TTL serial link

    While I could make a cool remote web cam or tracking device, my goal is to make a fully functional cellular phone--geek style. Perhaps it will even have an attractive case! But for now, it will be a mess of breadboards.

    Once i get a little bit more comfortable with the device, i will probably hook up a gumstix or PIC to control the device. I will also probably pick up an LCD module from EarthLCD. I found a couple of (cheap) cell phone displays, along with a fancy 2.5" color touchscreen with graphics processor...we'll see.

    GSM device, Eval breakout board, quarter, camera, PCB antenna, etc. (Not shown: larger tri-band antenna)

    GSM module

    Closeup of camera module, breakouts to left for audio, GPIO, etc.

    [/gadgets] permanent link

    Mon, 02 May 2005

    GPS OEM Module Update

    This module came in the mail today, along with my active antenna. The active antenna has a cellular antenna built-in, which could make 1900MHz reception much more ideal than the Merlin C201's internal horizontally polarized antenna...which might i add, kinda bites.

    The OEM device is a lot smaller than I thought it would be. It measures in at 1.65" x 2.83" x 0.35" (41.91 x 71.88 x 8.76 mm for you metric types) and weighs only 0.7 oz (19.84g). You can see how it is dwarfed by my key chain and makes this tiny dime look like a quarter.

    While this GPS unit will provide location data to our hotspot, its size and ability to log over 5000 data points independent of a host device has my mind running with possibilities:

    • Location logger/jogging log
    • UAV/RC Aircraft navigation
    • Embedded laptop GPS for asset recovery
    • Embedded electronic map with satellite/topo/urban areas photos

    And combined with that neat (very small) GPRS/GSM/Camera OEM module at Sparkfun, or that $0.10 a message satcom board:

    • Asset tracking
    • Baby/wife locator
    • OnStar knock off for wife's car
    • UAV/RC aircraft navigation with telemetry and OTA flight plan updates

    This really beats the Garmin brick I have carried around for various location projects.

    [/gadgets] permanent link

    Neat Gadgets

    I have some neat gadgets on the way:

    The GPS device i bought for $20 off ebay, and yes, there are plenty more.

    Not only does the unit spit out location information, but it features a 1Hz strobe and also has extensive logging capabilities inside the unit. Its a Sandpiper II with a TTL to RS232 level converter chip on board. Requires 5VDC. It outputs 4800 bps NMEA by default, but I suspect this is configurble. SiRF output can be configured...

    This will ultimately be intergrated into the hotspot. GPS is very difficult on the train, but I am hoping this external antenna will help out.

    [/gadgets] permanent link

    For past blog entries, check out the archive on the side or click here.


  • Make some extra cash with your blog too: