|
Soldering Iron Kit |
|
|
arduino IDEArduino
|
DIY ESP32 Bioresonance Rife Machine with ZAPPER function
Rife machine therapy is an alternative treatment developed by Dr. Royal Raymond Rife in the 1930s. He believed that certain frequencies could target and eliminate pathogens like bacteria, viruses, and even cancer cells.

The machine purportedly generates frequencies that match those of the targeted organisms, thereby disrupting and "destroying" them without harming the surrounding tissue. However, the scientific and medical communities largely reject Rife therapy due to the lack of solid, peer-reviewed evidence supporting its efficacy. The original Rife machine uses plasma as a medium for radiation at certain frequencies. Today on the Internet you can find several types of Rife machines in which the given set of frequencies is transmitted to the human body through metal electrodes that should be held in the palms during the treatment. Unfortunately, they are sold at extremely high prices even though their effectiveness has not been proven at all.
For these reasons, in one of the previous videos (https://youtu.be/C6WQc_vT1gY), I described a simple and inexpensive way to make such a device if you have basic knowledge of electronics and microcontrollers. Due to the software requirements I used an Arduino mega microcontroller which is harder to get and relatively expensive.
At the request of several of my followers, I reworked the same device, but this time to work with the cheap and widespread ESP32 microcontroller, and even now new functions can be added, but I will consider that option in the future.The code is made a little differently because the ESP32 platform doesn't support the "Tone" library, but in the end the device works great and I think it's worth all the effort.
Like the previous time, the device is simple to make and consists of several components:

- ESP32 Developement Board
- ST7920 chip based LCD with 128x64 dots resolution
- General Purpose Transistor NPN (in my case 2N2222)
- 3 Buttons
- Resistor 10K and 470R
- 7805 voltage regulator
- and battery
First, let's describe in more detail how to upload the code to the microcontroller.
For this purpose we go to Arduino IDE - File - Preferences - where we add the ESP32 URL to "Board Manager URLs" as follows: (https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
- Now click "Tool-->Board-->Board Manager", and search for "esp32" then click "Install"
- Next on Tools-> ESP32 arduino -> ESP32 dev module
- Follows installation of the U8g2lib library
- For this purpose, we go to sketch - include library - manage libraries - and search for U8G2lib -> install
- After that we paste the code to Arduino IDE , choose apropriate COM port, and press Upload.
By completing this procedure, the code is installed and the device is ready for operation. And now let's see how the device works in real conditions. The start menu appears when turned on.

By pressing the down button we enter the submenu in which we select the disease for which we want to apply therapy. This time, I added a Zapper function to the code that generates a rectangular signal with a frequency of 30 KHz with a duration of 5 minutes, but the therapy can be extended if desired by pressing the middle (enter) button once.

Specifically, the code includes frequencies for therapies for 31 diseases, but we can very easily change and enter frequency arrays for many other diseases. The set of frequencies for each disease can be downloaded for free online if you request a "rife frequency list".
Now that we have selected the therapy for a certain disease, we press the Start button and the duration of the whole therapy, and the elapsed time from its beginning, appears on the screen.

The signal from the generator can be applied to the "patient" through contact of the electrodes with the skin. The electrodes should be stainless and may be in the form of cylinders or plates. During therapy it would be good to immerse them in salt solution for better conductivity.

I am not a medical person and I can not discuss the effect of the device now, but as the output voltage does not exceed the 9V, the use of the device is completely safe for health. And of course, we need to treat bioresonance as supporting conventional therapy.
To confirm what was said before, I will now observe the shape of the generated signal on an Oscilloscope. First, the Zapper program which, as we see, generates a rectangular signal with a frequency of 30 MHz. Next, as an example, let's take Acute Pain, which consists of a series of 10 different frequencies lasting one minute each.

As We see on Scope, the signal has a different frequencies which change every minute of therapy. The elapsed time as well as the end of the therapy are also marked on the display, while to continue the same therapy we have to press Enter, and to select another therapy press on the bottom button.
And finally a short conclusion. I am not a medical expert and I cannot discuss the effect of the device, but only a simple and inexpensive way to make such a device yourself, because similar commercial devices are sold at astronomical prices. If you are considering using this device for health-related purposes, it is crucial to consult a qualified healthcare professional to ensure safety and efficacy. This video only explains the technical aspect of this device (how to build it). Тhe device is built into a suitable box made of PVC with a thickness of 3 ansd 5 mm and coated with self-adhesive colored wallpaper.

#include <U8g2lib.h>
#include <driver/ledc.h> // ESP32 PWM library
// U8G2_ST7920_128X64_1_SW_SPI u8g2(U8G2_R0, /* clock=*/ 18, /* data=*/ 23, /* CS=*/ 5, /* reset=*/ 16);
U8G2_ST7920_128X64_F_SW_SPI u8g2(U8G2_R0, /* clock=*/ 18, /* data=*/ 23, /* CS=*/ 5, /* reset=*/ 22); // ESP32
#define DEBOUNCE_DELAY 50 // 50ms debounce time
unsigned long lastDebounceTime1 = 0;
unsigned long lastDebounceTime2 = 0;
unsigned long lastDebounceTime3 = 0;
const int index_choroby = 37;
const char* choroby[index_choroby] = {
"ZAPPER", "Angina", "Stomachache", "Pain in general", "Headaches",
"Infection", "Acute pain", "Back pain 2", "Arthralgia", "Toothache",
"No appetite", "No taste", "Motion sickness", "Hoarseness", "Dolegl. gastric",
"Prostate ailments", "Deafness", "Flu", "Hemorrhoids", "Kidney stones",
"Cough", "runny nose", "Hair loss", "Hypertension", "Low pressure",
"Disease. thyroid gland", "Bad breath", "General herpes", "Epilepsy", "Constipation",
"Dizziness"
};
const int liczby[index_choroby * 10] = {
30000 ,30000 ,30000 ,30000 ,30000 ,0 ,0 ,0 ,0 ,0 , //"ZAPPER"
787 ,776 ,727 ,690 ,465 ,428 ,660 ,0 ,0 ,0 , //"Angina"
10000 ,3000 ,95 ,0 ,0 ,0 ,0 ,0 ,0 ,0 , //"Stomachache"
3000 ,2720 ,95 ,666 ,80 ,40 ,0 ,0 ,0 ,0 , //"Pain in general"
10000 ,144 ,160 ,520 ,304 ,0 ,0 ,0 ,0 ,0 , //"Headaches"
3000 ,95 ,880 ,1550 ,802 ,787 ,776 ,727 ,0 ,0 , //"Infection"
3000 ,95 ,10000 ,1550 ,802 ,880 ,787 ,727 ,690 ,666 , //"Acute pain"
787 ,784 ,776 ,728 ,727 ,465 ,432 ,0 ,0 ,0 , //"Back pain 2"
160 ,500 ,1600 ,5000 ,324 ,528 ,0 ,0 ,0 ,0 , //"Arthralgia"
5170 ,3000 ,2720 ,2489 ,1800 ,1600 ,1550 ,880 ,832 ,666 , //"Toothache"
10000 ,465 ,444 ,1865 ,125 ,95 ,72 ,880 ,787 ,727 , //"No appetite"
10000 ,20 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 , //"No taste"
10000 ,5000 ,648 ,624 ,600 ,465 ,440 ,648 ,444 ,1865 , //"Motion sickness"
880 ,760 ,727 ,0 ,0 ,0 ,0 ,0 ,0 ,0 , //"Hoarseness"
10000 ,1550 ,802 ,880 ,832 ,787 ,727 ,465 ,0 ,0 , //"Dolegl. gastric",
2050 ,880 ,1550 ,802 ,787 ,727 ,465 ,20 ,0 ,0 , //"Bladder and prostate ailments",
10000 ,1550 ,880 ,802 ,787 ,727 ,20 ,0 ,0 ,0 , //"Deafness",
954 ,889 ,841 ,787 ,763 ,753 ,742 ,523 ,513 ,482 , //"Flu",
4474 ,6117 ,774 ,1550 ,447 ,880 ,802 ,727 ,0 ,0 , //"Hemorrhoids",
10000 ,444 ,727 ,787 ,880 ,6000 ,3000 ,1552 ,0 ,0 , //"Kidney stones",
7760 ,7344 ,3702 ,3672 ,1550 ,1500 ,1234 ,776 ,766 ,728 , //"Cough",
1800 ,1713 ,1550 ,802 ,800 ,880 ,787 ,727 ,444 ,20 , //"runny nose",
10000 ,5000 ,2720 ,2170 ,1552 ,880 ,800 ,787 ,727 ,465 , //"Hair loss",
10000 ,3176 ,2112 ,95 ,324 ,528 ,880 ,787 ,727 ,304 , //"Hypertension",
727 ,787 ,880 ,0 ,0 ,0 ,0 ,0 ,0 ,0 , //"Low pressure",
16000 ,10000 ,160 ,80 ,35 ,0 ,0 ,0 ,0 ,0 , //"Disease. thyroid gland"
1550 ,802 ,880 ,787 ,727 ,0 ,0 ,0 ,0 ,0 , //"Bad breath",
2950 ,1900 ,1577 ,1550 ,1489 ,1488 ,629 ,464 ,450 ,383 , //"General herpes",
10000 ,880 ,802 ,787 ,727 ,700 ,650 ,600 ,210 ,125 , //"Epilepsy"'
3176 ,1550 ,880 ,832 ,802 ,787 ,776 ,727 ,444 ,422 , //"Constipation",
1550 ,880 ,802 ,784 ,787 ,786 ,766 ,522 ,727 ,72 //"Dizziness",
};
byte inPin1 = 15;
byte inPin2 = 2;
byte inPin3 = 4;
int buzzerPin = 14; // Define your buzzer pin (make sure it's a valid GPIO pin)
byte i, a, b, c, intr;
byte reading, reading1, reading2, reading3;
byte P1, P2;
unsigned long time0, time1, time2, time3;
const char* tytul;
byte ilosc_f;
byte strona;
char f_str[3];
char i_str[3];
char* k_str;
int f_gen;
void setup(void) {
u8g2.begin();
Serial.begin(115200);
pinMode(13, OUTPUT);
digitalWrite(13, LOW);
pinMode(inPin1, INPUT_PULLUP);
pinMode(inPin2, INPUT_PULLUP);
pinMode(inPin3, INPUT_PULLUP);
pinMode(buzzerPin, OUTPUT);
P1 = 0; P2 = 1;
intr = 0; strona = 0;
}
void loop(void) {
if (intr == 1) { stuffHappened(); }
u8g2.firstPage();
do {
if (intr == 0) { Intro(); }
if (intr == 1) { Menu(); }
} while (u8g2.nextPage());
if (intr == 0) { delay(1000); intr = 1; }
delay(20);
}
void Intro(void) {
u8g2.setFont(u8g2_font_helvB12_te);
u8g2.drawStr(8, 20, "Bio resonance");
u8g2.drawStr(11, 45, "RIFE machine");
u8g2.setFont(u8g2_font_6x12_te);
u8g2.drawStr(20, 62, "Click to start");
u8g2.setFont(u8g2_font_open_iconic_arrow_1x_t);
u8g2.drawGlyph(52, 62, 64);
}
void Menu(void) {
u8g2.setFont(u8g2_font_6x12_te);
tytul = " ILLNESS";
Ramka();
for (i = strona; i < 6 + strona; i++) {
if (i <= index_choroby - 1) {
u8g2.drawStr(10, 20 + 10 * (i - strona), choroby[i]);
}
}
}
void Ramka(void) {
u8g2.drawFrame(0, 0, 128, 64);
u8g2.drawBox(0, 0, 128, 10);
u8g2.setDrawColor(2);
u8g2.setFontMode(1);
u8g2.drawStr(30, 8, tytul);
u8g2.setDrawColor(1);
u8g2.setFontMode(1);
}
void stuffHappened(void) {
P1 = 0; P2 = 0;
do { Dipsw(); } while (P2 == 0);
}
void Dipsw(void) {
unsigned long currentTime = millis();
// Read button 1
reading = digitalRead(inPin1);
if (reading == LOW && (currentTime - lastDebounceTime1) > DEBOUNCE_DELAY) {
lastDebounceTime1 = currentTime;
P1++;
if (P1 > index_choroby) { P1 = index_choroby; }
strona = (P1 > 35) ? 35 : (P1 / 5) * 5;
Wyswietl_kursor();
}
// Read button 2
reading2 = digitalRead(inPin2);
if (reading2 == LOW && (currentTime - lastDebounceTime2) > DEBOUNCE_DELAY) {
lastDebounceTime2 = currentTime;
P1--;
if (P1 < 1) { P1 = 1; }
strona = (P1 > 35) ? 35 : (P1 / 5) * 5;
Wyswietl_kursor();
}
// Read button 3
reading3 = digitalRead(inPin3);
if (reading3 == LOW && (currentTime - lastDebounceTime3) > DEBOUNCE_DELAY) {
lastDebounceTime3 = currentTime;
tytul = choroby[P1 - 1];
Generuj();
}
}
void Wyswietl_kursor(void) {
u8g2.firstPage();
do {
u8g2.drawHLine(5, 11 + (P1 - strona) * 10, 118);
u8g2.drawHLine(5, 2 + (P1 - strona) * 10, 118);
u8g2.drawVLine(5, 2 + (P1 - strona) * 10, 10);
u8g2.drawVLine(122, 2 + (P1 - strona) * 10, 10);
Menu();
} while (u8g2.nextPage());
}
void Generuj(void) {
int f;
f = 0; ilosc_f = 0; k_str = "";
// Count how many frequencies are associated with the illness
for (i = 0; i < 10; i++) {
f = liczby[10 * (P1 - 1) + i];
if (f > 0) ilosc_f++;
}
// Convert the count of frequencies to a string for display
strcpy(f_str, u8x8_u8toa(ilosc_f, 2));
// Loop through each frequency and generate the tone for 1 minute
for (i = 0; i < ilosc_f; i++) {
f_gen = liczby[10 * (P1 - 1) + i]; // Get the current frequency
strcpy(i_str, u8x8_u8toa(i + 1, 2)); // Update the index of frequency being played
DisplayRamka(); // Display the frequency information
// Call the beep function for 1 minute (60000 milliseconds)
beep(f_gen, 60000); // Play the frequency for 1 minute
delay(1000); // Add a 1-second delay between frequencies
}
// Show "FINISH" once all frequencies have been played
k_str = "FINISH";
DisplayRamka();
}
void beep(int note, int duration) {
// Channel 0, Frequency set by `note`, 8-bit resolution
ledcSetup(0, note, 8);
// Attach the buzzer pin to PWM channel 0
ledcAttachPin(buzzerPin, 0);
// Write the duty cycle (128 out of 255 for 50% duty cycle)
ledcWrite(0, 128);
delay(duration); // Hold the note for the desired duration
// Stop the tone by setting the duty cycle to 0
ledcWrite(0, 0);
}
void DisplayRamka() {
u8g2.firstPage();
do {
u8g2.setFont(u8g2_font_6x12_te); // choosing small fonts
Ramka();
u8g2.drawStr(22, 25, "Start of therapy");
u8g2.drawStr(25, 38, "Time:");
u8g2.drawStr(58, 38, f_str);
u8g2.drawStr(75, 38, "min.");
u8g2.setFont(u8g2_font_helvB14_te); // choosing large fonts
if (k_str == "") u8g2.drawStr(55, 58, i_str);
if (k_str != "") u8g2.drawStr(22, 58, k_str);
} while (u8g2.nextPage());
}
DIY ESP32 Bioresonance Rife Machine with ZAPPER function
Raspberry Pi 5 7 Inch Touch Screen IPS 1024x600 HD LCD HDMI-compatible Display for RPI 4B 3B+ OPI 5 AIDA64 PC Secondary Screen(Without Speaker)
BUY NOW- Comments(2)
- Likes(2)
- 0 USER VOTES
- YOUR VOTE 0.00 0.00
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
More by Mirko Pavleski
-
Arduino 3D Printed self Balancing Cube
Self-balancing devices are electronic devices that use sensors and motors to keep themselves balanc...
-
Build a 5-Day forecast Raspberry Pi Weather Dashboard (Step-by-Step)
Recently in one of my previous videos,I introduced you to the 7 inch Elecrow Pi Terminal and how to...
-
ESP32 Aneroid Barometer using Squareline Studio and LVGL on CrowPanel Round display
A barometer is a scientific instrument used to measure atmospheric pressure. Rising Pressure genera...
-
LINAMP Project – Winamp-Style Audio Front Panel on Raspberry Pi 5
Winamp is one of the most iconic and historically significant digital media players ever created. I...
-
Retro Style radio with CrowPanel 2.1inch round Display (TEA5767)
Some time ago I presented you a clock project with CrowPanel 2.1inch-HMI ESP32 Rotary Display 480*4...
-
Pi-Pico RX - SDR Radio with New Firmware and Features
A few months ago I presented you a wonderful SDR radio project by DawsonJon 101 Things. In short, i...
-
How to make simple Variable HIGH VOLTAGE Power Supply
High Voltage Power Supply is usually understood as a device that is capable of generating a voltage...
-
DIY 5-Day Rainfall Forecast Device - ESP32 E-Paper Project
In several of my previous projects I have presented ways to make weather stations, but this time I ...
-
Build simple Retro Style VFO (Variable frequency oscillator) with Crowoanel 1.28 inch Round Display
Today I received a shipment with a Small round LCD display from Elecrow. The device is packed in tw...
-
Human vs Robot – Rock Paper Scissors with MyCobot 280 M5Stack
Today I received a package containing the few Elephant Robotics products. The shipment is well pack...
-
How to Build a Simple Audio Spectrum Analyzer with Adjustable Settings
An audio spectrum analyzer is an electronic device or software tool that measures and visually disp...
-
How to Make a Digital Clock on a Vintage B&W TV using Arduino
These days I accidentally came across this small retro Black and White TV with a built-in Radio, so ...
-
Build a $10 Function Generator with Frequency Meter for Your Lab
A function generator is a piece of electronic test equipment used to generate various types of elec...
-
From Unboxing to Coding - Radar Clock on Elecrow’s 2.1 HMI Display
Today I received a shipment with a large round LCD display from Elecrow. The device is packed in two...
-
Making a Retro Analog NTP Clock with Unihiker K10 - Arduino IDE Tutorial
Some time ago I presented you a way to use standard Arduino libraries on the Unihiker k10 developme...
-
Build a Cheap & Easy HF Preselector - Antenna Tuner
HF antenna preselector is an electronic device connected between an HF radio antenna, and a radio r...
-
DIY Static Charge Monitor - Electrostatic Field Detector (Arduino & TL071)
A Static Charge Monitor also known as a Static Field Meter or Electrostatic Voltmeter is a device u...
-
XHDATA D-219 Radio Short Review with complete disassembly
Some time ago I received an offer from XHDATA to be one of the first test users of their new radio m...
-
A Compact Charging Breakout Board For Waveshare ESP32-C3
477 3 4 -
AI-driven LoRa & LLM-enabled Kiosk & Food Delivery System
488 2 0 -
-
-
-
ESP32-C3 BLE Keyboard - Battery Powered with USB-C Charging
683 0 1 -
-
mammoth-3D SLM Voron Toolhead – Manual Drill & Tap Edition
672 0 1 -
-
AEL-2011 Power Supply Module
1343 0 2 -
AEL-2011 50W Power Amplifier
1224 0 2







