Does this project spark your interest?

Become a member to follow this project and don't miss any updates


LoFi is a very low cost ($5), small, auto-transmitting module. Preassembled and preprogrammed. Simply attach to your appliances or projects!

Similar projects worth following

This project was created on 06/20/2014 and last updated 6 months ago.

Like many hackers and hobbyists, we dream of a smart home. Although there are third-party transceiver modules and data loggers on the market, they are too expensive and complicated to deploy in volume.

LoFi is a very low cost ($5), small, auto-transmitting module. All you need to do is to attach the modules to interesting appliance circuit points or sensors throughout your home and garden. The data arrives on your PC or can be sent to the Internet with a WiFi hotspot.

No programming, no protocols to learn, and no carrier boards for you to make. Just attach!

Using your desktop or laptop, you can set trigger levels on individual modules to tell them when to transmit. For example, send an update when the voltage changes by more than 1 V on the vibration sensor near the garage door opener. You can also set the module on a timer, such as hourly on your garden monitor.

The possibilities are endless!


The sender is compact (1.25 sq. inch) and operates from 1.8 to 5.5 V. The module consists primarily of an Atmel ATtiny84A which monitors the inputs and outputs the data. A red and green LED provides visual status.

The sender module has:

  • Five analog inputs with configurable triggers
  • Digital trigger
  • Built-in temperature sensor
  • Battery voltage measurement
  • Optional CR2032 coin cell holder
  • Optional pushbutton to manually activate data transmission


Without any programming knowledge, the sender module can be configured to transmit:

  • On power up
  • When any analog input goes above a certain value
  • When any analog input goes below a certain value
  • When any analog input changes by more than a certain amount
  • Periodically from 1 second to 18 hours

Configuration is accomplished using a laptop or desktop connected via a standard FTDI serial cable.


The sender costs only $2.43 in parts (qty 1000) or $3.50 (qty 10). Think of all the things you can monitor at that price -- in the garage, basement, garden, kitchen, or bedroom.


The sender uses only 18 µA on average. This means it can be installed in small places while running on a coin cell, or can be virtually maintenance free with a pack of AAs.


The LoFi gateway listens to all of the senders and uploads the data to a PC or to the Internet. LoFi is compatible with (aka Phant), a free open-source Internet repository. As demonstrated in the Semifinals video, you can connect LoFi to the Internet in under 2 minutes.


The interface couldn't be more easy. On the sender, simply solder sensors to the standard 0.1-inch pitch holes. No programming necessary. On the PC, the software walks you through each connection step and lets you modify device configuration in a friendly UI.

Non-proprietary output means you can use all of the repository tools written for Phant (or for the JSON, XML, tab values it provides). The output from the Gateway to the PC is tab-delimited plain text, so you can log it in a terminal program or write your own software regardless of OS.


Battery Life Expectancy (1 year on coin cell, 10 years on AA)

Message Delivery Rate (>95% success rate)

Dealing with Static: Auto Gain Preamble and Error Correction

LoFi as a Solar-Powered Weather Station (temperature and light levels)

LoFi Detecting Garage Door State (tilt ball switch)

Artist Rendition of Productized Look and Feel (contest requirement)

Sender Schematic

Good Things Come in Small Packages (fitting into a pill bottle and iPhone charger)

  • 1 × C1 Capacitor 10µF 16WV (CC1206ZKY5V7BB106)
  • 1 × IC1 Microcontroller, SOIC, ATtiny84A (ATTINY84A-SSU)
  • 1 × J1 Connector, 6-pin right-angle female socket (PPPC061LGBN-RC or 801-87-006-20-001101)
  • 1 × LED1 Status LED, 1210, bicolor (LTST-C155KGJRKT)
  • 2 × R1, R2 Current-limiting resistor, 220Ω 5% (RC1206FR-07220RL)
  • 1 × R3 Pull-down resistor, 100kΩ 5% (RC1206FR-7100KL or RK73B2BTTD104J)
  • 1 × J3 (optional) ISP6 programming header (75869-131LF)
  • 1 × Configuration cable FTDI USB-to-serial TTL 3.3V
  • 1 × Schottky diode SOD123 10V ultra-low drop (PMEG1030EH,115)

Project logs
  • Did I Leave the Stove On?

    6 months ago • 0 comments

    Have you ever left the house and had that little voice in your head say “Did I remember to turn off the stove?" Or maybe you're concerned about a loved-one living independently. With LoFi, you can eliminate needless worry.

    Here is an example application where LoFi wirelessly monitors a stove using an adjustable heat detector. The steel casing is magnetically mounted so that it is out of the way, but does not require permanent installation.

    You can see this in action towards the end of the Semifinals video.


    Contactless temperature sensors provide an opportunity to instrument major appliances without opening or altering them. It is possible to connect a wireless transmitter to the LEDs on a modern oven display to determine if the stove is active. However, a less invasive technique is to simply measure the temperature externally using infrared.

    The Melexis infrared sensor (MLX90614) sees -70C to +380C. It is as simple as aiming the sensor at the stove top and measuring the temperature. LoFi transmits changes in the analog value, and can trigger transmissions on either those changes or a digital trigger pin.

    The Melexis thermal sensor can be read with either I2C or PWM (app note). LoFi is designed for analog inputs. To convert the Melexis PWM output to analog, attach a 10 kilohm resistor and 0.1 μF capacitor to the output pin.

    For user friendliness, I wanted an adjustable “on" threshold and an indicator light. Because only one input pin is needed by LoFi, it would have been cheapest, smallest, and easiest to modify the code to have LoFi's ATtiny chip perform the comparison operation and light the LED with the spare pins.

    For the sake of being a purist, I instead chose to create an interface board containing a comparator, so that LoFi would still be considered 'stock'. That is, this was an opportunity to document a solution for people that aren't comfortable with programming.

    The TLV3702 was chosen because it works down to 2.5 volts. C2 and R2 convert the IR sensor PWM to analog. R3 is the adjustment threshold for determining when the stove is 'on'.

    Below is the implementation of the circuit. Again, the comparator is only necessary if you don't want to modify the LoFi source code.

    There are a wide variety of interesting things to monitor in a home. With LoFi, the price is low enough to make it affordable.

  • You've Got Mail!

    6 months ago • 0 comments

    A wireless mailbox notifier lets you know when the postal mail has arrived in your mailbox. This can be particularly helpful if your mailbox is not immediately adjacent to your front door.

    The mailbox notifiers I've seen usually rely on detecting when the mailbox lid is opened (hall effect sensor or tilt switch) or when a person approaches (motion sensor). Those are fairly successful methods -- but I didn't want to repeat what other people have already done. Also, those methods don't take into account whether mail is waiting or instead the homeowner simply triggered the lid sensor by anxiously checking their empty mailbox.

    Instead, I'd like to check for the presence of something in the box. A hacked postal scale would be highly effective, but would be awkward to fit. So, I'm going to use a reflected sensor: emit infrared light and measure the amount that returns. A white envelope or glossy magazine reflects significantly more light than an empty box. And, because LoFi transmits analog values, a threshold doesn't need to be tweaked between 'detect' and 'non-detect' states.

    Here's the schematic: (which is attached to LoFi)

    The 22 kilohm resistor forms a voltage divider with the phototransistor. A change in light (either due to sunlight entering due to the box being opened or due to reflection off of mail) changes the conductance of the phototransistor, and thus the division of voltage. That voltage is fed into a LoFi input.

    Two infrared emitters (LEDs) are placed in series with a current-limiting resistor to provide a light source. The second emitter is powered for 'free', as it simply uses power that otherwise would have been burned off in the resistor. On average, about 20 mA will flow.


    Twenty milliamps will drain the battery pack in less than a week! I thought LoFi was supposed to be low power?

    LoFi has a pin that provides GND only when the sensors are being read. Thus, when LoFi is sleeping (98% of the time), the emitters are off. Therefore, the AA pack will last years.

    For the case, I found some small plastic jars with colorful screw-on lids (Amazon B00523WBK2). This is attached with yellow Sugru.


    As you can see below, the infrared reflective sensor detects mail very well. Over time, it will be interesting to see what different bunches of mail look like. “Either we just received a ton of mail, or one very glossy white envelope."

    I'm not sure why the detection increases slightly over time when staring at mail. Either the mail is settling or the phototransistor has both a fast and slow component to its detection properties. Perhaps it follows a curve like a capacitor?

    I did encounter one issue, which is that 433 MHz transmitter was completely shielded inside the metal box. I managed to snake the antenna out one of the bottom drain holes, after enlarging the hole slightly with a drill. Fair warning, you may need to seek permission from your spouse and homeowners association. ; )

  • Gateway

    6 months ago • 0 comments

    The gateway listens to one or more senders and passes the data to a PC, or via WiFi to the intranet/Internet. This allows you to collect data locally or with a server.

    The gateway consists primarily of an Atmel ATmega328 microcontroller that reads the 433 MHz receiver and writes to the FTDI serial cable and CC3000 Wi-Fi board.

    Below you'll find the schematic. It begins with Schottky diodes for reverse battery protection and to allow multiple power source to be connected at the same time without affecting each other. This is followed by PPTC self-resetting circuit breakers for overcurrent protection. Finally, a Zener diode provides overvoltage protection. Because most people will only own one gateway, the extra cost of those protection parts is not a significant amount compared to an overall system.

    Notice that most of the pins are not connected to onboard components. Because the purpose of this board is to route messages, most of the pins lead to external connectors. Many spare pins are available, as this chip was selected for its speed, RAM, and surface-mount package.

    You can examine the PCB and Gerbers in the LoFi-PCB-Layouts.

