Wi-Fi Clock Radio

Kyle Stewart Greg Bray Introduction & Motivation

z Waking up is a painful experience and people want to alleviate pain z People love music and love to have access to large collections (iPod) z Market only has one viable wi-fi radio solution (price tag = $400) z Not sensible considering dedicated nature of alarm clock Introduction & Motivation

z Client Functional Description z Touch screen graphical user interface z OS z Embedded x86 processor z Wireless a/b that supports encryption z Use HTTP on TCP/IP for audio transport z Embedded streaming media player in Alarm Clock Introduction & Motivation

z Server Functional Description z Use Firefly media server (Open Source) z Streaming audio using HTTP on TCP/IP z on-the-fly transcoding between different audio formats (, FLAC, MP3, AAC, and WMA) z Web-based configuration z Integrates with iTunes library and z Customize code base to work with client software z Create web UI for configuring Alarm Clock Introduction & Motivation

z Demonstration z Alarm clock successfully boots into OS and loads GUI z User can set time/date/alarm time using touchscreen interface z User can browse on network machine and select playlist for alarm z Alarm “goes off” and plays a song from the user playlist stored on remote machine Project Tasks

z Client z Obtain touch screen hardware z Install OS (Linux) z Load drivers (Wi-Fi, touch screen, Audio) z Configure for Wi-Fi network z Develop Client Software for Clock Radio z Server z Setup standard media server (FireFly) z Customize code base to work with client software z Integration Testing z User Documentation Specific Task Interfaces

z Client HW/SW interface (Linux, Drivers) z Touch screen input z WiFi networking z Audio output to speakers z Client/Server interface (HTTP, Firefly API) z Use HTTP for audio transport z Web based configuration of media server z Server/Music collection (Firefly, iTunes) z Songs (OGG, FLAC, MP3, AAC, or WMA format) z Playlists (M3U or iTunes format) Testing & Integration

z Test each component individually. z Get system operational early! z Identify bugs, fix and repeat! z KISS Principle: it is only an alarm clock! z Use standard protocols and open source software. z Don’t reinvent the wheel! Schedule & Milestones

z August z Collect all hardware components z Finish planning all interface requirements z September z First Client/Server interoperability check z Lower level API implemented z October z Connect GUI to lower level API z Begin testing Risk Assessment

z EarthLCD Supply (low) z Documentation support for TC-10 (high) z Driver support for Linux (medium) z Touch screen calibration (medium) z Hard Drive (medium) z Client/Server Integration (medium) z Hardware/Software integration (low) Bill of Materials

z Touch Screen/Embedded System z TC-10 from EarthLCD.com z $259 z Low profile wireless PCI card z Novatech NV-926W from LogicSupply.com z $28 z 1GB CompactFlash Card z From NewEgg.com z $15.99

Vendor List

z Primary z EarthLCD.com z LogicSupply.com z NewEgg.com z Secondary z TigerDirect.com (Flash) z www.ncix.com (Wireless card) Conclusion

An alarm clock that will let you choose what you want to hear when you first wake up in the morning will not only make sure that you get to school or work on time, but it will also make sure that you are in a better mood when you get there.