Jump to content

Peter Gregory

Members
  • Posts

    30
  • Joined

  • Last visited

Everything posted by Peter Gregory

  1. The answer was soldering the left/right/gnd connections directly to the SMD pads and using audio isolation transformers. They eliminated the loud pop when the audio codec kicks in and removed the ground loop causing the amp to draw too much power. The sound is great now.
  2. I finally got a configuration that works. I got a 5v 4amp wall power supply to run the Orange PI PC I connected my amp power to the 2 5v header pins and 2 and pins. I connected the audio jack's L and R & common ground using the SMD pads instead of an audio plug (My plug was stereo and was shorting the video out to audio channels) I put the audio signals through a audio isolation transformer to get rid of the ground loop current and filter out the big pop when the audio codec kicks on That's it! The 4a is strong enough to run the board and the amp without significant voltage drop on high power usage (~200ma draw from amp) The isolation transformers eliminate the ground loop hum and chatter from the board operations. The audio is clean and loud.
  3. Turns out this issue was my audio jack. I think the stereo plug was shorting the video out and audio channels together causing a hot mess. I bypassed the audio jack by soldering my analog audio connections directly to the SMD pads in the audio jack and the sound is great. Now I'm having trouble getting my PAM8403 2x 3W Mini Digital Power Amplifier Board AMP Class D and orange pi pc to work with a single power supply. I can power the pi from a 2a 5v supply and the amp from a separate 1a 5v supply and it works great. No hum or audio problems (I thought it could be louder, but it is not bad). If I attempt to power both devices from a single 3a (or more, I tried up to 5a) 5v supply it does not work. It looks like I have a big ground loop problem with the audio outputs and the power amp. I have some audio isolation transformers on order and I hope that will fix the issue. Once the analog driver kicks on, I get a loudish "pop" from the amp and the 5v voltage dips briefly below the minimum to keep the board running. Even with separate power supplies, I see a lot of ripple and drops from the 5v supply on the amp while playing at higher volumes. I'm not sure if I need to add a low/high filter to keep the low / high frequencies out or if the audio isolation will do the trick. Any advice on getting an external audio amp to work well with this board will be appreciated.
  4. I'm using image Armbian_23.8.3_Orangepizero2_bookworm_current_6.1.53 I'm building a DTS overlay for a SPI Touchscreen and every pin I try to use is showing this error: [ 1.441808] sun50i-h616-pinctrl 300b000.pinctrl: pin PC11 already requested by 5011000.spi; cannot claim for 300b000.pinctrl:75 [ 1.441817] sun50i-h616-pinctrl 300b000.pinctrl: pin-75 (300b000.pinctrl:75) status -22 [ 1.441829] sun6i-spi 5011000.spi: cannot register SPI master I'm trying to configure my touchscreen dts to use the SPI1.0 & SPI1.1. However, the pins exposed on the headers are all allocated for device use under 300b000.pinctrl. How do you allocate header pins for another use? I need 5 pins + SPI1 for the touchscreen to work. My dts /dts-v1/; /plugin/; / { compatible = "allwinner,sun8i-h3"; fragment@0 { target = <&pio>; __overlay__ { spi1_cs1: spi1_cs1 { pins = "PC11"; function = "gpio_out"; output-high; }; opiz_display_pins: opiz_display_pins { pins = "PC9", "PC6", "PC5"; function = "gpio_out"; }; ads7846_pins: ads7846_pins { pins = "PH6"; function = "irq"; }; }; }; fragment@1 { target = <&spi1>; __overlay__ { #address-cells = <1>; #size-cells = <0>; status = "okay"; pinctrl-1 = <&spi1_cs1>; pinctrl-names = "default", "default"; cs-gpios= <0>, <&pio 2 11 0>; /* PH9 PC11 */ opizdisplay: opiz-display@0 { reg = <0>; /* Chip Select 0 */ compatible = "ilitek,ili9341"; spi-max-frequency = <16000000>; status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&opiz_display_pins>; rotate = <90>; bgr = <0>; fps = <10>; buswidth = <8>; dc-gpios = <&pio 2 6 0>; /* PC6 */ reset-gpios = <&pio 2 9 1 >; /* PC9 */ led-gpios=<&pio 2 5 0>; /* PC5 */ debug=<0>; }; ads7846: ads7846@1 { reg = <1>; /* Chip Select 1 */ compatible = "ti,ads7846"; spi-max-frequency = <500000>; status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&ads7846_pins>; interrupt-parent = <&pio>; interrupts = <7 6 2>; /* PH6 IRQ_TYPE_EDGE_FALLING */ pendown-gpio = <&pio 7 6 0>; /* PH6 */ /* driver defaults, optional */ ti,x-min = /bits/ 16 <0>; ti,y-min = /bits/ 16 <0>; ti,x-max = /bits/ 16 <0x0FFF>; ti,y-max = /bits/ 16 <0x0FFF>; ti,pressure-min = /bits/ 16 <0>; ti,pressure-max = /bits/ 16 <0xFFFF>; ti,x-plate-ohms = /bits/ 16 <400>; }; }; }; };
  5. I'm connecting my Orange PI PC 3.5mm jack to this power amp: HiLetgo 5pcs PAM8403 2x 3W Mini Digital Power Amplifier Board AMP Class D 2.5-5V Input If I connect a 5v 2a power supply to the amp and a 3a 5v power supply to the Orange PI PC, it sounds great with no noise form the Orange PI and no distortion from the amp power supply. If I try to run the amp from the 5v pins on the Orange PI PC with the 3amp 5v supply, it will work, but there is a lot of noise from the main board and the amp does not get enough power to run properly. Should 3a be enough to run both these peripherals? I think the power amp will pull about 600ma, not sure what the Orange PI PC will pull. I also want to connect a small 3.3v 2.8 inch LCD display to the board as well. I think I'll need two supplies to make this work with no interference noise unless there is an isolation trick for the amp. I also don't see wall pugs over 3a if I need more power. Any suggestions?
  6. I'm on an Orange PI PC running Armbian_23.08.0-trunk_Orangepipc_bullseye_edge_6.5.1_minimal I've enabled analog audio out the 3.5mm jack using overlays=analog-codec in /boot/armbianEnv.txt I'm connecting the analog 3.5mm jack to a 3watt amp & speakers. It works mostly, but I only get audio on the left channel. Alsa mixer Line Out only allows one channel to be unmuted at a time - left channel or right channel. Left channel sounds pretty good (DAC reversed appears to increase dynamic output). Right channel is very low volume and appears to be "squelched" - is the audio signal reversed from ground or something? Anyway, is there some way to get stereo output working similar to a USB sound card with stereo DAC? I'm currently connecting the left channel to both left/right inputs to my amp and that appears to be working well. Any audiophiles out there get stereo working through the 3.5mm jack?
  7. I'm trying to get a HDMI LCD touchscreen working. The pinout is compatible with Orange PI PC except the SPI CS pin is on pin 26 (WPI 11) instead of pin 24 (WPI 10). Is there an easy way to move the SPI CS pin to another GPIO pin? Also, I'm not sure how to properly configure the pen down interrupt pin for pin 22 (WPI 6) So far, I've got the following working: Image: Orangepipc_2.0.8_debian_buster_desktop_linux5.4.65.7z Touchscreen: 3.5 Inch HD HDMI USB LCD Touch Screen 3.5" Display Module 480×320 1920x1080 for Raspberry Pi 3rd 4th Generation 4B/3B+/3B/2B orangepiEnv.txt: overlays=spi-add-cs1 spi-spidev param_spidev_spi_bus=0 param_spidev_spi_cs=0 Luckily, the kernel headers are loaded, so Makefile works. mkdir ds7846 cd ds7846 wget https://sourceforge.net/p/openipmi/linux-ipmi/ci/master/tree/drivers/input/touchscreen/ads7846.c?format=raw mv ads7846.c?format=raw ads7846.c nano Makefile: obj-m := ads7846.o KDIR := /lib/modules/$(shell uname -r)/build PWD := $(shell pwd) all: $(MAKE) -C $(KDIR) M=$(PWD) modules clean: $(MAKE) -C $(KDIR) M=$(PWD) clean install: $(MAKE) -C $(KDIR) M=$(PWD) modules_install make make install depmod cd .. git clone https://github.com/notro/fbtft_tools/ cd fbtft_tools/ads7846_device make make install depmod cd .. sudo nano /etc/modules-load.d/99-ads7846.conf ads7846 ads7846_device sudo nano /etc/modprobe.d/ads7846_device.conf options ads7846_device model=7846 verbose=2 cs=0 gpio_pendown=1 keep_vref_on=1 swap_xy=1 pressure_max=255 x_plate_ohms=60 x_min=200 x_max=3900 y_min=200 y_max=3900 after reboot, the SPI device is there and the touch driver attaches to the port. [ 7.124454] ads7846_device: loading out-of-tree module taints kernel. [ 7.125336] ads7846_device: ads7846_device_init() [ 7.125343] ads7846_device: SPI devices registered: [ 7.125354] ads7846_device: spidev spi0.0 1000kHz 8 bits mode=0x00 [ 7.125357] ads7846_device: [ 7.125366] ads7846_device: Settings: [ 7.125369] ads7846_device: model = 7846 [ 7.125372] ads7846_device: gpio_pendown = 1 [ 7.125375] ads7846_device: swap_xy = 1 [ 7.125378] ads7846_device: x_min = 200 [ 7.125380] ads7846_device: x_max = 3900 [ 7.125383] ads7846_device: y_min = 200 [ 7.125386] ads7846_device: y_max = 3900 [ 7.125388] ads7846_device: x_plate_ohms = 60 [ 7.125391] ads7846_device: pressure_min = 0 [ 7.125393] ads7846_device: pressure_max = 255 [ 7.125396] ads7846_device: keep_vref_on = 1 [ 7.125398] ads7846_device: vref_delay_usecs = 0 [ 7.125401] ads7846_device: vref_mv = 0 [ 7.125403] ads7846_device: settle_delay_usecs = 0 [ 7.125406] ads7846_device: penirq_recheck_delay_usecs = 0 [ 7.125409] ads7846_device: y_plate_ohms = 0 [ 7.125411] ads7846_device: debounce_max = 0 [ 7.125414] ads7846_device: debounce_tol = 0 [ 7.125416] ads7846_device: debounce_rep = 0 [ 7.125425] ads7846_device: Deleting spi0.0 [ 7.126442] ads7846 spi0.0: spi0.0 supply vcc not found, using dummy regulator [ 7.144047] ads7846 spi0.0: touchscreen, irq 65 [ 7.144980] input: ADS7846 Touchscreen as /devices/platform/soc/1c68000.spi/spi_master/spi0/spi0.0/input/input1 [ 7.145055] ads7846_device: SPI devices registered: [ 7.145063] ads7846_device: ads7846 spi0.0 2000kHz 8 bits mode=0x00 [ 7.145066] ads7846_device: Of course, no touch events are detected. Anyone else have any luck getting this to work? I'm not familiar with changing the device tee to move GPIO pins, is there a configuration option for the spi_add_cs1?
  8. I got my 320x240 ILI9341 touchscreen to work with the image from the OrangePI site: Armbian_23.5.2_Orangepizero2_bookworm_legacy_4.9.318_minimal The display is one I bought from Amazon Hosyond 2.8 Inches TFT LCD Touch Screen Shield Display Module 320x240 SPI Serial ILI9341 with Touch Pen Compatible with Arduino R3/Mega2560 Development Board This document was very helpful getting the display set up on the OPZero 2: https://tienda.tettsa.gt/wp-content/uploads/2022/08/OrangePi_Zero2_H616_User-manual_v3.7.pdf I still don't have the touch part working. If anyone has success getting 2 selects working with SPI1 on OPZero2 and touch working, let me know. The basic steps to getting the SPI LCD to work are: 1) wire up the display to the OPZero2 2.8 Inch TFT SPI 240x320 => OPZero2 1 - VCC => (1) 3.3v 2 - GND => (6) Gnd 3 - CS => (24) Spi1 CS 4 - RESET => (7) GPIO 6 5 - DC => (11) GPIO 1 6 - SDI (MOSI) => (19) Spi1 MOSI 7 - SCLK => (23) Spi1 CLK 8 - LED => (13) GPIO 0 9 - SDO (MISO) => (21) Spi1 MISO 10 - T_CLK 11 - T_CS 12 - T_DIN 13 - T_DO 14 - T_IRQ 2) Install Armbian_23.5.2_Orangepizero2_bookworm_legacy_4.9.318_minimal - must be legacy kernel to work 4.9 is OK 3) sudo apt install fbi kbd armbian-config 4) sudo armbian-config set up desktop now to make the LCD work and start on boot 5) sudo nano /boot/armbianEnv.txt overlays=spi-spidev param_spidev_spi_bus=1 param_spidev_spi_cs=1 extraargs=fbcon=map:1 6) sudo nano /etc/modules-load.d/fbtft.conf fbtft fbtft_device 7) sudo nano etc/modprobe.d/fbtft.conf options fbtft_device custom name=fb_ili9341 gpios=dc:70,reset:73,led:69 speed=16000000 busnum=1 cs=1 bgr=1 txtbuflen-32768 fps=10 rotate=90 😎 sudo dpkg-reconfigure console-setup select UTF-8 select Guess optimal character set select terminus select 6/12 9) sudo nano /usr/share/X11/xorg.conf.d/99-fbdev.conf Section "Device" Identifier "myfb" Driver "fbdev" Option "fbdev" "/dev/fb1" EndSection Now when it boots it should boot to the SPI LCD Display
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines