Samantha™ Overview John Toebes Problem Statement • Multiple Bluetooth Failures at the Aggieland Championship led to looking at the problem • Needed a solution with no changes to the NXT • System needed to be robust and easily diagnosed. • Must be international capable hardware and software • Looked at alternatives for connection including 802.15, Spectrum RC, XTreme, WUSB, and UWB Development Team John Toebes Team Lead, Overall Design Samantha and FCS Software Mary Ellen Toebes Samantha and FCS Software Mark Schnell Hardware Design Dave Baker Networking and Windows integration James Rahaim System Test and Requirements Tom Saxton Mac/iPhone Porting Team has over 100 years of commercial software development experience combined System View • Samantha Module provides WiFi connection to a USB • Windows software – Discovers Samantha – Connects and analyzes – Uses Native Lego® Mindstorms® Protocol Lego® and Mindstorms® are trademarks of the LEGO Group of companies which does not sponsor, authorize or endorse this document Samantha Capabilities • Passthru Lego Mindstorms Protocol – NXT Response Tracking – Multi-Connection Support – Pairing Security • Multiple UI Indicators – LED Indicators – NXT Network Status via Samostat.rxe – Web Page served from Samantha • WiFi Network Integration – Automatic Network Discovery – Multiple Network Profiles – Adhoc/Infrastructure support • USB Upgrade Capability – Bootloader for Flash upgrade with failsafe – Windows Protected Network Setup for profiles Samantha Hardware • Microchip PIC32MX460F512L CPU – 512K code Flash – 32K Data Memory – Hardware USB support • ZeroG 802.11 module – 1 & 2 Mbit/sec – Integrated Antenna • 3 Extra Bright LEDs for status Indication • ESD Protection • Power shaping and isolation 6-18V Network Interface • HTTP 1.1 with AJAX/JSON – Web Browser – Pairing Control – Network Traffic Diagnostics • UDP Port 30303 – Discovery/Announce • UDP NBNS Port 137 – (Netbios) Support – Windows integration for naming • TCP Port 2901 – LEGO ® Mindstorms® Protocol • DHCP – Get IP address on managed network • AutoIP – Self assigned IP address on AdHoc network. • ICMP – Support for Ping Computer Software • FCS – Windows – Supports Windows 95, 98, Xp, Vista and 7 – Mac Version underway – Can run from Flash Drive – Standard Installer Available – Native MFC – Language and UI Fully Customizable via resources – Support for Competition Matches • Network Setup – Writes Wifi Protected Setup System Diagnostics • FCS – – – – – Tracks and can record every single message Monitors battery voltage and network throughput Records statistics from every match/run Downloads stats from Samantha and compares Monitors and reestablishes lost connections • Samantha – – – – Tracks all messages Reports last 50 transactions via JSON and Web page Monitors lost connections Monitors battery voltages Software Design • All development tracked with revision control and release management • Samantha – C code utilizing Microchip C Compiler – 14,425 Lines of custom code – 253,740 Code Words, 26,399 Data • FCS – Windows – Native MFC – 19,777 Lines of custom code – 2 Open source modules used with permission • FCS – Mac – Native Objective C – 95% common network base between iPhone/Mac – Mac UI still in development