View all 13 project logs

Build instructions
  • 1

    LoFi is expected to be delivered ready-to-use (prepopulated and preprogrammed). These instructions are for people that want to build LoFi themselves from scratch or are interested for curiosity. These instructions are expected to change as the project nears completion.

    Download and decompress the PCB layout files from this project page.

  • 2
  • 3

    Open the PCB layout folder and locate desired PCB you'd like to have made. For example, LoFi-PCB-Layouts/Sender/ Drag that zip file onto the OSH Park web page to upload it.

See all instructions


Mohamed Nuwaos wrote 2 months ago point

this seems to be very cool gadgets,thanks for sharing, pls let me know where to buy the circuit board,or the transmitter. only Sri lankan following you haha

Are you sure? [yes] / [no]

mikko.pihlajamaki wrote 3 months ago 1 point

It would seem that this project is killed and buried.

Are you sure? [yes] / [no]

Elliot Williams wrote 5 months ago point
Seriously great implementation and documentation, Dave. You shoulda won, IMO.

(Fan of the Robot Room from waaaaay back, FWIW. Thanks.)

Are you sure? [yes] / [no]

lavaguava wrote 5 months ago point
I agree with mikko.pihlajamaki this project would be extremely useful to the hobbyist. I hold the view that this project should have won the hackaday prize.

Are you sure? [yes] / [no]

mikko.pihlajamaki wrote 5 months ago point

Is there any hope that you might continue with the project? It shows so much potential.

Are you sure? [yes] / [no]

wifiwaves wrote 5 months ago point

Check your email...


Are you sure? [yes] / [no]

wifiwaves wrote 5 months ago point

I had a project in mind.

On to the next thing...

Are you sure? [yes] / [no]

tritospolemos wrote 5 months ago point
Great project! When do we get to see some code? What [future] is that? ;-)

Are you sure? [yes] / [no]

David Cook wrote 5 months ago point
Hello Tritospolemos,

LoFi was created to compete in the Hackaday Prize contest. When LoFi was eliminated from the competition, I removed forward-looking statements related to the contest requirements. At this point, I'm not certain whether the project will be continued.


Are you sure? [yes] / [no]

mikko.pihlajamaki wrote 6 months ago point
Hi David,

Excellent project! I hope you'll continue with it even you didn't make to the final five. I'm just waiting to fill my house with these things. (Have you considered using ESP8266 instead of CC3000 for _really_ low cost solution?)

Are you sure? [yes] / [no]

David Cook wrote 5 months ago point
Thanks Mikko!

Well, the CC3000 is definitely more complicated than it needs to be. I hoped it would be as simple as passing in a URL and getting back a string of data. Instead, it needs a whole series of calls and a library to work. So, I may indeed look at replacing it with another solution, such as an ESP8266. At the higher end of the cost spectrum, I've been looking at the $99 Windows tablets (HP, Toshiba) to see if they could act as a touchscreen status panel and gateway simultaneously.


Are you sure? [yes] / [no]

radicalbiscuit wrote 6 months ago point

Congratulations on having made it as far as you did. I was really rooting for LoFi. I've enjoyed seeing your progress and I'm still excited about the future developments. I doubt my daily (nay, hourly) page refreshes will cease just because THP is over for LoFi.

If I could send you to space, I would! Instead, I'll just send you my goodwill.

Are you sure? [yes] / [no]

David Cook wrote 5 months ago point
Hi radicalbiscuit,

Thank you for the kind words and support. One of the frustrating aspects of the contest is that they don't provide any feedback for improvement (which is ironic for a contest that espouses open ideals). So, I'm kind of scratching my head at this point.

