DIY Stream Deck With Arduino & Nextion - Customize Your Workflow!
by Electronic CNC Lab in Circuits > Arduino
151 Views, 8 Favorites, 0 Comments
DIY Stream Deck With Arduino & Nextion - Customize Your Workflow!

π§ Build Your Own Custom Stream Deck! π§
Are you a content creator, a streamer, or just looking to automate your workflow? Then this project is for you! π―
In this step-by-step guide, Iβll show you how to create a DIY Macro Touch Deck using a Nextion display and an Arduino Pro Micro. With this device, you can launch programs, open folders, execute keyboard shortcuts, and more β all with a simple tap!
π‘ Why build it instead of buying one?
β Affordable β Costs way less than a commercial Stream Deck.
β Fully customizable β Assign any function to your buttons!
β Open-source project β Easily modifiable and expandable.
π What will you learn in this guide?
- Designing the graphical interface with Nextion Editor.
- Programming the Arduino to send custom commands.
- Assembling and testing a fully functional DIY Stream Deck.
π¬ Have ideas or improvements? Drop a comment and let me know!
Supplies








- Nextion 2.8" Display (NX3224K028) β HMI touchscreen for the graphical interface;
- Arduino Pro Micro β Microcontroller with HID support for keyboard emulation;
- USB-to-Serial Converter (FT782 or equivalent) β For communication between Nextion and Arduino;
- Standard Wires + JST Connectors β For soldering connections and easy plug-in;
- JST Connector Crimping Tool β To Make The Cable That Connects The Display To Arduino
- USB C Cable β For power and programming the Arduino;
- Mini USB B β For power and programming the display;
- Threaded Inserts, M2 M2.5 M3 M4 M5 M6
Creating the Graphical Interface for the Nextion Display

Creating the Graphical Interface for the Nextion Display
The heart of our DIY Stream Deck is the touch interface, allowing us to execute commands on the PC with a single tap. To build it, we will use Nextion Editor, a dedicated software for designing graphical user interfaces (GUIs) for Nextion displays.
Installing Nextion Editor

Before getting started, download and install Nextion Editor from the official site: ITEAD Nextion.
- Open the software and create a new project.
- Select the display model youβre using (Nextion 2.8β NX3224K028 in this case).
- Set the correct resolution (320x240 px).
Designing the Interface


Now, let's start building the buttons and layout of our interface:
β Adding a Main Screen:
- Click "Add Page" and rename it "Home".
- Set a background color or upload a custom image as the background.
β Adding Function Buttons:
- Select the "Button" widget from the toolbar.
- Position and resize the buttons in the grid.
- For each button, assign:
- Object Name (objname) for identification (e.g., btn_YT for YouTube).
- Unique ID for Arduino recognition.
- Label or Icon (you can upload custom images).
β Assigning Serial Commands:
- In the Touch Release Event tab, insert the serial command that will be sent to the Arduino when the button is pressed:
- (This will send the letter "a" via serial, which Arduino will interpret to open YouTube.)
- Repeat this process for each button, using different letters (b, c, dβ¦) for other functions.
Uploading the Interface to the Display







Once the interface is ready, we need to upload it directly to the Nextion display's internal memory, without using a microSD card.
1οΈβ£ Connect the Nextion display to your PC using a USB-to-TTL adapter (e.g., FTDI FT232RL).
2οΈβ£ Open Nextion Editor and navigate to File > Upload.
3οΈβ£ In the upload settings:
- Select the correct COM port assigned to the Nextion display.
- Set the baud rate (e.g., 115200 for faster transfer).
- 4οΈβ£ Click "Upload" and wait for the process to complete.
- 5οΈβ£ Once done, restart the Nextion display to verify that the interface is correctly loaded.
Now, your Nextion display is ready with the custom interface, stored in its internal memory! π
Link to file: Project loaded on nextion display
Connecting the Nextion Display to Arduino Pro Micro




Now that we have prepared the firmware, it's time to connect the hardware and upload the code to the Arduino Pro Micro. The connections are simple and require only four wires between the Nextion display and the Arduino.
π Wiring Diagram
In the diagram above, you can see the final wiring between Nextion 2.8", Arduino Pro Micro, and PC for firmware upload. Here are the necessary connections:
β οΈ Important:
- The Nextion display operates at 5V, so it can be directly connected to the Arduino Pro Micro.
- If using a 3.3V microcontroller, a logic level shifter is needed for RX/TX.
- The Arduino must be connected via USB to the PC to upload the firmware.
Uploading the Firmware




Once the wiring is completed:
1οΈβ£ Connect the Arduino Pro Micro to your PC via USB
2οΈβ£ Open Arduino IDE and load the firmware sketch
3οΈβ£ Select the correct board and port (Arduino Pro Micro / ATmega32U4)
4οΈβ£ Click Upload and wait for the process to complete
Once the upload is complete, the Nextion display should now be able to communicate with Arduino, sending commands that will be executed on your PC! π