/Arduino-Nextion-PC-System-Control-Panel

An external PC system control panel built with Arduino Nano and Nextion Display

Primary LanguageC++GNU General Public License v3.0GPL-3.0

Contributors Forks Stargazers Issues MIT License

Logo

Arduino & Nextion PC System Control Panel



An external PC system control panel built with Arduino Nano and Nextion Display
Explore the docs »
Report Bug »
Request Feature »


About The Project

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.

Finished Project

Built With

  • Arduino Nano V3.0 (Elegoo Nano V3.0+) w/ ATmega328P: Amazon
  • Nextion Enhanced 3.5" HMI Resistive Touchscreen: Amazon

Getting Started

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.

Here's What You Will Need

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
  • Arduino IDE: Link
  • Nextion Editor: Link
  • A motherboard with front-panel system control headers for a powerswitch, reset switch, +5V & Ground connection

Wiring Schematic

A Few Notes Regarding the Schematic

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. J1 are male headers for connection to the Nextion display.
  6. J2 are male headers for the wiring from the motherboard front-panel system control headers.
  7. 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.

Image: Wiring Schematic

For the Fritzing file click here.

Breadboard Prototype / Bench Test

Image: Breadboard Prototype

Image: Final PCB Prototype

Motherboard Wiring

Please 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 Headers

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

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.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the GNU General Public License V3.0. See LICENSE for more information.

Contact

Taylor Jones - taylor@nexgendms.com

Project Link: https://github.com/github/t-jones14/Arduino-Nextion-PC-System-Control-Panel

Acknowledgements