3 ATtiny85 Pins Control of the – Nrf24L01 – التحكم بثلاثة دبابيس فى

بسم الله الرحمن الرحيم

Step 1: Introduction

The ATTiny85 is a high-performance, low-power Microchip 8-bit AVR RISC-based microcontroller that combines 8KB ISP flash memory, 512B EEPROM, 512-Byte SRAM, 6 general purpose I/O lines.

One I/O line is configured as a RESET pin. We are left with only 5 I/O lines.

On the other hand, The nRF24L01 is a single chip 2.4GHz transceiver. It is configured and operated through a Serial Peripheral Interface (SPI – 5 I/O lines).

Interfacing the ATTiny85 with nRF24L01 leaves no room to add even a simple switch.

This article revisits the “Nerd Ralph original article” – http://nerdralph.blogspot.com/2014/01/nrf24l01-con… – how to use just 3 pins of the ATTiny85 to control the transceiver.

This article gathers all the information spread over many articles treating the case in one place.

Step 2: PCB Design

Kicad is used to design this simple board.

Step 3: Coding

Two sketches are freely available for the tests.

  • Transmitter sketch : To be flashed to the ATTiny85 board
  • Receiver sketch : To be flashed to our ATMega328PB sniffer board

Step 4: Assembly

A simple board means easy assembly.

Step 5: TIP1 – ATTiny80 Board Configuration

The ATTiny85 should be configured with 1 MHZ internal frequency to achieve successful communication.

Slowing down the SPI bus, leaves enough time for the RC circuit to charge and discharge completely to mangage perfectly the CSN I/O line.

Step 6: TIP2 – MISO -> MOSI and MOSI -> MISO

When used as an SPI master

  • ATTINY85 MISO -> Nrf24L01 MOSI
  • ATTINY85 MOSI -> Nrf24L01 MISO

When used for ISP programming

  • ATTINY85 MISO -> Nrf24L01 MISO
  • ATTINY85 MOSI -> Nrf24L01 MOSI

Step 7: Enjoy


الحمد لله رب العالمين

How to Build a PoC – “كيفية بناء “إثبات المفهوم

بسم الله الرحمن الرحيم

Step 1: Proof of Concept

A proof of concept is an approach to build a “THING” to check a certain idea in order to confirm that it is feasible, viable, applicable in practice and really meets a particular business need.

In a nutshell,

  • It addresses the following question: Can a product be built or not?
  • It describes the idea, functionality, and feasibility of a product.

Step 2: Prototyping

The prototype has the design, appearance, functions, and other components of the product theoretically visualized in the POC project.

Step 3: Learning

Step 4: Drawing Ideas and Playing With Scenes

The following tools help in making a rough drawing of the ideas or to create scenarios or scenes of the concept.

Step 5: High Level Tools

Step 6: From the Shelf (Limited Resources Platforms)

Step 7: From the Shelf (for Great Projects )

  • Pc equivalent board: https://projects.raspberrypi.org/en
  • Node-RED began as a proof-of-concept for visualising and manipulating mappings between MQTT topics, quickly became a much more general tool that could be easily extended in any direction. :https://nodered.org/about/

Step 8: Components Suppliers

Step 9: Open Hardware Designers

Step 10: Self Designed Prototypes

Step 11: Pcb Manufacturing

The best: https://jlcpcb.com/

Step 12: Pcb Assembly

for small batches up to 30 pcs: https://jlcpcb.com/smt-assembly

Step 13: For Lazy Guys

  • https://www.upwork.com/
  • https://www.freelancer.com/

Step 14: Enjoy

الحمد لله رب العالمين

Bike Direction Indicator – مؤشر اتجاه الدراجة

بسم الله الرحمن الرحيم

Step 1: Introduction

This article focuses on the use of super inexpensive wireless modules that can provide one-way communications capabilities over a reasonable distance.

These modules are also very tiny, allowing you to incorporate a wireless interface into virtually any project.

These modules make use of ASK modulation.

Step 2: Theory – ​ASK (Amplitude Shift Keying)

In Amplitude Shift Modulation the amplitude (i.e. the level) of the carrier wave is changed in response to the incoming data signal. This is sometimes called Binary Amplitude Shift Modulation as there really are only two levels to be concerned with:

  • Digital 1 – This drives the carrier at full strength
  • Digital 0 – This cuts the carrier off completely

Step 3: Antenna Design

One wavelength at 433MHz is 69.24 cm. As this is a pretty long antenna it is more practical to use a half or quarter wave antenna.

Most experimenters use a quarter wave antenna which works out to about 17.3 cm .

It is common to coil the wire on one or both antennas to reduce the size. We can experiment with antenna coils by wrapping the wire around a pencil or pen.

Step 4: Application – Bike Direction Indicator

