Close
0%
0%

ESP8266 WiFi Tank Remote Controller

Use your smartphone as a remote controller, no internet or app required! Just by browsing.

Similar projects worth following
After several weeks of waiting I did received my tiny RC Tank from China, but the remote controller was the wrong one! so I could not play with it...
I did not gave up, and removed the gibberish green board from the tiny toy, and connected it to a good ESP8266.
The goal is to have a self-contained remote control solution: the receiver should create an Access Point, the receiver should hand all the application data to any browsing-enabled device and the fun should start.

The project , mostly software, aims to create a better experience on "non-intelligent" vehicles. In this case a tank.

Hardware modification is needed, but this will result in:

- Customized controls

- Fine precision movement

- Simulated inertia

I am still waiting for some key components aka ESP-12 modules and H-Bridges to pack the creation, at the moment the functionality is demonstrated on breadboard having the tank engines controlled by 2 N-gate transistors, resulting on the missing reverse and the severe inability to move further away.

But do not fear! The code is kind of complete.

If I do have certain positive feedbacks on this, I could move on to a 1:16 tank replica, where i could really express the microprocessor potential by simulating a 30-ton machine inertia.
What could be possible if I include an IR blaster and IR receivers?

  • 1 × Tiny Chinese RC Tiger I Tank Only the tank is needed
  • 1 × ESP8266 Better if you have at least 4 GPIO, if you don't want to be stuck in forward gear
  • 2 × mini >2.5v H-bridge motor controller The smaller the better, the engines are very tiny and should run on no more than 4v
  • 1 × ESP8266 USB flashing hardware

  • NodeMCU Prototype

    Giulio01/28/2017 at 19:19 0 comments

    I did chose to prototype on the NodeMCU, since it is much easier to flash than on a minimum ESP-12.

    I did opened the tank and revealed the main motor leads, to those I did attached some

    breadboard wires, in order to drive the motors from 2 transistors. Remember that the ESP-12 maximum pin power is 12mA and it will not drive the tank, you can also risk to burn your ESP by doing so.

    Opened tank

    For the prototyping purpose I am not going to order an H-Bridge yet, I will use some general purpose transistors to relay the battery current to the motors. By doing so I will only be able to go forward because inverting the motor polarity is impossible.

    It would be better to pull the negative with an NPN transistor, but it is working very well also in this case.
    The soft PWM frequency that worked the best and had the most torque for low motor speeds in my case is 50hz, much less than the default 1000hz from the Arduino compiler.

    The code below here shows the main functions that i did used to obtain the desired effect. Be careful not to analog Write a negative value, this will result in strange behaviors given by overflows.

    pinMode(D1, OUTPUT);
    pinMode(D2, OUTPUT);
    analogWriteRange(100);
    analogWriteFreq(50);
    
    analogWrite(D1,RightPower*(RightPower>0));
    analogWrite(D2,LeftPower*(LeftPower>0));

    Next up: application code.

View project log

Enjoy this project?

Share

Discussions

James Newton wrote 08/10/2023 at 04:50 point

You might enjoy the "Sample Usage" link from my "RC Servo" project. 

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates