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 , Spectrum RC, XTreme, WUSB, and UWB
Development Team Team has over 100 years of commercial software development experience combined John ToebesTeam Lead, Overall Design Samantha and FCS Software Mary Ellen ToebesSamantha and FCS Software Mark SchnellHardware Design Dave BakerNetworking and Windows integration James RahaimSystem Test and Requirements Tom SaxtonMac/iPhone Porting
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 CPUPIC32MX460F512L –512K code Flash –32K Data Memory –Hardware USB support ZeroG 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 – 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