The application is a use case of the 433 Mhz modules.


  • joystick is used to indicate direction, right, left, stop, and emergency indications
  • The directions data are transmitted asynchronously when events occur
  • The receiver wakes up on Joystick events and make actions by Lighting up the wanted LEDs array
  • The receiver includes an OLED display
  • An MPU6050 a 3-axis Gyroscope with Micro Electro Mechanical System(MEMS) technology may replace the Joystick
  • The gadget is to be installed firmly on a bike

Three boards are designed for this application

  • 433 MHZ tx board
  • 433 MHZ rx board
  • 2 LEDs arrays

Step 5: 433 MHZ TX Board

The 433 MHZ TX module is simple to interface to our ATTINY85 µController.

Step 6: 433 MHZ RX Board

The 433 MHZ RX module is simple to interface to our ATTINY85 µController.

Step 7: LEDs Array Board

A simple array of SMD RED LEDs.

Step 8: PCBs Assembly

Simple boards means simple assembly.

Step 9: Coding

The Code uses the fantastic RadioHead library.

Step 10: Enjoy

A 19 seconds Video is joined to this article.


الحمد لله رب العالمين

Antenna Design (Clone) – (تصميم الهوائي(نسخ

بسم الله الرحمن الرحيم

Step 1: Introduction

Antenna design is not an easy task.

To simplify things, we will CLONE the well known chineese module 2.4 GHZ nRF24L01+.

The nRF24L01+ is a single chip [2.400 – 2.4835GHz] transceiver suitable for ultra low power wireless applications.

Step 2: Documentation

Nordic semiconducteur provides a reference design for the nRF24L01+ chip. It prodives the recommended components too.

Cypress provides an extremely useful article to design a 2.4GHZ antenna.

Our PCB footprint is based on Cypress guidelines.

Step 3: PCB Antenna Footprint

I just followed the Cypress guidelines to draw the footprint. Becareful with dimensions (mils not mm).

Step 4: Schematics

I just reproduced the Nordic Semiconductor reference design in Kicad editor.

Step 5: PCB Design

Kicad is used to route this simple board.

Step 6: PCB Assembly

Becareful with the soldering iron.

Be patient.

Step 7: Enjoy

To test the newly designed Module with its integrated antenna, we used our “Yet Another Remote Controller Board“. Our module fits and replaces the totally cloned chineese equivalent.

الحمد لله رب العالمين

Digital Ruler – المسطرة الرقمية

بسم الله الرحمن الرحيم

This article is a demonstration of the use of the 128×32 pixels OLED.

OLED displays are bright, lightweight and visible under a wide range of lighting conditions.

We will show you how to hook up an OLED display to the ATTINY85 µController and build a Digital ruler.

Step 1: Components Sourcing

Just a few components are needed to build this simple gadget.

Step 2: Schematics

As always, Kicad is used to edit the schematics.

Step 3: Pcb Design

A simple board means easy routing with Kicad.

Step 4: Pcb Assembly

Becareful with the soldering iron. Be patient.

Step 5: Arduino Sketch

The code is simplified since it uses the open source library for OLEDs “Tiny4kOLED”.

Step 6: Enjoy

A 30 seconds video is embedded to test the gadget.


الحمد لله رب العالمين

Yet Another ATTINY85 ISP Programmer Shield for Arduino

ISP Programmer

The ATTINY85 ISP Programmer Shield is designed to program easily the ATTiny85 µControllers.

The shield must be plugged to The Arduino Uno board.

The Arduino Uno is prepared to act as an “In Circuit Serial Programmer” (ICSP or ISP).

The shield has the following features:

  • A socket for ATTINY85 µControllers.
  • A socket for ATMEGA328 DIP µControllers.
  • A standard ICSP connector to program a large range of Microchip (ATMEL) µControllers .


Many articles on the internet explain in details how to design this simple ISP programmer.

In this article, I have gathered all the information in one place to be easily accessible and not confusing.

Step 1: PCB Design

Pcb design

The free open source software Kicad is used to design the PCB.

Step 2: Components Sourcing

Just a few components are needed for this simple project.

Step 3: PCB Manufacturing and Assembly

For quick PCB prototype and small-batch PCB production, The PCB is manufactured by JLCPcb.

Assembling the ISP shield is easy. Just a few components are soldered.

Be careful and patient.

Step 4: Preparing the Arduino Uno

The Arduino Uno must programmed with ArduinoISP sketch found in the examples section.

Step 5: Configuring the Arduino Uno

The Uno must be configured as “Arduino as ISP” in the Tools -> Programmer sub menu.

Step 6: Flashing the Bootloader to ATTINY85

This step serves only to flash the fuses of the ATTINY85 chip.

Be careful with setting fuses. “An internal 1 MHZ” is adequate for battery driven boards.

Step 7: Programming the ATTINY85 Sketch

Load your favorite sketcn and configure the arduino IDE for the right board, for instance the ATTINY85.

Click on the “Upload Using Programmer” under the “Sketch” menu to flash the chip.

Step 8: Enjoy

Need help or more details! Leave a comment

Remotely Controlled Vehicule – مركبة تحكم عن بعد

بسم الله الرحمن الرحيم

Step 1: Introduction

This design is the complementary part of our Yet Another Remote Controller” Board at https://www.instructables.com/id/Yet-Another-Remot….

This article describes the design of a Remotely Controlled vehicle according to the following requirements:

  • Simple design
  • Sonars – Ultrasonic Sensor HC-SR04
  • Servo motor
  • Remotely controlled by RF 2.4 GHZ and Bluetooth
  • MPU6050 a 3-axis Gyroscope with Micro Electro Mechanical System(MEMS) technology
  • Oled display
  • 2 Potentiometers for parameters adjustments
  • Blue Led
  • Buzzer
  • Battery driven

Step 2: Schematics

Step 3: BOM ( Bill of Materials )

Step 4: Pcb

Step 5: 3D View

Step 6: Assembly

Step 7: Coding

Step 8: Enjoy

A 25 seconds video is embedded to show the use case.

الحمد لله رب العالمين

“Coronavirus Covid-19” 1 Meter Keep Away Alarm Gadget

بسم الله الرحمن الرحيم

This article is a demonstration of the use of the Ultrasonic Distance Sensor HC-SR04.

The sensor will be be used as a measurement device to build the 1 Meter Keep Away Alarm Gadget for distanciation purposes.

The brain of this gadget is the wonderful ATTINY85 µController powered by a 3.7V Lipo battery.

The gadget integrates the TP4056 charger.

GREEN LED lights if the measured distance from any object is greater than 120 cm.

RED LED blinks if the measured distance from any object is lower than 100 cm with a lovely (noisy) beep.

YELLOW LED blinks if the measured distance from any object is between [100,120 ] cm with a less noisy beep.


Many articles explain in details how the HC-SR04 works.

In a nutshell, The HC-SR04 Ultrasonic Distance Sensor is

1 – An Ultrasonic Transmitter – This transmits the ultrasonic sound pulses, it operates at 40 KHz

2 – An Ultrasonic Receiver – The receiver listens for the transmitted pulses. If it receives them it produces an output pulse whose width can be used to determine the distance the pulse travelled.

Components Sourcing (BOM)

A few components are needed for this simple gadget.

These components are easily accessible from Amazon, Ebay or Aliexpress.

BOM : Bill of materials

Step 2: Schematics

The Open source Schematic Capture & PCB Design Software Kicad is used.

Step 3: Pcb Design

Kicad is used to route the board.

Step 4: PCB Assembly

A few components are to be soldered for this gadget.

Be careful and patient.

Step 5: Arduino Sketch

The arduino sketch uses the famous NewPing library to read the distance from the sensor.

The NewPing Library is Open Source and very well documented.

Step 6: Arduino Sketch Flashing

The flashing of code will use the Arduino Uno itself as an ISP programmer.

Hopefully, the “ATTINY85 ISP Programmer Shield  is used to flash the board.

Remark: Read the article “Yet Another ATTINY85 ISP Programmer Shield for Arduino”

Step 7: Enjoy

In this article we have gone over all the steps to produce a funny gadget that might be helpful.

A 15 seconds home made video shows a use case.

Need more information, put a comment.

الحمد لله رب العالمين

Yet Another Remote Controller Board

Rc Assembled

The board can be used for controlling robots as an example.

The board can be powered by 2 Lipo batteries 7.4 V.

The board includes the following features:

  • ATMega328Pb µController ( Arduino ecosystem)
  • MPU6050 a 3-axis Gyroscope with Micro Electro Mechanical System(MEMS) technology
  • NRF24L01 2.4 GHZ transceiver
  • Hc 06 BlueTooth Slave
  • Oled Display (128×32) or (128×64)
  • 2 Configuration switches
  • 2 On Off switches
  • 2 Potentiometers
  • 2 Joysticks
  • Blue Led
  • Buzzer
  • 2 Independent 3.3 V and 5V regulator

PCB Design

Kicad files

The free open source Kicad is used to design the PCB.

Kicad offers a 3D view of the Pcb.

Components Sourcing

All the components used in this project are sourced from AliExpress.


Pcb Manufacturing

For quick PCB prototype and small-batch PCB production, The PCB is manufactured by JLCPcb.

Assembling the PCB

The PCB consists mainly of connectors to insert the ready made breakboards.

Be careful and patient.

Arduino Coding

Since the µController is supported by Arduino ecosystem, The Arduino IDE is used to program the board.

  • The BootLoader is flashed first through the ICSP connector
  • The application is programmed with an FTDI break Board