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..
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:
#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
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“ 😉


ES9038Q2M: „Project 2“->building a BT-controlled HW-Volume-control (digital pot 10kOhm) MCP4131

so, 😉
because its a little bit silent around here lately, we still don´t know if the „Blue“ ES9038Q2M has a „shitty“ pcb and the „green“-ones sounds better, i have still buffer/“lock“-problems in windows using the V4.36 Singxer-driver on the Skysong-XMOS-USB in sample rates above 16/44 i wanted to use the onboard-HW-volume control, to which u can connect a normal 10kOhm-potentiometer (see pictures) easy..


i tested it here, and it works far not so good as expected and i guess u have a very small range of about 20% or so (in my feel) too..
i thought i could easy use the Arduino with analogwrite () and connect one pin to the middle of the onboard-3 pin but what i´ve read so far is that the Arduino can only send out PWM-signals so u need an external digital potentiometer (thats what i´ve read so far, don´t know if its true) and control it via the (in this case) SPI-bus/protocol..
for this u can buy a cheap MCP, in this case a MCP4131 of around 0,89€ and a Dip-8 socket (0,51€) etc.,etc..(more to come..)

(very good tutorial for this right now:

i will post here any „improvements“ (and (maybe) a full tut) asap..!! 😉

„Project 1“->Cambridge Audio Azur 540A IR/BT-Remote DIY – *Works* !! ;-)

so, 😉
after i´ve got my „Arduino Mega 2560 R3“->on sale 11,99€ Amazon->LINK a few days ago, i just wanted to revive my „Project 1“ Cambridge Audio Azur A540 Remote via a „Bluepill“ (STM32F103C8T6) or an Arduino; original post here->

I´ve ordered an Arduino because this Bluepill/STM32-programming via the Arduino IDE is still very complicated at present imo, because there were nowhere really clear,simple instructions and libraries (pin assignments and so on)..(more maybe later)..
so i´ve decided to „fall back“ on this original Arduino-thing, hoped it would be easier at first for me..
long story short: (I´ve made a really long TuT over at the forum->
because i didnt know how to send and receive IR-signals (simultaneously) and which pins i then i have to/use edit in the boarddefs.h (Arduino IRremote-library) i switched over to my HC-06 Bluetooth-Modul….
etc..etc 😉
Full story (as said) here->

and now it works here absolute fantastic !!! 😉

DIY-DAC: Display Audio-params->already there->HiFiDuino-TFT../too complicated at present..

so, 😉
after listening for days through this super phenomenal Skysong-XMOS-USB-ES9018K2M-Combo (a really hifi-upgrade by 10-15%) i came back to my STM32F103-„Bluepill“/Arduino project to build your own DAC/display audio-parameter (Input,sample-frequency and so on)..
and i knew there was already such a project and it was !!!!
its the HiFi-Duino-TFT-Project on !!! (based on the famous/original HiFi-Duino-project/code; is well known)
and here->Universal USB to I2S Interface Indicator->

after reading the documentation about it, our „F0,F1,F2,F3,DSD-on etc“-schematics became a really new sense->they were already used by this above mentioned code for example and also in conjunction with the Anamero-Combo-boards..look here->

the code looks like this->
// —————————- Amanero ——————————————————————————
#ifdef Amanero
* I1 = F0
* I2 = F1
* I3 = F2
* I4 = F3
* I5 = DSD_ON
* I6 = DSD 64 or 128
// Check for PCM or DSD
if (digitalRead(I5) == false) // PCM detected
type = 0;
if (digitalRead(I1) == false && digitalRead(I2) == false && digitalRead(I3) == false && digitalRead(I4) == false)
SR = 32;
else if (digitalRead(I1) == true && digitalRead(I2) == false && digitalRead(I3) == true && digitalRead(I4) == false)
SR = 176.4;
else if (digitalRead(I1) == true && digitalRead(I2) == true && digitalRead(I3) == true && digitalRead(I4) == false)
SR = 352.8;
else if (digitalRead(I1) == false && digitalRead(I2) == false && digitalRead(I3) == false && digitalRead(I4) == true)
SR = 384;

and so on !! burner 😉  ..
you can get the sketch here->Link or via the forum (; i will upload it there later too..
so to see, the absolute breakthrough i would say 😉
but this are only „teaser“; for me its absolute to complicated right now/at present and i don´t know if i continue to „walk on this way“/have the time for it in the near future but for introduction..
greets for now 😉

Programming-Subkurs I: IR-Receiver -> Raspberry Pi / + „Project 1“: Cambridge Audio Azur 540A Remote

because this site is all about „Building your own DIY-DAC“ 😉 (and audio in general) i just new invented a new category: Programming (Rpi+STM32) + „Projects“-> in this case „Project 1 – building your own Cambridge Audio Azur 540A Remote“ 😉
okay, got a wonderful IR-Receiver+Remote-Set (HX1838) from Aliexpress today->0,78€ !! (inkl.shipping)->Link

and have here at home an „Cambridge Audio Azur 540A“ – Amplifier..

(really good sound (more maybe later), got almost everyday better 😉 )
but with a really horrible, horrible IR-Remote->i have to point to from 1cm away 😉 ), so i thought i build an own ir-modul (receiver and transmitter) with this DIY-things and a STM32F103C8T6 „Bluepill“..
long story short: tried to setup LIRC on a RPI according to this TUT->
bu there was no output in the console..googled a lot and the solution is->“LIRC not working on Raspbian Stretch Raspberry Pi“->
„## 0.9.4 disruptive update
The configuration is so much changed that updating from 0.9.0 requires
manual intervention. This could be done using the update scripts or as
a completely manual process. Many users will always need some manual steps“
from here->
another thing is, its not a .sh file (as wrongly described) , but a python one, so->“sudo python3 lirc-old2new„..
(now it works..)
(more to come..)

Update DIY: STM32F103C8T6 („BLUE PILL“) + ST Link V2

got yesterday my STM32F103C8T6 (earlier post)->diy-stm32f103c8t6-blue-pill-oled-tft-display/
1,55€ (inkl.shipping)->Aliexpress -> Link
first->its smaller than i expected (see 2.picture) and its very „friggling“..

i thought, no problem, i use my Pi, wire it up like in some Youtube-Videos, use the Arduino IDE and begin to upload a sketch etc..
but:Wasn´t“ ; ) always a „STM32flash -> „Device init failed
(use btw. first my USB-serial adapter with RX,TX and ground->Arduino said:“Device not recognized“)..
googled through a thousand STM32-Arduino-forum/threads, millions of hours, and the final conclusion is:

