1-) Getting Started with RemoteXY
https://youtu.be/G5v5TPlEQcQ
ESPcopter Control Application (RemoteXY):
Connection:
After installing the RemoteXY application on your phone, turn ESPcopter on and connect your phone and ESPcopter via wifi network.
After you make the connection, open RemoteXY and do the following steps:

After making the connection, the screen below will open automatically. After the first connection. There will be ESPcopter box in RemoteXY app. You can connect ESPcopter by clicking this box.
3.1-) Control Review:
Joysticks:
Control Review:
Note: If you use direction stabilization mode. you need to make sure that magnetometer calibration is done truly.
MPU9250
#include <Wire.h>
#define MPU9250_ADDRESS 0x68
#define MAG_ADDRESS 0x0C
#define GYRO_FULL_SCALE_250_DPS 0x00
#define GYRO_FULL_SCALE_500_DPS 0x08
#define GYRO_FULL_SCALE_1000_DPS 0x10
#define GYRO_FULL_SCALE_2000_DPS 0x18
#define ACC_FULL_SCALE_2_G 0x00
#define ACC_FULL_SCALE_4_G 0x08
#define ACC_FULL_SCALE_8_G 0x10
#define ACC_FULL_SCALE_16_G 0x18
// This function read Nbytes bytes from I2C device at address Address.
// Put read bytes starting at register Register in the Data array.
uint8_t ST1;
int16_t mag_int[3] = {0};
void writeBIT(int addr, int data, int adrrTrans){
Wire.beginTransmission(adrrTrans);
Wire.write(addr);
Wire.write(data);
Wire.endTransmission();
}
void I2Cread(uint8_t Address, uint8_t Register, uint8_t Nbytes, uint8_t* Data){
// Set register address
Wire.beginTransmission(Address);
Wire.write(Register);
Wire.endTransmission();
// Read Nbytes
Wire.requestFrom(Address, Nbytes);
uint8_t index=0;
while (Wire.available())
Data[index++]=Wire.read();
}
// Initializations
void setup()
{
// Arduino initializations
Wire.begin();
Serial.begin(115200);
Wire.setClock(400000L);
// Set accelerometers low pass filter at 5Hz
writeBIT(29, 0x06,MPU9250_ADDRESS);
// Set gyroscope low pass filter at 5Hz
writeBIT(26, 0x06,MPU9250_ADDRESS);
// Configure gyroscope range
writeBIT(27, GYRO_FULL_SCALE_2000_DPS,MPU9250_ADDRESS);
// Configure accelerometers range
writeBIT(28, ACC_FULL_SCALE_2_G,MPU9250_ADDRESS);
// Set by pass mode for the magnetometers
writeBIT(0x37, 0x02,MPU9250_ADDRESS);
// Request continuous magnetometer measurements in 16 bits
//writeBIT(0x0A, 0x16,MAG_ADDRESS);
delay(200);
// writeBIT(0x0A, mRes << 4 | 0x06 ,MAG_ADDRESS);
writeBIT(0x0A, 0x00 , MAG_ADDRESS); // Power down magnetometer
delay(20);
writeBIT(0x0A , 0x0F, MAG_ADDRESS); // Enter Fuse ROM access mode
delay(20);
}
// Main loop, read and display data
void loop()
{
// _______________
// ::: Counter :::
// Display data counter
// Serial.print (cpt++,DEC);
// Serial.print (“\t”);
// ____________________________________
// ::: accelerometer and gyroscope :::
// Read accelerometer and gyroscope
uint8_t Buf[14];
int16_t accel[3] = {0}, gyro_int[3] = {0}, MEAN_GYRO[3] = {0};;
I2Cread(MPU9250_ADDRESS,0x3B,14,Buf);
accel[0]=(Buf[0]<<8 | Buf[1]);
accel[1]=(Buf[2]<<8 | Buf[3]);
accel[2]=Buf[4]<<8 | Buf[5];
// Gyroscope
gyro_int[0]=(Buf[8]<<8 | Buf[9]) – MEAN_GYRO[0];
gyro_int[1]=(Buf[10]<<8 | Buf[11]) – MEAN_GYRO[1];
gyro_int[2]=Buf[12]<<8 | Buf[13] – MEAN_GYRO[2];
// Display values
// Accelerometer
Serial.print (accel[0],DEC);
Serial.print (“\t”);
Serial.print (accel[1],DEC);
Serial.print (“\t”);
Serial.print (accel[2],DEC);
Serial.print (“\t”);
// Gyroscope
Serial.print (gyro_int[0],DEC);
Serial.print (“\t”);
Serial.print (gyro_int[1],DEC);
Serial.print (“\t”);
Serial.print (gyro_int[2],DEC);
Serial.println(“\t”);
}
Buy A ESPcopter:
Buy A ESPcopter:
65$ + 9$ worldwide shipping
[wpecpp name=”One unit ESPcopter” price=”74″ align=”left”]
Learn Robotics By Making and Programming Your Own Drones

