- 2*50 W digital amplifier board TPA3116D2 (two-channel)
- Arduino nano
- 7V-24V To 5V 3A Power Module DC-DC 5V USB Output
- 6 normal buttons (retain state when pressed)
- 1 power button
- 6 potentiometers (One used to control the volume and connected to the amplifier, other one is used for changing the FM band)
- 5 tri-state switch (one tri-state switch requires three gpio pins)
- 6 Cassette recorder buttons
- WiFi on/off
- Bluetooth on/off
- Audio filters using a tri-state switch: disabled, echo, hall, room.
- Potentiometer of FM band => playlists / radio streams.
- USB to serial from chip for debugging access.
- Treble & Bass potentiometer
Equalizer support using ALSA:
apt install libasound2-plugin-equal
And configuring an asound.conf using the following link. https://wiki.archlinux.org/index.php/Advanced_Linux_Sound_Architecture#System-wide_equalizer
Installed one SN74HC165N shift register to be able to hook up most of the buttons :). See the following ASCII diagram for the shift register pin and function.
+ + + + + + + + + | | | | | | | | | +-+-+ +-+-+ +-+-+ +-+-+ +-+-+ +-+-+ +-+-+ +-+-+ +-+-+ | | | | | | | | | | | | | | | | | | | | | | | | |Pot| |Pot| |Pot| |Pot| | | |Two| | | | | | | | | | | | | | | | | |St.| +---+ +---+ +---+ +---+ +---+ +---+ +---+ +---+ +---+ Front HIGH Pin 7 HIGH HIGH Middle Pin 4 Pin 6 PIN 1 Pin 3 Back Pin 5 HIGH PIN 2
I've cleared a lot of the second PCB, removed resistors, caps etc. Removed overall loose wiring. Created a custom JHT connector for the C.H.I.P.'s UART pins, the outside of the radio will have an usb plug (mini, micro?) so I can debug the C.H.I.P. without opening the case!
Amplifier, 7-40V DC DC to USB converter and arduino board have been screwed down on top of the old PCB. Speakers cable have been hooked up and a power brick has been installed with a new schuko (c13) plug in the side of the radio.
Potentiometers are hooked up to the Arduino, three buttons have been soldered.
Stripped the main board of all transistors and other electronic components except the switches and potentiometers.
One tri-state switch has been connected, I will use two GPIO pins to detect in which state the switch (up, middle, down) is to save GPIO pins.
Possible layout of the ARM board, arduino and amplifier.
Wago's are used on the other side for the ground / power to avoid cable clutter mess :)
- Blue cable => potentiometer
- Black => Ground
- Red => 5V
Arduino nano will be used for digital gpio and analog input, data send over serial to the ARM board. Which will in software control bass, treble, switches for pause, play, stop.
Treble, Bass mixing in software
Pulseaudio with LADSPA plugin? http://plugin.org.uk/ http://plugin.org.uk/ladspa-swh/docs/ladspa-swh.html
- Battery powered / charging integrated
- Jack in for phones
- bluetooth audio
- display now playing track
- USB connector (outside) to C.H.I.P. UART
- New speakers