Sometimes we get caught in situations when we need direct solutions without figuring things out in more efficient manner. For instance microcontrollers and pin count. When we need more pins, we start looking for bigger MCU even if processing power is enough even if one additional pin would change the situation. So sometimes this is not effective to waste money and even design to get one or two additional I/Os. Some people may use I/O port expanders or shift registers to get more pins. But as Ralph shows we don’t always need head for obvious. There are tons of discrete electronics components around that may save the day. This time he suggests interfacing well known nrf24l01 RF module to small MCU like Attiny85 by using 3 pins instead of 5.
So here it is a discrete schematic which does the magic. First of all Rf module is 5V tolerant except VCC must be powered between 1.6V to 3.6V. So a simple LED reduces VCC to save range. CE is another pin that can be tied to high. CSN signal was constructed by using SCK line. Capacitor and resistor ensures correct timing of CSN being pulled low. Other pins like MOSI and MISO are used normally. In order this solution to work, Arduino library was a little modified which allows using multiplexed SCK and CSN lines.