ES9018 I2C controller

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
Great work Corpius! Anxious to see your finished project. If it wasn't for you sharing your code I would not have gotten my dual mono BIII project to work with Arduino. A big thanks to glt at HiFiDuino for starting it.

Here is my progress with your Buffalo Shield Corpius. It sure makes for a neat and clean install! I am also using the electroFun I2C LCDextra IO board you suggested.

While not pictured I recently added the temp sensor. A proper enclosure is in the works at modushop. Currently the BIII in is my friendly case...it waves at you.:D
 

Attachments

  • lcd_shield_1.jpg
    lcd_shield_1.jpg
    115.8 KB · Views: 461
  • lcd_shield_3.jpg
    lcd_shield_3.jpg
    116 KB · Views: 455
Last edited:
Great work Corpius! Anxious to see your finished project. If it wasn't for you sharing your code I would not have gotten my dual mono BIII project to work with Arduino. A big thanks to glt at HiFiDuino for starting it.

Here is my progress with your Buffalo Shield Corpius. It sure makes for a neat and clean install! I am also using the electroFun I2C LCDextra IO board you suggested.

While not pictured I recently added the temp sensor. A proper enclosure is in the works at modushop. Currently the BIII in is my friendly case...it waves at you.:D
Thanks! All credit may go to glt for the code! Nice to see the Buffalo shield!

On the controller is also room for a temperature sensor, but there is also a separate connector to allow it to be placed elsewhere in the case.

btw Love your friendly case :rofl:
 
Cool wobbly case SCompRacer :) Looking forward to seeing your new case.

Regarding the controller, I just had an idea (oh crap here he goes again I hear you say Corpius ;) ).
What about using that digital pot to adjust the Legato`s DC offset with an add on module. It would have to read DC* between "+" and "-" balanced and "+" and "gnd" SE at regular intervals and adjust the pot`s accordingly.

* in other words it would have to be a DMM as well, so not an easy thing to do this. But it would mean that the DC offset that haunts Legato owners could be dealt with.
 
Cool wobbly case SCompRacer :) Looking forward to seeing your new case.

Regarding the controller, I just had an idea (oh crap here he goes again I hear you say Corpius ;) ).
What about using that digital pot to adjust the Legato`s DC offset with an add on module. It would have to read DC* between "+" and "-" balanced and "+" and "gnd" SE at regular intervals and adjust the pot`s accordingly.

* in other words it would have to be a DMM as well, so not an easy thing to do this. But it would mean that the DC offset that haunts Legato owners could be dealt with.
Don't think this would be a good idea for the controller. Better use a stand-alone micro controller for it. Can the DC offset also be negative? AVR's cannot read negative voltages, at least not that I know. If the voltage difference are very small it would probably not sensitive enough. I can think of some solution, but I must say that this is a bit out of my league.
 
The PCB for the prototype is being manufactured this very moment. :)
Although i changed a few part, the designs as seen here has not changed.

Now I can focus on the add-on boards while I wait for the PCBs to arrive. First ones will be the rotary encoder and push buttons add-ons.
There will be five push buttons on the add-on board for the following functions: up, down, left, right and select.
There rotary board will have the debounce circuit resistors like glt suggested earlier on. I'm not sure about using a debounce circuit for the push buttons. It is easily done in the code, just as for the rotary encoder. I'd like to hear how some of you think about using a decounce circuit for the push button. Personally I like the idea of cancelling possible noise wherever/whenever possible.
 
That is great. Great idea with the buttons btw. Should be very nice. Debounce could be a good idea on as much as possible. Not sure how much effect if has with the hifiduino code, but with your altered code I dont think the software debounce is there on those spesific function buttons?
 
Cool wobbly case SCompRacer :) Looking forward to seeing your new case.

Me too! :D

Nice stack! I was hoping to import my front panel svg file into Sketchup and post it in your thread at TP, but it doesn't import that or a fpd file.


There rotary board will have the debounce circuit resistors like glt suggested earlier on. ... .

Nice work! I originally mounted my encoder on that round board to protect the fragile connector pins. You saw it and said, 'hey you left room for the hardware debounce parts!' I really didn't think of that at the time but will stick them on there this weekend and try it. IIRC I have to change something in the code with hardware. Not at home to look at my files....
 
Last edited:
coding coding coding

Today I made some progress with the gui of the controller. I took some elements from the original HifiDUINO code and went on playing with it. The original code always shows all input settings. I do not want to display these all the time as I can not read them from my sofa. Therefore I decided to use the minimal display als default. This only shows the selected input, sample rate and the current volume.
The settings menu of the selected input can be entered by pressing the center key. Some settings where just 3 character abbreviations and for that reason I kept forgetting what some of the settings where for. That's why I decided to add just a bit more info to the displayed setting name.
A different menu is entered by pressing the menu key. From here the backlight can be adjusted, date/time can be shown or adjusted, temperature monitoring is possible and there is a advanced menu. This is where the learn IR function will be found. I'm also thinking of adding some functions to switch between Dual mono, TPA phase and maybe a function to enable/disable the volume control. This is especially usefull when you want to use a pre-amp instead of the DAC's volume control. I'm aware that this function can also be dangerous for your speakers when you accidentally switch to full volume.

Here's a little preview: CE644 controller - YouTube

(backlight adjustment doesn't work because the digital pot was not connected when I shot the video)
 
Very nice. I didn't see sample rate though. The weirdest thing is the background music: my daughter has been practicing that exact song... :)
Thanks! Forgot to mention that it was not connected to the dac and the code for displaying the sample rate was commented anyway, so that`s the reason why you didn`t see it.
I replaced the original sounds with this song. That`s an option youtube/google offers to get rid off the background noises, like the clicking of the remote. Most of the songs they offer a unbearable to me, but this one is actually quite nice. Some may think differently ;)
 
Does the MC has to be initilized or so?
or it is just load the code - and working?
(newbie)
I want it to work straight away, but there are some settings that needs to be set before the first use. These are settings for "Dual mono/Stereo", "TPA phase", and "Enable/Disable Volume control". These have to be set with some dip switches. I'm am thinking about coding this functions in a way that they can be controlled by the remote to override the dip switch settings.
I'm not entirely sure if I will add these functions. The "Disable volume control" function can potentially be dangerous to persons that accidental disable it while the DAC is connected directly to an power amplifier. :eek: Like me! :cool:

EDIT: There is however the possibility to alter the code and upload it, or upload some completely different code.
 
IR codes... I have managed to record the codes of all different IR protocols I have available and use them, but in some cases they are not very reliable. The response is also quite slow which bothers me a lot. I have put is aside for a moment and let it rest until I finished the interface of the controller. After that I will dive into the IR codes again.
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.