ESP32S: combined ES9038Q2M web-/BT control / filter+source-settings + HW-volume

so, 😉
in reading my (this) own blog, its really lately almost the same/repeating 😉 ..
but anyway, its a „blog“ and so today an update of this ES9038Q2M web-/BT-control..
i included now the complete „Bluetooth-control/block“ in the ESP32s-sketch..
by that i´ve included a NTP-time server function in the sketch/on the GUI..

i´ll post the sketch also in the forum->LINK, and i´ve learned a lot about the ESP32S, the usable (and which) GPIOs, setup different hardware.serials and so on..
its still a little bit difficult to get some really useful information/sketches for the ESP32S, so i post the sketch there too and maybe someone will find something useful information in it..(+general thoughts/hints)
the web-control GUI itself is now with the HW (Digi-Poti MCP4131)-control in max/min, 10,4 and 1 steps..(max/min,+10/-10,+4/-4,+1/-1)..(the „slider“(HW-volume)-function is in progress 😉 )
also the filter control is still working..

(the layout/fonts on the Mega2560 based 3.5″ display is btw. absolutely horrible and really shitty, cause i must use the „normal“ Adadruit.gfx-library with a super shitty command-set..before (with the other 2.8″ display i could use the „UTFT„-library->much much better/absolutely more comfortable+better looking)
greets for now and more to come 😉

ES9038Q2M: HW-Volume Control MCP4131+Arduino Uno (sketch)..

so, 😉
at waiting for my 2 AD797s i just finished my long planned „ES9038Q2M-HW-volume control“ via some MCP4131+ an Arduino..
i originally wanted it to „combine/implement“ it with my „ES9038Q2M-filter-web-control“ on an ESP32S but there i have to first find out the right SPI-software/libraries and the pinouts; so not at present..
i took an Arduino Uno, one BT-Modul (HC-06), a 1602LCD and as said this MCP4131-digi-poti (1$ Ebay/Aliexpress)..

first post about it is here->http://essabre-90xx-rpi.sfb2.com/2018/02/es9038q2m-project-2-building-a-bt-controlled-hw-volume-control-digital-pot-10kohm-mcp4131/ and i used this very helpful article about controlling the MCP4131 via SPI from here:->http://www.learningaboutelectronics.com/Articles/MCP4131-digital-potentiometer-circuit.php





this mcp4131 has 128 steps and the usable „range“ on this ES9038Q2M is about 64-128; as also posted by someone else before, only after 50% you can hear any difference..
the sketch (via BT as said now) is „full-up“ (+128), „full-down“ (+85), and in 4 point steps (+4 and -4) example: 124,120 and so on and in 1 point steps(+1,-1)..
the „main“-point in the sketch is this:

int digitalPotWrite(int value)
{
digitalWrite(CS, LOW);
SPI.transfer(address);
SPI.transfer(value);
digitalWrite(CS, HIGH);
}

(its after the loop and u call the function simply with: „digitalPotWrite(i);“; where „i“ is the value (from 0-128))

Link (sketch) here + at the forum;

works here all very well and so u have another choice to adjust the volume (i use Volumio here without any software-mixer and therefore on 100% volume) than only via your amplifier and so u have some „finer“ adjustments..
nice thing (but as said, i will try to „pair“ it with my ESP32S-web-filter-control in future..),
many greets for now 😉

ES9038Q2M: I2C-connection/TFTLCD-displays SDA/SCL

so, 😉
came by chance about this „new feature“; had read about it but forgot it; its from this forum->http://audiodiyers.hu/viewtopic.php?f=48&t=3615&sid=3d4bd2f2c89af6709dfbbe53ec0a9ee3&start=50#p74779
means we can expect a „panel“ (over I2C !!) for it->“..the backpanel was developed by the end of february..“(VR1.06)
and there were several panel/options via I2C->not only 16*2, also 128*64, 320*240 and so on !! 😉

 

 

https://freematics.com/pages/products/tft-lcd-shield-3-2/

try at present to test out some libraries for this..

DIY: First tests 2.6″ TFTLCD (320*240) Arduino UTFT-library..

so, 😉
see above..absolutely „low“ 😉 , but as test->UTFT-font is: „GroteskBold32X64“->http://www.rinkydinkelectronics.com/r_fonts.php

„wait,wait,wait..but for what ?“ 😉

(i will try to use some bitmaps/icons in future (like in the hifi-duino-project) but at present its really difficult for me to „include“ them/set them up in the sketch, also because of the very low ram-resources on an arduino (on a NodeMCU v3 for example u have up to 32MB flash and not max 256kb!! like on an Arduino (Mega2560))-there are some ways to optimize it, but for now i´m glad to got it to work at all 😉 )

DIY: Relay-controlled source-/filter selection ES9038Q2M (Arduino)

so, 😉
because i´m really stupid and really don´t know how to accomplish a „jumper-substitution“ and after reading in some Arduino-forums, i came to the idea of buying some relay and try to realise it via this way..

(Update:profd“ from the forum told „us“ to use digi high or low + a logic level converter instead;->LINK)
These relays are cheap, around 2€ or so, u can buy it as 1,2,4,8 and so on..they are really easy to connect/addressable..


(remark: the 3 wires on the right are for the 10k poti (and then in future for the digi-poti of course))

u connect the GND and + from JP1 on the ES9038Q2M to COM (GND) and NO (+) and thats it..(i first connected it to the NC (normally closed) but that means, if u shut the Arduino down, then the circuit is (normally-)“closed“, means jumper set..

the relay itself is easy connected; GND from the Arduino to the GND and Power (5V+) from the Arduino to the VCC-pin (the jumper JD-VCC etc.. is another story, only remove and connect it to an external power source if u want to separate the Arduino-circuit completely from the relais circuit).
IN1,IN2 etc. is connected to a pin of your choice/assignment made in the sketch like this:
//relais
#define RELAY1 8
#define RELAY2 12
#define RELAY3 6
#define RELAY4 7
(i will post the modified sketch in the forum->LINK)
so, and now i can control/set the source via the BT (via our sketch), means for example „c“ for coaxial, „o“ for optical, „i“ for I2S and so on..

if (a==’c‘)
{
BT.println(„Source: coaxial“);
digitalWrite(RELAY2,HIGH); //R2 OFF
delay(50);
digitalWrite(RELAY1,LOW); //R1 ON
..
lcd.print(„Source: coaxial“);

}

i, u, can also use this now to set the different-filter-types, as for example JP3=set and JP4=set ->“slow minimum roll off filter“)..(will also maybe make a modified sketch for this future..)..
so, and really funny/cool 😉 is that these relays really make a „clack“-noise, everytime u adress it, for example i choose „c“=coaxial it makes „clack“ and it changes to coaxial..


really „Hi-Fi“ 😉

(forum-link->LINK)

DIY: 2.6″ TFT-LCD (320*240) SPI ARDUINO MEGA 2560 *MCUFRIEND* (Part2) **works**

so, 😉
got the above mentioned 2.6″ tftlcd finally to work !! 😉

(3,40€->https://de.aliexpress.com/item/LCD-module-TFT-2-6-inch-TFT-LCD-screen-for-Arduino-Mega2560-R3-Board/32716341280.html)

see this (Part1)->http://essabre-90xx-rpi.sfb2.com/2017/11/2-6-tft-lcd-320240-spi-arduino-mega-2560-mcufriend/
and this new post in the forum->http://essabre-90xx-rpi.sfb2.com/forum/showthread.php?tid=29
the „breakthrough“ was via this site->http://forum.cxem.net/index.php?/topic/197765-26-inch-tftlcd-for-arduino-mega-2560-unknoun-driver/
(i got the chip/controller ID:“0x0404„)
and this very,very important,modified library->http://www.sfb2.com/pics/UTFT_for_ST7781.rar

(more, full article/post/tut in the forum)

1 2 3