Skip to content

jerwaynejones/Custom-Auto-Sound-Board

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Customizable Car Sound Board / Horn Controller

Work in Progress

This project implements a multimedia controller. I'm using it in the Nissan Armada, so the 3d models are for that. Accomplished using an Arduino Uno R3 Mega. It features a round 1.28" LCD display with touch capabilities, SD card storage for images and audio, and a PA horn speaker for high-quality audio playback. The device displays BMP images stored in numeric directories on the SD card and plays corresponding WAV files triggered by touch events.

Features

  • Image Display: Renders 24-bit BMP images on a 240×240 round LCD.
  • Touch Navigation: Supports tap gestures for audio playback and swipe gestures for browsing image directories.
  • Audio Playback: Plays WAV audio files via the TMRpcm library.
  • Multi-directory Support: Reads from multiple numeric directories on an SD card.
  • Custom Housing: Includes a parametric 3D model for a custom housing design, specifically made for integration into the Nissan Armada.

Components List

Estimated cost: $100 - 150

  • ELEGOO MEGA R3 Board ATmega 2560
  • AITRIP 3A Mini DC-DC Buck Step Down Converter Board Module
  • Waveshare 1.28inch Round LCD Display Module with Touch Panel
    Resolution: 240×240, IPS, supports SPI and I2C Communication
  • HiLetgo Micro SD TF Card Adapter Reader Module
  • ZK-1002T 12V 2A Audio Amplifier Board
    12V 2A Audio Amplifier Board with 3.5mm Audio Jack
  • Pyle Indoor/Outdoor PA Horn Speaker
    8” Portable PA Speaker with 8 Ohms Impedance & 65 Watts Peak Power

Hardware Setup

  1. Assemble the Components:
    Connect the LCD display, SD card adapter, touch panel, audio components, and power module to the ELEGOO MEGA R3 board as specified below.

  2. Interconnect Devices:

    • SD Card Reader
    • LCD Display & Touch Panel
    • Audio Output
  3. Power Supply:
    The Arduino is powered via the barrel jack (9V input), which is stepped down by the buck adapter (12V → 9V) to meet the system requirements.

Hardware Wiring & Pin Mapping

The following tables outline the signal connections between the Arduino Mega, the external modules, and any required pull-up resistors or notes.

LCD Module

Signal Arduino Mega Pin External Module Pin Pull-Up / Notes
LCD_CS 10 LCD CS 10 kΩ resistor to 5 V
LCD_D/C 7 LCD D/C or RS Control pin for data/command select
LCD_RST 8 LCD RST Reset pin (active low)
LCD_MOSI 51 (Hardware MOSI) LCD MOSI Shared SPI bus output from Arduino
LCD_MISO 50 (Hardware MISO) LCD MISO (if used) Shared SPI bus input (optional)
LCD_SCK 52 (Hardware SCK) LCD SCK Shared SPI clock
LCD_BL 9 LCD Backlight Can be tied to 5 V or used with PWM
LCD_VCC 5 V VCC (LCD power) Power for LCD module (check datasheet)
LCD_GND GND GND Common ground

SD Module

Signal Arduino Mega Pin External Module Pin Pull-Up / Notes
SD_CS 2 SD Module CS 10 kΩ resistor to 3.3 V
SD_MOSI 51 (Hardware MOSI) SD Module MOSI Shared SPI bus output from Arduino
SD_MISO 50 (Hardware MISO) SD Module MISO Shared SPI bus input from Arduino
SD_SCK 52 (Hardware SCK) SD Module SCK Shared SPI clock
SD_VCC 3.3 V VCC (SD power) Power for SD module
SD_GND GND GND Common ground

Touch Panel Module

Signal Arduino Mega Pin External Module Pin Pull-Up / Notes
TP_SDA 20 TP SDA I2C data line
TP_SCL 21 TP SCL I2C clock line
TP_INT 3 TP INT Touch interrupt signal
TP_RST 4 TP RST Touch panel reset signal

Power & Audio

Signal Arduino/Source External Module / Note
Arduino Barrel Jack 12V Supply Supplied via buck adapter
Buck Adapter 12V to 9V conversion Provides regulated voltage for the system
Speaker / Audio 6 Speaker / Amp In (via 10Ω resistor); Speaker GND connected as noted
Speaker/Amp VCC 12V Main Supply Amplifier VCC (using the ZK-1002T)
Speaker/Amp GND From Supply Amplifier GND – common ground

Key Points

  • SPI Bus Sharing:

    • MOSI (51), MISO (50), and SCK (52) are shared between the LCD module and the SD card module.
    • Each device’s CS line (LCD_CS and SD_CS) has its own pull-up resistor and must be driven low for active SPI communication.
  • Pull-Up Resistors:

    • LCD_CS: 10 kΩ resistor to 5 V
    • SD_CS: 10 kΩ resistor to 3.3 V

Software Installation

  1. Install the Arduino IDE:
    Ensure you have the latest version of the Arduino IDE installed. You can download it from the official Arduino website. Otherwise use you favorite IDE. I use CLion with PlatformIO plugin.

  2. Upload the Code:
    Open the provided source file in the IDE, compile, and upload it to your ELEGOO MEGA R3 board.

File Structure on SD Card

Ensure that your Micro SD card has the following file organization: I have included a sample directory structure in the SD_CARD_FILES folder.

  • Create numerical directories (e.g., /1, /2, etc.). As you add more, the additional sound boards will be available without changing the code.
  • Within each directory, include:
    • u.bmp – The BMP image file to display.
      • The BMP files need to be 240 x 240 pixels in size. And 24-bit BMP format. You can accomplish this conversion easily in Windows using Paint.
    • Audio files named A.WAV, B.WAV, C.WAV, and D.WAV corresponding to different touch regions.
      • The Wave files should be mixed down to mono and saved at 16kHz sample rate in 8-bit Unsigned format. I was able to easily make the conversion using Audacity.

Operation

  1. Power On:
    Once all components are connected and the code is uploaded, power on the system.

  2. Display Initialization:
    The device initializes the LCD, SD card, and touch panel, then displays the BMP image from the active directory.

  3. Touch Interaction:

    • Tap: Trigger audio playback by tapping outside the central "dead zone" on the screen.
    • Swipe: Swipe vertically to navigate between different image directories.

3D Model for Housing

A parametric 3D model for the custom housing designed for the 2023 Nissan Armada is included in this repository. I have included STEP and STL files for easy use. You can find the model in the 3D-Models folder.

Contributing

Contributions, feedback, and improvements are welcome. Please feel free to open issues or submit pull requests.

License

This project is open source and available under the MIT License.


Note: This project is a work in progress. Future updates may include additional features, refinements to the wiring diagrams, and code improvements.

About

Sound board with UI designed to be placed in a car. Existing 3d model is for the 2023 Nissan Armada Console.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors