The sender module is compact (1.25 inches squared) and operates from 1.8 to 5.5 V at an average of only 20 microamps. The module consists primarily of an Atmel ATtiny84A which monitors the inputs and outputs the data. A red and green LED provides visual status. In volume, the sender module should cost less than $2 in parts.
The sender module has:
(5) analog or digital inputs with configurable trigger thresholds
(1) digital trigger
(1) internal temperature sensor
(1) voltage reference (useful to convert numbers into voltages)
(1) optional CR2032 coin cell holder
(1) optional pushbutton
Without any programming knowledge, the sender module can be configured to transmit:
- (a) On power up
- (b) When any analog input goes above a certain value
- (c) When any analog input goes below a certain value
- (d) When any analog input changes by more than a certain amount
- (e) Periodically from 10 seconds (per FCC) to 18 hours
Configuration is accomplished using a laptop or desktop connected via a standard FTDI serial cable (Adafruit #70).
The actual transmitter on the sender module is an off-the-shelf, inexpensive 433 MHz AM board and a simple wire antenna. The transmitter can be removed to connect a serial cable for configuration and direct reading. Therefore, this could be used as a wired device.
IS 433 MHz VIABLE?
I purchased the raw transmitter/receiver boards in new condition for $1 on eBay. There are tons of vendors selling them. I was skeptical that such an inexpensive part would produce acceptable results.
Surprisingly, even with a simple wire antenna and only 3 V, the transmitter/receiver pair was successful indoors through walls at more than 75 feet.
Reliability is accomplished with the software algorithm in the LoFi microcontroller:
- Normally quiet (no transmission) to cooperate with other senders
- Preamble burst to wake the receiver and set the gain
- Oversampling on the receiver to ignore minor noise
- Require stop bit to ignore radio static when not transmitting
- Error-correcting checksum to correct moderate noise and detect major noise
- Configurable fine-tuning of bit rate to compensate for inexpensive internal oscillator
- Message id to detect missing packets
- Configurable post-trigger messages to increase the odds of a timely packet for weaker or more distant transmitters
In any event, because the transmitter and receiver are detachable, and because they communicate using conventional serial data, you can use different transmitter/receiver boards and spectrum if you prefer. Put another way, the LoFi modules are not dependent on the type of transmitters.
OPEN AND EXPANDABLE
LoFi is designed to open up the devices in your house. Keeping with that philosophy, LoFi is designed to be open itself. This will allow others to apply their creativity in delivering compatible variations. The completed project will be under Apache License, Version 2.0, so that you can use any or all, for fun or commercially.
I’m looking forward to seeing the shields that are produced -- prepopulated with specific sensors or connectors. Some companies will target specific appliances (doorbells, sump pumps, garage door openers, garden monitors, model rockets) while others will create different form factors and features (long range transmissions) for the LoFI sender itself.
Most users will employ the module as-is, however it is definitely hackable. With the transmitter detached, an ISP6 cable can be connected to reprogram the ATtiny microcontroller with whatever modifications you want to the open source code. It is written in C using the free AVR Studio 6.2 with avr-gcc.
See the System Design Document for complete license details and tools. There are no third-party licenses or restrictions.
The working prototypes successfully proved the concept. The listener/receiver PCB has now been manufactured and needs testing. I’ll continue to post results of experiments and other milestones as they occur.
The final goal will be to publish a tested baseline end-to-end solution...