The Lexitron system has two physical parts. The first is a LAN-connected base station I call the TickerNut that is a small, ultra low power embedded webserver running custom firmware to gather information and communicate it to the remote display (the Lexitron) through a remote radio modem link. The decision to have it in two parts was to keep the display itself small and lightweight yet fully capable with a minimum of connections and to give me a chance to play with RF data transfer.
What does it do?
- RSS Reader
The Lexitron shows new RSS items as breaking headlines as they arrive. Any practical number of different feeds are supported, each with it's own icon and notification sound. Items can be filtered by category, browsed and reviewed on demand using the IR remote control.
- Weather forecast
The Lexitron displays the local weather forecast as a popup from time to time, and updates weather data from the Bureau at specific times accompanied by a more detailed report.
- Email gateway
The Tickernut has it's own email address to which short messages can be sent. These are displayed on the Lexitron with a trumpeting alert as they arrive.
- XBMC Client
The Tickernut can control our entertainment system from the IR remote and the Lexitron shows what's currently playing as it comes on.
- Mail check
The Lexitron lets me know when I have new mail.
Of course, the clock. With alarms, chimes, network updated for accuracy.
There are other more mundane activities (like user message)
The heart of the system is a software activity sequencer on the Tickernut that reads a list of activities from an XML file on the SD card and performs the activities as needed. An activity can be any of the above examples or a user activity.
An embedded web interface allows configuration and interaction with the Tickernut. It can list and modify activities, browse onboard files, show settings and performance statistics and control the Lexitron directly.
A Windows application written in C# called Nutboot provides lower level interaction with the Tickernut. As well as being able to test and program both devices over the network, Nutboot has a log server and a CLI for the Tickernut and a pixel and icon editor for the Lexitron. It can also use the Tickernut's radio to scan the 2.4GHz band to look for free channels.
Tickernut is based on Ethernut, an Open Source implementation of a Embedded Operating System called Nut/OS and a TCP/IP protocol suite named Nut/Net. This is running on custom hardware, home brewed from mostly second hand parts.
TickerNut uses radio communication to control the Lexitron to provide short text messages and notifications. Information and updates are gathered through an ethernet connection to the local network which provides Internet accessibility. An onboard SD card interface provides local file storage. Audio output from the TickerNut speaker can produce alert sounds from WAV files. An infrared receiver can decode messages from most common remote controls.
The secret of how the system copes with documents bigger than it's own physical memory is an XML parser able to selectively extract information of interest from big XML documents and capable of dealing with and removing the vagaries of web formatting. This module reads just about any large RSS feed without using more than about 8k of physical RAM.
The TickerNut has several hardware peripherals additional to the Ethernut reference design. This includes PWM audio, infrared remote, nRF24L01 radio communication and hardware health monitors.
|CPU||ATmega2561 @ 18.432Mhz|
|OS||Ethernut NUT/OS 18.104.22.168|
|Memory||256K Flash, 40K RAM, 4K EEPROM|
|Storage||SD Card, up to 2MB, FAT32|
|Audio||8-bit, 11.025Khz playback, LM386 audio amplifier.|
|Protocols||HTTP 1.1 Server - Web access for control and configuration.|
FTP Server - Full remote SD card access.
Telnet Server - Low-level configuration and debugging.
WINS Client - For Windows SMB name server.
Syslog client - Status reports and debugging.
Discovery client - Ethernut discovery protocol.
Lexicom server - Lexitron packet transfer protocol.
TFTP client - In the network bootloader.
POP client - Just fetches new mail count.
SNTP client - The clock sets itself.
XBMC client - Full remote control and monitoring.
|Infrared||40Khz IR remote control sensor, 32-bit NEC protocol.|
|Display||HD44780 16x2, driven in 4-bit mode.|
|Serial||RS232 UART, DCE 115,625 baud 8n1 default.|
|Programming||Ethernet TFTP bootloader, Atmel 6-pin ISP header.|
|Health Check||Main supply, logic rail voltage and regulator temperature monitoring.|
|Supply Voltage||9-12v DC or AC, unpolarized, barrel jack.|
|Power Consumption||5 watts average.|
|Clock||Internal RTC, dedicated 32.768 watch crystal, calibration trimmer|
|Controls||Front Panel: Reset button. LEDS; link, receive, send, status. Power switch.|
IR: 29-button remote control.
The Lexitron is a radio-controlled dot matrix array of red light
It is driven by a small microcontroller that acts as a terminal to
display radio data from a remote source, which in this case so happens to be the Tickernut.
The Lexitron is constructed using twenty of these Red 8x8 square LED matrix modules for its display onto a framed arrangement of protoyping spot board. This gives a resolution of 160 columns by 8 rows, 1280 LEDs total. Each LED module requires one integrated circuit as the column driver and a bunch of passive components to create a circuit block that can be cascaded and expanded to any reasonable length.
Using radio communication allows the Lexitron to be a good distance from the control unit and easily set up in remote positions like high on the wall. The Lexitron only requires an external 12 volt power connection to work. A range of 100 meters is quoted for the low power radio modules and although 10-30 meters maximum is more usual indoors this is still more than enough.
|CPU||ATmega328p @ 14.318Mhz|
|Firmware||Plain AVR Assembler.|
Interrupt event driven architecture.
8 level FIFO command buffer.
Mixed text and graphics, double buffered.
3 predefined fonts, 4 programmable symbols.
Transparent radio bootloader protocol.
|Protocol||Lexicom radio packet protocol.|
|Display||160x8 red LED dot matrix.|
|Programming||Radio bootloader, Atmel 10-pin ISP header.|
|Supply Voltage||9-12v DC, positive inner barrel jack.|
|Power Consumption||5 watts average, 36 watts all LEDs on.|