IOT: Wifi controlled Audio tone control

Internet of things is becoming a thing these days. Internet connected gadgets and appliance are becoming more common these days. The advantage is very obvious: you can control these devices using your smartphone with internet browser, specially made apps or with voice command using google assistant. One of the goal of this project is to create a tone control with bass, mid, treble and source selector that can be controlled via smartphone or laptop with an internet browser. You can also develop an app for this but I haven’t have time to do so.

About the Circuit

The heart of the circuit is the NODEMCU – a wifi module that can be programmed using arduino IDE. If you are already familiar with arduino then this can be easy for you. It is connected to a 1.44 inch tft lcd with ILI9163 driver. The preamp is based on TDA7419, this is a digitally controlled tone control via I2C. This features bass, mid, and treble controls with adjustable frequency. This also has a 7 band spectrum analyzer which is better than using an FFT on arduino. This makes it easier for the programming since you only need to read an analog pin directly rather than doing the FFT calculations on arduino which is a bit of a headache to do.

The TDA7419 is powered with 8V so an 8V regulator 7808 is needed. It is also used to power the Nodemcu for wider operating voltage (most nodemcu can only operate up to 10V only). 7808 regulator can operate up to 35V input voltage. You can also use any regulator as long as it has 8V output and a sufficient output current.

As you can see on the schematic, there is only 1 left GPIO on the nodemcu which is the D3. There is still GPIO9 and GPIO10 but many claims that they are not usable and are not recommended to use. This is the reason why I am not continuing this project with this kind of display. By using an I2C display, I can free up 5 GPIO’s that can be used for buttons.

About the Software

The software is developed using arduino IDE. Note that this is not very well developed, there are many rooms for improvement. I won’t be improving this software further because I decided to replace the display with an OLED I2C desplay. The reason is that the ILI9163 TFT display needs more GPIO and nodemcu has very limited GPIO. Using an I2C display will free up GPIO for other functions.

The device will not start the initialization of the TDA7419 without a wifi connection. Once it established a wifi connection, it will then go to initialization on the system. That is how I designed it, because it was just a quick programming for proof of concept only. Like what I said –  there are many room for improvements here. I just posted this project for those who want to have a quick start. For the next version of this project I will be using an OLED display to be able to use the 5 GPIO for buttons and other functions.

Prototype

For the prototype, I used LM317 instead of the 7808 voltage regulator, because that’s what is readily available on my stocks. 🙂


demo: working. (Note: I accidentally cracked the LCD 🙁 )

The IP address is displayed on the LCD. This is entered on your web browser to access the controls. Take note that you have to connect on same wifi to be able to access the device.

Controlling with web browser

This is a simple webpage I made which can be improved further. The basic functions are there so you can use it as is if you prefer. There are many rooms for improvement here.

Downloads

You can download the source code on the download page

Arduino Controlled Bass Mid Treble and input selector

My LC75341 project was a bit of a disappointment. It was working ok but it only offers bass and treble controls. The frequency response is not that good. It has very limited controls. I decided to stop that project because it is not what I am looking for. Now after lots of research, I stumble upon this digitally controlled bass mid treble IC from ST. What is great is that it has 7 band spectrum analyzer feature and a differential input. Plus it also has Q and frequency control and a subwoofer output. This is almost exactly what I want to do.

Continue reading “Arduino Controlled Bass Mid Treble and input selector”

Passive tone control circuit

If you are looking for a passive tone control for bass and treble control, here’s a simple one. Take note that because it is a passive circuit, it has no capability to boost signal. This circuit can only be used for high level source like car stereo speaker output. For headphone output, you may need to change some resistor values to decrease the attenuation of the signal. This will also modify the response of the circuit.

Continue reading “Passive tone control circuit”

Passive Bass and Treble Booster

In most cases, we love to set the bass and treble setting to maximum when listening to music. This gives us a nice sound with bass and treble turned up. Here’s a simple circuit than can be placed at the input of your amplifier to boost the bass and treble. Keep in mind that this circuit is passive, meaning you can’t really boost signal using a passives circuit.

Continue reading “Passive Bass and Treble Booster”

Stereo Tone Control using transistor

Last time I posted about a tone control project using tone control here: simple-tone-control-design/

But that project is only a mono one and you must build 2 to have an stereo channel. So I made a simple PCB design for those who want to build the stereo version. For more information please click on the link above. It is basically the same.

 

The PCB design is made using Eagle PCB as usual and using a single layer PCB

Download:



Download page

Arduino Controlled Bass Treble Volume and input Selector

Last time I have posted about how to control the LC75341 IC using arduino nano. And I also posted about how to modify the bass response of the LC75341 IC. This time I will be building a home amplifier for my TV, it will also feature a bluetooth reciever so that I can play via my phone.

Continue reading “Arduino Controlled Bass Treble Volume and input Selector”

LC75341 Bass response modifications

Last time I have a blog post regarding on how to control the LC75341 tone control using arduino. I never really tested the performance of that IC until recently I got time to play with it. My initial impression was not good. The bass sound seems very thin and I can’t get the “boomy bass” sound that I wanted. Maybe its just me but the bass sound is thin compared to my little JBL flip bluetooth speaker. By the the way, the kit was from E-Gizmo’s digitally controlled tone control. I have investigated and model the circuit of the LC75341 tone control for simulation and the simulation results confirm what I am hearing.

Continue reading “LC75341 Bass response modifications”

5 Band Equalizer Design

Here is a relatively simple 5 band equalizer that uses an IC LA3600 especially made for 5 band equalizer application. It has a relatively simple circuit that is easy for PCB layout. LA3600 make it easy to build your own 5 band equalizer with relatively few components. It will also be easier to design a single PCB since it only have very few components.

Continue reading “5 Band Equalizer Design”

3 band tone control design

The tone control i posted last time was simple with only bass and treble control. it is also a mono circuit, you need to build two pcb to make it stereo. Now let’s build a little more complicated, a stereo tone control with mid control. If you haven’t tried building any PCB, I suggest try first the more simple tone control circuit. I will also include the simulation file just in case you want to change the response of the circuit.

Continue reading “3 band tone control design”