Loading...
 
more
PXL 20201205 112359946 1000w

ESP8266
2WD Robot

PXL 20201205 134308961 1000w

 

An ESP8266 microcontroller, with a readily available L293D ESP-12E motor drive module, allows this very low-cost 2 wheel drive (2WD) robot project to be developed usng a single 3D printed chassis plate and some other 3D printed components.

The designs for all the robot 3D prints are available as one of the collection at the Prusa web site here and are specifically downloadable from here.

 

2WD Robot Annotated 800w

The ESP8266 2WD Robot uses two geared drive motors ‘underslung’ on the 3D printed chassis plate that has Lego-compatible studs on the spare space on the top surface. The drive wheels are at the front of the robot with a ‘marble castor’ assembly at the rear and an ultrasonic object distance measuring sensor fitted in a fixed straightahead position on the top/front of the robot.

Control for the Robot is provided by the ESP8266 microcontroller (packaged as a NodeMCU v1.0 module) that plugs directly into the top of the L293D ESP-12E motor drive module.

Both the microcontroller and the drive motors are powered by 4xAA (high power, rechargeable) batteries where their combined power supply is controlled by an ON/OFF rocker switch.

Operational modes are controlled by three slide switches: A-B, C-D, and GO-STOP, which give four possible mode settings using the A-B and C-D switches (AD, AC, BC, and BD) that are set to 'logically operate with the GO-STOP switch.

 

 

2WD Robot Annotated2 800w    2WD Robot Annotated Underside 800w

 

 

 

 

 

 

 

 

 

Software development

The ESP8266, packaged as the NodeMCU v1, provides a microcontroller with a reasonably large amount of non-volatile memory. This means that, like most microcontrollers, whilst you can only ‘load it’ with the one set of code, that code is always available, and you just need to power the module for the code to start running.

The derivative form of C/C++ code has been developed for the ESP8266 2WD Robot using the Arduino IDE, with the A-B and C-D slide switches used to 'select' an operation mode, and the GO-STOP switch used to 'logically' operate/stop the individual mode.

The currently defined modes are:

  • AD: softAP web mode - makes the robot into its own custom WiFi Access Point and runs a web server providing a browser interface to operate the robot.
  • AC: local WiFi web mode - connects to an available local WiFi network and runs a web server providing a browser interface to operate the robot.
  • BC: autonomous mode - starts the robot going in a forward direction, using the ultrasonic sensor in a continuous mode to detect any obstacles, which then triggers a “stop and go in a different direction” obstacle avoidance action.
  • BD: demonstration mode - runs through a defined series of up to 20 demonstration actions, where the action can be edited via the web interface.

As the NodeMCU can also use Flash memory, as if it were a file system, various parameters used to configure/fine-tune the robot's  operation modes are stored in this Flash memory and can therefore be updated and re-read whenever the code is started.

All the robot code and a PDF Usage Guide is now available from a public GitHub repository here.

 

Customisation

The ESP8266 2WD Robot has been designed specifically to allow it to be customised by using the Lego-compatible studs on the top surface of the 3D printed chassis plate. These allow the robot to be customised in any way imagined with standard Lego bricks and other Lego components as illustrated in the example image shown at the top right of the screen.

An alternative customisation method is to use some special 3D-printed, Lego-compatible ‘card connectors’ that can be attached to the top surface of the chassis plate, just like Lego bricks, but can then have sections of card ‘slotted’ into them.

Use of card cut-outs of different shapes allows a very wide variety of builds to be created that are only limited by your imagination!

The example image shown top left of the screen shows an example build where wings, a tail, and a beak have been added along with a shrouded front section that makes a ‘body’ with the ultrasonic sensor appearing like a pair of eyes.

The card elements used in the build example top left have been cut-out on a free‑hand basis, but a number of plain templated cut-outs that can be coloured in, along with more detailed templates for animal ears, tails, noses/faces, etc., can also be used as illustrated in the images below.

 

PXL 20201220 221327725 1000w PXL 20201220 221132199 1000w PXL 20201219 174232239 1000w

 

 

 

All the robotics projects:

 

 

 

All the currently available maker project information: