What parts should I get for a wifi controllable motor?

I'm a total newbie of Arduino, but I have general programming skills in Python and C++. I would like to make a wifi controllable motor (that I can control from my iphone remotely) that runs clock and anti clockwise continuously (according to the command sent from my iphone) to a specific number of rotations. Also I would require the motor has sufficient torque such as 2kg per cm.

I found a chip ESP8266 ch34, which looks like a very cheap Arduino board? Correct me if I was wrong!

So my question is what parts I should purchase for making a wifi controllable motor? ideally no soldering required. Many thank, Kyle

kail85:
I found a chip ESP8266 ch34, which looks like a very cheap Arduino board? Correct me if I was wrong!

I'm not sure you have properly described it, but you are probably not wrong. The ESP8266 in its various forms has become more or less de rigeuer for WiFi in the Arduino world - an Arduino substitute which can even be programmed using the Arduino IDE.

You may find that all you need extra is the motor controlling gear and the means to drive it. The matter is complicated somewhat because it is rather unlikely that your ESP8266 comes in the standard Arduino board format, but those little stepper motor controller boards don't plug into a shield either..

It might be time to come to terms with a soldering iron.

So my ideal configuration is like:

Power → Arduino board <-> Motor

The Arduino board receives the command from my iphone then drives the motor to spin.

Now let me correct my question: in order to implement my idea, what kind of parts I should purchase?

No Arduino board can power a motor directly.
You always need the correct motor driver board and power supply for the motor you are using.

An ESP-based Arduino, like the WeMos D1 (and many others), just provides the signals for the motor driver.
And ofcourse the WiFi link.
Leo..

I did some search and found this video

where the poster suggest these

NODEMCU CH340 - Amazon.co.uk : NODEMCU CH340
MG995 Servo - Amazon.co.uk : mg995

I'm wondering if NODEMCU CH340 is a cheap replacement of Arduino board?

Read this first.
Several ESP-based boards are listed on page3.
Leo..

Thank Leo. The link you referred is highly helpful!

kail85:
I'm wondering if NODEMCU CH340 is a cheap replacement of Arduino board?

No, it's a different thing. There are lots of Arduino clones out there at prices very similar to the ESP8266 boards such as the NodeMCU.

Main difference: ESP has more memory, more processing power, WiFi built in, less I/O pins.

For your project it sounds the way to go, as you want to rotate one motor (that's one pin) and use WiFi to do it.

Nevertheless you'll need driver hardware for your motor - 2 kg/cm sounds like a pretty decent amount of torque so it'll need the power supply to match. No microprocessor can do that on its own.

Another option, which may be simpler for a beginner, is to develop the project using a regular Arduino board (such as an Uno) and just use the ESP8266 module for the WiFi part in the same way that you would use a Bluetooth module. Many (maybe all) of the ESP8266 modules are supplied with software that can communicate with an Arduino using Serial and using AT commands to make the WiFi function. That way there is no need to learn how to develop and upload software for the ESP8266.

...R

I don't think that's right at all. The NODE MCU is a legitimate replacement for an Arduino and, in my limited experience, really no harder to use. If you want WiFi and there is no problem with the fewer I/O pins, which is surely the case here, there is hardly any point in getting an Arduino - particularly if you are starting from scratch.

So you suggest a beginner to:

  • learn how to program an Arduino
  • learn how to program an ESP8266 module
  • figure out communication between the two
  • figure out how to connect them safely (the ESP runs at 3.3V, and is not 5V tolerant, while most Arduinos runs at 5V)

Instead of:

  • learn how to program an ESP8266 module

You can upload software just like you do to an Arduino (USB cable connected to a PC - or even easier via the WiFi after including OTA in a first upload), and most if not all Arduino libraries work out of the box, I have yet to run into one that doesn't.

Nick_Pyner:
I don't think that's right at all. The NODE MCU is a legitimate replacement for an Arduino and, in my limited experience, really no harder to use.

The first "harder" bit for a newbie is extending the Arduino IDE so it can program an ESP8266. IMHO that is by no means trivial for a newbie.

Whereas an Uno or Mega can be programmed from the IDE without needing any additions.

...R

Robin2:
The first "harder" bit for a newbie is extending the Arduino IDE so it can program an ESP8266. IMHO that is by no means trivial for a newbie.

There is AFAIK only one step to set up the IDE for the ESP modules and boards.

Copy one line into the "Additional Boards Manager" box in File>Preference.

http://arduino.esp8266.com/stable/package_esp8266com_index.json
Leo..

Robin2:
The first "harder" bit for a newbie is extending the Arduino IDE so it can program an ESP8266. IMHO that is by no means trivial for a newbie.

When I started off (having bought a WeMOS and a NodeMCU board - not realising they're not actually Arduinos at the time but picking those for the WiFi part that is essential to my project), it took me total 10-20 minutes. Including finding out about and installing the IDE itself. I don't recall any serious issues with it.

Robin2:
extending the Arduino IDE so it can program an ESP8266.

This is incomprehensible, and/or nonsense.

What you have to do is:

  1. edit the board manager as described above
  2. install a couple of libraries

I recalled at the time that, as a first time user, this is no harder than getting an EtherTen with a DS18B20 up and running. It could be that the EtherTen, my first Arduino, also uses the board manager these days but I had to install an exclusive driver before use. I thought the real problem with ESP8266 would be power supply, but that isn't true either.

Nick_Pyner:
What you have to do is:

  1. edit the board manager as described above
  2. install a couple of libraries

And you have never come across a Thread here where the OP has got completely stuck when trying to do some apparently simple steps?

Some people don't even know what a library is.

...R

Robin2:
Some people don't even know what a library is.

For those there's little hope to program an Arduino or any other embedded system... until they learn the basics of programming.

wvmarle:
For those there's little hope to program an Arduino or any other embedded system... until they learn the basics of programming.

The main point I was trying to make back in Reply #8 is that it is easier to do that using an Uno or Mega rather than a standalone ESP8266

...R