A simple, programmble AVR-based ASK/FSK transmitter for 315MHz ISM bandsDesigned by Greg's Tinker Town, Ships from Canada
What is it? This is a small circuit that will transmit on 315MHz with either Frequency Shift Keying (FSK) or Amplitude Shift Keying (ASK), sometimes called On/Off Keying (OOK). It is powered by a s...Read More…
This is a small circuit that will transmit on 315MHz with either Frequency Shift Keying (FSK) or Amplitude Shift Keying (ASK), sometimes called On/Off Keying (OOK). It is powered by a single CR2032 coin cell, and depending on how often you need to transmit and your ability to stay in deep sleep, the cell could last months or years.
I made this to talk to my tire pressure management system for when I am running a pair of wheels without TPMS (winter). However, the device can be used to transmit any FSK/ASK at short range. There is a button included for convenience that can trigger an interrupt.
First you will need to check with your local laws regarding RF transmissions. While it is in the ISM band, you must still verify the details surrounding your use of this device.
Second, you will need a very good understanding of what you are trying to transmit and how you will transmit it. For either mode you will have to determine what your packet will be and how you will transmit it. There are quite a few projects on GitHub that share the information openly. One such project is RTL433 which decodes a ton of devices on the ISM bands. There are also other projects that look to decode or emulate specific devices which you can find. It is very important to understand if you have the ability to transmit the appropriate packet before ordering the product.
Also, you'll be subject to memory limitations of the ATTiny841. Aditionally, a solid understanding of AVR timing is needed. Often Arduino calls might have too much overhead (delay) to transmit and you will have to use registers manually.
Debugging can be challenging. With this device, you might choose to use the programming header as a serial output. A scope is certainly important, as is an RTLSDR so that you can verify if your code is working properly, and if so, what the output actually is. Both tools can be used to confirm that your pulse timing in your code matches what is output in the circuit, and then is output to the RF component. For those looking to use ASK, it might be good to start with ready-made transmitter/receiver boards available for Arduino before your attempt to miniaturize the design with this device.
I will program this with a simple TPMS sketch so that I can test it with my RTLSDR device to confirm it is transmitting. Once it's verified working I will send you the device. Please ensure you aren't over your head in the technical aspect of getting this device to do what you intend. It will absolutely require a significant amount of effort on your part to obtain the results you are looking for if the device you are seeking to emulate has not been decoded yet. As a result, returns/refunds are generally not accepted. This is also the reason a kit of parts is not offered, as it can be very difficult to assemble.
If there is enough demand, I can add a 433MHz variant.
Available on the GitHub link below.
Measured with a CurrentRanger, a few uA to burst 4 packets of TPMS data.
We recognize our top users by making them a Tindarian. Tindarians have access to secret & unreleased features.
We look for the most active & best members of the Tindie community, and invite them to join. There isn't a selection process or form to fill out. The only way to become a Tindarian is by being a nice & active member of the Tindie community!