Nevertheless, it was very exciting and I learned a lot. I have accumulated material that I intend to write up. However, now I don't have the contest deadlines driving me, I'll probably take time to bathe and sleep. : )


Are you sure? [yes] / [no]

tarzanbox wrote 6 months ago point
Hi David,
Just wondering if it works as a network or in case of two nodes try to send at the same time, how would the central server handle that kind of situation and distinguish between each node ( MAC like thing available already??)

Good work.

Are you sure? [yes] / [no]

David Cook wrote 6 months ago point
Hi tarzanbox,

Yes, each sender has a unique ID (like a MAC) and each message has a number. Therefore, you can use multiple gateways to support nodes sending at the same time in various zones in your house. The server can easily spot any duplicate messages that were heard by both receivers.

LoFi supports multiple channels (frequencies) as the transmitter and receiver are not hard wired. LoFi also delivers redundant messages to reasonably compensate for any losses or collisions.


Are you sure? [yes] / [no]

lavaguava wrote 6 months ago point
Amazing! I want this, I have been looking for something similar to this for a while now. I saw this on your website. Good luck.

Are you sure? [yes] / [no]

David Cook wrote 6 months ago point
I, too, was looking for low cost wireless instrumentation. The HackadayPrize ended up being a good excuse to try making it myself. : )

Thanks for reading Robot Room and for taking the time to support the project!


Are you sure? [yes] / [no]

Keegan Reilly wrote 6 months ago point
Hi David, awesome work! Don't mean to rush you, you are making great progress, but I'm just curious when and where I might be able to start ordering ready made LoFi modules. Are you going to go through something like tinder or maybe sparkfun? I want to fill my house with dozens of temperature sensors and create an accurate thermal model of my insulation. The low cost of LoFi was the key to making something like that possible!

Are you sure? [yes] / [no]

David Cook wrote 6 months ago point
Hi Keegan,

Thanks for the enthusiasm! This weekend I worked more on the configuration application and on an enhancement to improve serial synchronization across temperature ranges. I want to ensure that these are easy to set up and work reliably before making them available to others.

Timing until commercialization will depend on whether LoFi makes it into the finals. If so, I'll take some time off from my day job to accelerate LoFi development. Keep your fingers crossed.


Are you sure? [yes] / [no]

Patti Cale-Finnegan wrote 6 months ago point
Good luck!

Are you sure? [yes] / [no]

David Cook wrote 6 months ago point
Hi Patti,

Thank you! Keep your fingers crossed!


Are you sure? [yes] / [no]

Lesley Karasinski wrote 6 months ago point
Amazing! Very best of luck David.

Are you sure? [yes] / [no]

David Cook wrote 6 months ago point
Hi Lesley,

Thank you so much. I can't begin to express how much this support means to me.


Are you sure? [yes] / [no]

bcherni wrote 6 months ago point
Congratulations! Awesome work, David! Good Luck! You have our vote! Did your spouse really let you drill a hole in the mailbox?!

Are you sure? [yes] / [no]

David Cook wrote 6 months ago point
Shhh! I don't think she reads the log entries and she hasn't yet noticed the enlarged hole.

Thanks for the support!


Are you sure? [yes] / [no]

Nat wrote 6 months ago point
Very cool. Good luck!

Are you sure? [yes] / [no]

David Cook wrote 6 months ago point
Thank you for the positive energy -- there is less than a week to go and I'm exhausted. : )


Are you sure? [yes] / [no]

bak_jess wrote 6 months ago point
Hi David - Amazing work! Best of Luck. Jessica (Rachel's sister)

Are you sure? [yes] / [no]

David Cook wrote 6 months ago point
Hello Jess!

Do you think that Rachel is a little bit toooooo supportive of sending me into space?


Are you sure? [yes] / [no]

jsjcfeltz wrote 6 months ago point
Good Luck on your entry!
You are an inspiration to the BHS Robotics team!

Are you sure? [yes] / [no]

David Cook wrote 6 months ago point
Wow! That is very kind of you to say. I really appreciate the support. Go BHS!


Are you sure? [yes] / [no]

JTL wrote 6 months ago point
Nice! Wondering if I can use this to detect someone trying to "jimmy" a door open...

Are you sure? [yes] / [no]

David Cook wrote 6 months ago point
Yes, Adafruit has a vibration sensor that is essentially a spring with a wire inside of it. Vibration causes the spring to make contact with the wire, which would trigger LoFi to send a signal. This would also detect knocking and someone breaking a window.

Hope this helps!


Are you sure? [yes] / [no]

Similar projects