nRF24L01+ with ATtiny85 3 Pins

Summary of nRF24L01+ with ATtiny85 3 Pins


This project adds nRF24L01+ wireless transmission to an ATtiny85-based sensor node by implementing a 3-pin control method so the ATtiny85 can both run the radio and a sensor despite limited I/O. A transmitter ATtiny85 sends an incrementing number every second; an Arduino Uno with nRF24L01+ acts as receiver and shows data in the Serial Monitor. The RF24 library is used, and users must power the nRF24L01+ with 3.3V.

Parts used in the nRF24L01+ with ATtiny85 3 Pins Project:

  • ATtiny85
  • nRF24L01+
  • Ceramic Capacitor - 10nF
  • Carbon Film Resistor - 22kΩ
  • Switching Diode - 1n4148
  • Arduino Uno (for receiver)
  • nRF24L01+ Socket Adapter (Optional)

Story

This would be the continuation of my previous project Programming ATtiny85 with Arduino Uno. Now with cheaper ATtiny85 in place I was looking for cheaper ways to transmit the sensor data. Which brought me to nRF24L01+ a cheap, low power RF transceiver. This seemed to be the better solution for me. But there was one problem, limitation in number pins in ATtiny85. I can’t connect both nRF24L01+ and the sensor in it. So I was looking out for solutions and came across “nrf24l01+ control with 3 ATtiny85 pins“. Here I discuss how I implemented it.nRF24L01+ with ATtiny85 3 Pins

Modules

There will be two modules in here transmitter and receiver. The transmitter would be a ATtiny85 sending some data and the receiver would be Arduino Uno receiving the data via nRF25L01+. I utilize the RF24 library (http://tmrh20.github.io/RF24/). Follow the instructions given there and add it to Arduino IDE before getting started with this. I won’t be explaining much about RF24 as there is a very good documentation on it.

Transmitter

The transmitter transmits a incrementing number every second. The ATtiny85 will send the data via nRF24L01+ using only 3 pins. I follow the instructions given by Ralph Doncaster on implementing it.
The components required would be

  • ATtiny85
  • nRF24L01+
  • Ceramic Capacitor – 10nF
  • Carbon Film Resistor – 22kΩ
  • Switching Diode – 1n4148

Upload the below code to ATtiny85 (refer my previous project Programming ATtiny85 with Arduino Uno if you want to know how)Schematic nRF24L01+ with ATtiny85 3 Pins

If this is not clear refer the fritzing file attached with this project. Though rest of the nRF24L01+ ‘s pins are 5v tolerant you should always give 3v3 power to the Vcc or else you will damage it.

When power source is connected the transmitter will start sending sequence of number every 1 second.

Receiver

The receiver receives the data sent by the transmitter and received data can be seen in the Serial Monitor.
The components required would be

Upload the below code to Uno
For more detail: nRF24L01+ with ATtiny85 3 Pins

Quick Solutions to Questions related tonRF24L01+ with ATtiny85 3 Pins Project:

  • Can the ATtiny85 control nRF24L01+ using only 3 pins?
    Yes, the project implements a 3-pin control method for nRF24L01+ on ATtiny85 following Ralph Doncaster's approach.
  • What does the transmitter send?
    The transmitter sends an incrementing number every 1 second.
  • What library is used for nRF24L01+ communication?
    The RF24 library is used for nRF24L01+ communication.
  • How should the nRF24L01+ be powered?
    The nRF24L01+ must be powered with 3.3V to avoid damage.
  • What components are required for the transmitter?
    The transmitter requires an ATtiny85, nRF24L01+, 10nF ceramic capacitor, 22kΩ carbon film resistor, and 1n4148 switching diode.
  • What components are required for the receiver?
    The receiver requires an Arduino Uno and an nRF24L01+, with an optional nRF24L01+ socket adapter.
  • Where can I find instructions to add the RF24 library?
    Instructions for the RF24 library are available at the RF24 documentation linked in the article (tmrh20.github.io/RF24).
  • Will all nRF24L01+ pins tolerate 5V?
    Although many nRF24L01+ pins are 5V tolerant, you should always supply Vcc with 3.3V.

About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:
LinkedinTwitter
Scroll to Top