Buy a ST-Link V2 !! -> 1,68€ Aliexpress -> Link

directly from the beginning (with a STM32F103C8T6)->strongly adviced/recommended from my side here too !! 😉
(hope this will do the trick !! (toi,toi,toi->german phrase)) 😉

DSD-LED (+Volume and FIR-Buttons) on these ES9028Q2M-Boards..(DIY)

because here is so much feedback/and website-views on this ES9028Q2M i thought i write  something about it again..
after thinking about programming this STM 8S103F3 MCU on the board (and see some Arduino IDE tuturials to become a LED blinking par example->—v32/experiment-1-blinking-an-led , super nice a MUST to watch !! 😉 ) and examining the layout i see that there are also these „Vol+“,“Vol-„, „Delay“ (means filter-settings (FIRs) i think) and the „DSD“ + „PCM“ holes for Diodes/LEDs..


so i think u need only an LED (i would say Blue for DSD and Red for PCM) and a 220 Ohm-Resistor->


to make this LEDs „shine“ 😉
also with such Buttons (here i had measurements about 1cm*0,7cm (100mm*70mm)) it must be possible to have a HW-Volume and Filter-Control..
but u have to solder it right 😉 ..

another possibility would also be to solder some 4 Male 2.54mm Pin Header on it, and connect it then to a STM32F103C8T6 by example to control it via this (and with a bluetooth-receiver-transmitter and bluetooth-app par example..)
still thinking about; greets for the moment 😉


DIY: STM32F103C8T6 („Blue Pill“) + Oled (TFT-) Display..

bought some STM32F103C8T6 („Blue Pill“) of about 1,55€ (1,72$) !! at Aliexpress->Link
thought i could use it for my planned own DIY-DAC to display input-source, samplerate, filter-settings, volume etc..

also a 2.6 “ TFT (240X320)->Link (Youtube-Vid is with an 0.96 OLED)




you can program/flash it with a Raspberry Pi->Link, no need for a usb-ttl adapter or ST-Link or something..

so, and with this Arduino IDE u can write some little programms/“sketches“ and write/upload them directly to the chip..
now i must a find a way to read out some information (from maybe a XMOS-USB-Bridge) about the samplerate for example, or maybe which input (USB (I2S), opt, coax) and write it out on a display..
but super no clue at present !! 😉 , i´ll inform you here about some progress..