Skip to content

Stepper duonext



Link to the shop

The Stepper Duonext is a dual stepper motor controller combining a touch screen Nextion display with and Arduino microcontroller.

This is an excellent unit for controlling stepper motors where human-machine interaction is involved. Nextion displays uses a really intuitive software to build your own application.

Note this unit does not support G code and Gerbl. This product focuses mainly on human interface via the touch screen display.

Touch screen display and motor drivers are sold separately.

Technical Specifications

300px 300px

  • Input power: 12Vdc
  • Motors: 2
  • Supported drivers: A4988 or similar / Generic
  • On/Off switch
  • USB port for both programming and serial communications.
  • Serial port for connection with Nextion display.
  • Supported Nextion display: Any 3.2" can be mounted. NX4024T032 / NX4024K032
  • I2c Port
  • 6 Digital I/O for sensors/relays etc.
  • 2 Analog Inputs.

Nextion Display

The 3.2" display are compatible. These are models NX4024T032 and NX4024K032.


The display application is build using the Nextion software. If you are new to this this is something worth learning as the potential is great.

The Nextion application file is loaded on the display using SD card.


Edit your own sketch and upload it directly to the Duonext using the USB connection.

Motors - Motors are easily programmed using the StepperUNO library. Feel free to download it and look at the examples.

Interaction with Nextion - For this we recommend the NeoNextion library from this Github page. Our examples use this library but you are obviously free to use any other.

I/O Ports

There are 6 digital Input/Output ports. These are in Arduino convention.

  • D4
  • D8
  • D9
  • D10
  • D16
  • D17

They might be used to control relay sensing microswitch or any other related TTL activities.

There are 2 analogue ports. These are

  • A6
  • A7

These can be used to interface with analog sensors or connect a potentiometer for user interaction.


The Duonext comes in 2 options for drivers.

  • A4988 (or similar)
  • Generic Driver


This option allows to mounted the driver directly on the Duonext and connect the motor to the 4way connector.

We have tested 2 drivers with this format.

  • A4988. The A4899 driver works well for higher speed requirements. This is an inexpensive unit.
  • TMC2225. The TMC2225 as the same format as the A4988. This one is better suited for positioning control and is very silent.

Generic Driver

This option allows to connect any external driver using step/dir/enable wires. Connection is made using screw terminal connectors.

Application Examples

We provide a set of application examples. These are voluntarily simplified to be as demonstrative as possible. Feel free to look in the code to get inspired. All graphics are freely available.

Basic Example

This would stand as the 'hello world' equivalent for the Duonext. 3 buttons. Go left/right and stop.


Speed Control

Similar example as above but with a speed control slider this time.


Positioning Example

A plain positioning application. Start the motor with fast or slow speed. There are 2 memories to store a position to recall. Use "Sto" to store the current position in memory and use "Call" to move the motor to the position stored in memory.

The current position is shown at the top.


Acceleration Control Example

This example shows controls for acceleration. There you can turn acceleration on/off and set acceleration and speed using a keypad.

<File:ScreenshotDuonextAcceleration.png> <File:ScreenshotDuonextKeypad.png>

Inputs Status

The level status of each input is shown with an indicator. Gray for LOW and green for HIGH. The analogue input values are also shown.


See also