An external PC system control panel built with Arduino Nano and Nextion Display
Explore the docs »
Report Bug »
Request Feature »
This project started when I decided to build a computer. Having never built one before, I decided to go all-out (kind of). I wanted it to be unique and highlight my abilities. Throughout the design and construction phase I entirely neglected to incorporate any system controls and decided to get creative. To stick with the "exposed" theme of the build the idea to incorporate a raw, yet-modern approach was born.
- Arduino Nano V3.0 (Elegoo Nano V3.0+) w/ ATmega328P: Amazon
- Nextion Enhanced 3.5" HMI Resistive Touchscreen: Amazon
Overall, this project is rather simple... If you're somewhat semi-technically inclined.
I highly encourage you to do your research and not take on any task you're not 110% comfortable with. As a reminder, this project is provided AS-IS with ZERO WARRANTY in any way, shape, or form. You're on your own. If you fry your motherboard, that's on you.
The saying goes: "Measure twice, cut once." - Abide by it.
Links to all used components included. I am not receiving any commissions if you use any of the links below.
- General Electronics Experience (Highly Recommended)
- Various Electronics Components
- X3 Schottky Diodes: Amazon
- X2 LED: Amazon
- X2 Pushbuttons: Amazon
- X4 Resistors: Amazon
- X2 BC548 Power Transistors: Amazon
- 2.54mm Pitch Dupont Connectors: Amazon
- Wire Strippers: Amazon
- Wire Crimp Tool: Amazon
- Soldering Iron: Amazon
- X1 Blank Prototyping PCB: Amazon
- X1 Breadboard: Amazon
- Jumper Wires: Amazon
- Arduino IDE: Link
- Nextion Editor: Link
- A motherboard with front-panel system control headers for a powerswitch, reset switch, +5V & Ground connection
- JP1 & JP2 are to disconnect the RX/TX pins from the Arduino Nano in order to be able to upload code to the Nano without removing it from the PCB. If you leave these connected or forego the jumpers, you will not be able to upload any code to the Arduino if the Nextion is connected since the RX and TX pins are used when the board is communicating via USB.
- J1 Pin 1 MUST be a constant +5V to power the board and display. I have my BIOS set to always supply +5 to USB so I just ran a USB from an available USB header off the motherboard.
- J2 Pin 4 must be +5V from the motherboard ONLY when the MB is alive. I used the +5V on the System Panel Connector header for the System Warning Speaker. See below.
- You can forego the LEDs and Pushbuttons. I opted for them for extra effect and as a backup in case the Nextion display ever stopped working before I could replace it. Better to be over-prepared than under-prepared.
- J1 are male headers for connection to the Nextion display.
- J2 are male headers for the wiring from the motherboard front-panel system control headers.
- If you're using LED's from your motherboard's LED connections, ensure they are regulated. If on the off-chance they are not, you will need to integrate resistors in-series prior to the LED's.
For the Fritzing file click here.
Image: Breadboard Prototype Image: Final PCB PrototypePlease reference your motherboard's user manual or contact your motherboard manufacturer to confirm wiring / operation. Again, this software and hardware is provided AS-IS with NO WARRANTY expressed or implied. I am not responsible if you fry your motherboard. Please DO NOT continue if you're not confident in your abilities. I cannot tell you how many times I confirmed details and reconfirmed before attaching any wires up to my $250 motherboard.
Image: ASUS Prime X570-Pro User Manual Excerpt Link: Asus Prime X570-Pro User Manual Image: Motherboard System Panel Connection HeadersSee the open issues for a list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the GNU General Public License V3.0. See LICENSE
for more information.
Taylor Jones - [email protected]
Project Link: https://github.com/github/t-jones14/Arduino-Nextion-PC-System-Control-Panel