roZetta is a product that combines elements of one of my earlier DIY projects (BX24-AHT) with PLC protocol translation functions and wireless (IR, X-10 RF and various RF security protocols) inputs. I designed it because there are many users of sophisticated HA controllers (e.g. ADI, JDS, HAI, HomeVision, etc.) who want to use one or more of the newer PLC protocols without abandoning their legacy controllers designed to interface with X-10's PL513/TW523 (or equivalents). Initially, it was planned as a DIY project but parts availability was spotty so I decided to offer it as an assembled and tested module.
roZetta is based on the ZX-40s micro-controller which is programmable in ZBasic. ZBasic uses a VisualBasic-like syntax and is similar to BasicX which was used with the BX-24. The project includes an optional ethernet interface module, the Tibbo EM500. The ZX-40s firmware can be updated over a serial connection so users can update in the field. The ZBasic compiler is a free web download so those who want to create their own application firmware can do so.
roZetta is designed to be flexible and somewhat general purpose. It can be configured as a more powerful version of the BX24-AHT, as a PLC protocol translator or can combine some of the functions of both. It can also be used as a development board for other ZX-40 based projects.
The ZX-40s is much bit faster than the BX-24 and, in addition to two high speed, interrupt-driven, buffered, full-duplex, hardware-USART-based serial ports, supports up to four interrupt-driven, buffered, full-duplex, software-UART-based serial ports with a maximum speed of 9600 bps.
Initially, it appeared the ZX-40s was fast enough to handle the PL513/TW523 PLC protocol but extensive testing revealed it would miss the 1mS window after ZC (zero crossing) about 3-4% of the time. As a result, ZBasic added native support for up to two channels of X-10 TTL I/O in the background, using an approach that is similar to the way ZBasic handles serial I/O.
The ZX-40s has a software RTC that resets whenever roZetta is reset. roZetta can be configured to query an attached PC (at reset and periodically afterwards) for the current time. Or the optional ethernet module can be configured to maintain accurate time by connecting (at reset and periodically afterwards) to an NTP server. Or an optional plug-in battery-backed RTC daughterboard can be used to maintain accurate time when roZetta runs unconnected to a PC or LAN. The RTC chip saves the time at which it goes on battery power so it can be used to log power outages. The roZetta board also incorporates an 8KB FRAM which, because it can withstand billions of erase/write cycles, can be used for data that changes frequently (e.g. lighting levels). A 64KB SPI EEPROM can be used to store ASCII strings and CCF formatted IR/RF codes. When the optional Tibbo EM500 is plugged in, it supports a 512KB flash disk for things like web page storage.
roZetta features...
| 512KB Flash Disk - requires EM500 | |
| 64KB SPI EEPROM | 8KB I2C FRAM |
| 2 high speed serial ports (S0,S4) | 2 X-10 capable TTL ports (PLC1,PLC2) |
| 4 low speed serial ports (S1,S2,S3,S5) | wireless input port (W0) |
| optional plug-in ethernet port - EM500 | 8 user configurable pins (10-bit ADC or DIO) |
| optional plug-in WiFi card - requires EM500 | optional plug-in I2C battery-backed RTC |
Some roZetta features are mutually exclusive.
One hardware USART can be used by both the USB port and the plug-in EM500 ethernet module. However, only one can be active at a time. There are jumpers to select between them. One high speed serial port (S4) and three of the low speed serial ports (S1-S3) use RS232 voltage levels. S1 can also be configured for RS485. There are plans for several modules that will use multidrop RS485. The fourth low speed port (S5) uses TTL (0-5V) levels and is switchable between RS232 and ADC/DIO.
A 64KB SPI EEPROM is available for user data. Built-in ZBasic functions allow for accessing the user data stored in the SPI EEPROM at maximum SPI bus speed.
An 8KB FRAM can be written billions of times so is ideal for frequently changing data.
An optional I2C plug-in daughter board contains a battery backed RTC (The ZX-40s only has a software RTC).
The TTL ports are designed to interface with a PL513/TW523 or equivalent. One TTL port (PLC2) can emulate a TW523 and is intended to interface with legacy controller PLC ports that expect a PL513/TW523. Optionally, an adapter with opto-isolators can be used between PLC2 and a legacy controller. The ZBasic X-10 functions can be configured for rising or falling edge on the data-in lines and pull-up resistors on the PCB can be switched in or out of the circuit allowing for maximum flexibility. roZetta can supply 50 or 60Hz squarewaves which can be used to simulate ZC for legacy controllers, eliminating the need for a PL513/TW523 in instances where X-10 transmit capability is not needed or is available from a serial device.
roZetta includes a wireless input port for external IR or RF receivers.
Eight individually configurable pins can be used for 10-bit ADC, as digital outputs or as digital inputs (with optional internal pullups). If the TTL ports (T1,T2) are not used for X-10, five additional pins are available for DIO. The pull-up resistors normally used on the X-10 data lines can be switched out of the circuit when these pins are used for DIO. Changes on digital input pins can trigger an interrupt.
On its low speed serial ports roZetta supports...
| MR26A* | MR26E* | MR26X* |
| INSTEON PLMS | 1132B | UPB PIM |
| Generic RF* | ZX15-S | ADI Ocelot, Leopard |
| CM11A | ASCII devices | Binary devices |
There are multiple modules under development that will use the RS485 port, including RF receivers for several door/window switches and motion sensors (e.g. Ademco, CADDX, DSC, ITI, Linear, Optex, Skylink, Visonic). The RS485 network will be limited, initially, to a total of 16 modules. Inputs from any channel can be used to trigger a user defined output on any output-capable channel.
Because California and much of Europe have mandated efficiency standards that can only be met by switch-mode power supplies, roZetta has no internal +5V power components and requires an external regulated +5V power supply. We offer a 5V/1A model that meets FCC and CE requirements. We have found it both X-10 and Insteon friendly. There is an onboard LDO to supply 3.3V for the plug-in ethernet modules.
Some devices (e.g. those with asterisks, above) that connect to roZetta serial ports can be powered from roZetta. Jumperss connect +5V to the DTR pin of the RJ45 (RS232D) connector used by the serial device needing power.
The unit is designed to fit a Polycase LP61F enclosure. Machined and printed enclosures may not be available with the initial units. However, it is fairly easy to DIY (except for the printing) using the drawing below. DRAWING STILL NEEDS UPDATING.

Copyright: No part may be reproduced except as authorized by written permission. This restriction extends to reproduction in all media.