Specifications:
- Small and lightweight, around 35g and about 90mm motor to motor Flight time up to 7 minutes with standard 240mAh Li-Po battery
- Standard micro-USB connector for charging which takes ~25min for the stock 260mAh Li-Po battery
- On-board low-energy radio@1mW based on the ESP8266-12E. Powerful 32-bit RISC CPU: Tensilica Xtensa LX106 running at 160 MHz (64kb flash, 96kb RAM) IEEE 802.11 b/g/n Wi-Fi connection
- MPU9250 9-DOF 3-Axis Accelerometer, 3-Axis Gyro, & 3-Axis Magnetometer
- Expansion header 2×6 pins 2.54mm pitch including power, GPIO I2C, and UART.
Box Content
- 1 Piece Drone.
- 1 Piece 240mAh Li-Po battery.
- 1 Piece propeller protector.
- 1 Piece battery holder shield
- 1 Piece Solder shield
- 4 Piece reserve propeller.
- 4 Piece rubber grommets
- 1 Piece propeller disassembly tool.
- 1 Piece motor assembly tool.
- 1 Piece installation instructions page.
Uçuş Kodu Yükleme
ESPcopter ile programlama eğitimlerinden sonra uçuş kodunu drone’unuza geri yüklemek isterseniz. Bu yazı size yardımcı olacaktır.
İlk olarak uçuş kodunu bilgisayarınıza indiriniz.
Uçuş Kodu:
Daha sonra NodeMCU Flasher Programını bilgisayarınıza indiriniz.
İndirilen dosyayı masaüstüne çıkardıktan sonra nodemcu-flasher-master\Win64\Release klosürü içinde ESP8266Flasher.exe uygulamasını çalıştırın.

Confing bölümünden daha önce indirdiğiniz .Bin dosyasınının klasör bağlantısını ilk sekmeye yapıştırınız.

Drone bağlantısı yaptıktan sonra drone’u açık hale getirin ve flash(f) düğmesine basın. Kod yüklenmeye başlıyacaktır.
Yazılım başarı ile yüklendi.
Kontrol Ekranına Giriş
Yazılımların yüklenmesini yaptıktan sonra drone açık konuma getirin. Telefonunuz wifi sekmesinde drone’nun ismini göreceksiniz.
WIFI_SSID “ESPcopter”
WIFI_PASSWORD “12345678”
Bağlantıyı yaptıktan sonra telefonunuzdan herhangi bir web browser uygulamasını açınız. Arama satırına 192.168.4.1 yazıp aratınız.
İlk tuşu aktif yaptığınızda motorlar çalışmaya başlayacaktır.
İyi uçuşlar.
REMOTEXY Uçuş Kodu Yükleme
ESPcopter ile programlama eğitimlerinden sonra uçuş kodunu drone’unuza geri yüklemek isterseniz. Bu yazı size yardımcı olacaktır.
İlk olarak uçuş kodunu bilgisayarınıza indiriniz.
Uçuş Kodu:
Daha sonra NodeMCU Flasher Programını bilgisayarınıza indiriniz.
İndirilen dosyayı masaüstüne çıkardıktan sonra nodemcu-flasher-master\Win64\Release klosürü içinde ESP8266Flasher.exe uygulamasını çalıştırın.

Confing bölümünden daha önce indirdiğiniz .Bin dosyasınının klasör bağlantısını ilk sekmeye yapıştırınız.

Drone bağlantısı yaptıktan sonra drone’u açık hale getirin ve flash(f) düğmesine basın. Kod yüklenmeye başlıyacaktır.
Yazılım başarı ile yüklendi.
Telefon Uygulması REMOTEXY
Yazılımların yüklenmesini yaptıktan sonra drone açık konuma getirin. Telefonunuz wifi sekmesinde drone’nun ismini göreceksiniz.
WIFI_SSID “RemoteXY”
WIFI_PASSWORD “12345678”
Bağlantıyı yaptıktan sonra uygulamayı açınız ve aşağıda bulunan işlemleri yapınız.

Not: Telefon uygulaması İSO işletim sisteminde sıkıntısız olarak çalışmaktardır.
İyi uçuşlar.
Control ESPcopter With Processing
After the Getting Started With Processing phase, You can control ESPcopter with Processing, First of All, you need to install there library to Processing which is
1-) controlP5
2-) game control plus
3-)opencv
To code please contact with [email protected]
How to Add Library:


How to Connect ESPcopter
Click to Connect

Start to Program
İf you have no gamepad. Return to false from İfconsol = True;

İf you have a Gamepad you need to do the some setting
First select your gamepad













