Go Back   Home > Forums > Source & Line > Digital Line Level

Digital Line Level DACs, Digital Crossovers, Equalizers, etc.

Please consider donating to help us continue to serve you.

Ads on/off / Custom Title / More PMs / More album space / Advanced printing & mass image saving
Reply
 
Thread Tools Search this Thread
Old 14th October 2012, 09:11 PM   #1
Corpius is offline Corpius  Netherlands
diyAudio Member
 
Corpius's Avatar
 
Join Date: Jan 2011
Default ES9018 I2C controller

I'm currently designing a controller module for my ES9018 DAC (Buffalo from TPA), but it can be used with any ES9018 DAC when there is I2S access to it.
It will be based around an Atmel Atmega644 with a highly modified Hifiduino version running on it, so there is input selection, volume control and all settings (filters, quantizer, oversampling and more) can be modified.

UPDATE: 2013-01-2013

Version 1.1 is up and running

These are the features I have added to it.
  • Logic level converter (5V to 3.3V) (ADuM1250)
  • DS1307 - Real Time Clock
  • MCP42010 digital pot for LCD backlight brighness adjustment
  • IR receiver
  • Separate board with up to 9 Tactile push buttons or one rotary encoder that can be used with or without the hardware debouce circuit
  • Temperature sensor
  • Some logic outputs for switching between my PCM and S/SPDIF sources
  • Pot for LCD contrast adjustment
  • I2C Isolator between controller and DAC (ADuM1250)
  • LD1086 5V low drop voltage regulator.
  • Resettable fuse for some extra protection.
  • DIP switch (3 positions) for locking some settings
  • PCF8574AT port expander for driving an LCD, OLED or VFD
  • LD1117 3.3v low drop voltage regulator

A complete overview of it's features can be found on my website

Link to the article: CE644 - The ES9018 I2C controller
link to the product: Assembled & Tested : CE644 Controller v1.1

EDIT: update history
- 2012-10-15: Separate board for rotary encoder
- 2012-10-15: Added I2C isolator
- 2012-10-17: IR teach function
- 2012-10-19: Decided to use the Atmega644 instead of the 328
- 2012-10-19: Removed the port expander, because of the extra IO's that come with the 644
- 2012-11-07: LT1086 low drop voltage regulator + resettable fuse added to the design
- 2012-11-11: Added a DIP switch to allow manual control over stereo/dual mono and volume control on/off
- 2012-12-28: Brought the port expender back to the design, because I could use some extra I/O's
- 2012-12-28: Added the LD1117 LDO 3.3v voltage regulator to the design to add an 3.3v breakout.
- 2013-01-31: Version 1.1 is up and running
__________________
CE-Designs.net

Last edited by Corpius; 31st January 2013 at 11:03 AM.
  Reply With Quote
Old 15th October 2012, 02:11 AM   #2
glt is offline glt  United States
diyAudio Member
 
Join Date: Oct 2004
Hey Corpius, that would be a nice project! :-)

Some ideas:

1- Adum I2C isolator which does isolation and level conversion at the same time.
2- Rotary encoder with space for debouncing capacitors
3- Pot for LCD contrast adjustment (you only do this once)
4- I2C FRAM (FRAM is a fast EEPROM accessed through I2C. The built in EEPROM in ARduino is slow and has limited life)
__________________
www.hifiduino.wordpress.com

Last edited by glt; 15th October 2012 at 02:21 AM.
  Reply With Quote
Old 15th October 2012, 03:48 AM   #3
syklab is offline syklab  Hong Kong
diyAudio Member
 
Join Date: Jul 2009
Location: Hong Kong
Hi,
I just started to learn about the Arduino and your project sounds like a lot of fun to follow.
  Reply With Quote
Old 15th October 2012, 05:54 AM   #4
qusp is offline qusp  Australia
diyAudio Member
 
qusp's Avatar
 
Join Date: Oct 2009
Location: Brisbane, Australia
is there any reason you stuck to arduino? wouldnt some more powerful sort of Cortex/ARM/Raspberry device that speaks i2c, USB, wifi etc be more suitable? or is it simply because so many of the required instruction sets/codes are in existence for arduino->ESS

nice project regardless
  Reply With Quote
Old 15th October 2012, 06:11 AM   #5
diyAudio Member
 
Join Date: May 2009
Location: Sydney
Arduino can communicate on all of those and is very easy to get off the ground using existing shields and repositories.
Unless you plan to do some form of dsp or fifo then you really don't need anything else.
  Reply With Quote
Old 15th October 2012, 06:26 AM   #6
diyAudio Member
 
Join Date: Feb 2009
Location: Brisbane, Australia
yeah qusp, it is just a whole lot easier to write the code for arduino and get something that works, reliably.

I am having some hassles getting i2c from default beagle bone linux os at the moment (also got smashed by work and didn't look at it for a few months). I am proceeding with arm based board because I want it to be independent of the computer and just stream from the networked storage. I also want mine to be network controllable eventually. The networking side is the more expensive part to get working with an arduino as the wifi/ethernet sheilds are expensive/bulky and drivers for a fat/fat32 fiilesystem to store graphics etc can take up a lot of the atmel microcontrollers memory.

Last edited by hochopeper; 15th October 2012 at 06:29 AM.
  Reply With Quote
Old 15th October 2012, 07:31 AM   #7
qusp is offline qusp  Australia
diyAudio Member
 
qusp's Avatar
 
Join Date: Oct 2009
Location: Brisbane, Australia
yeah I just gathered since there was a PCB being designed there was some need to do something different/powerful. I know all that stuff can be catered for with add on modules and add on code, but my impression is that its very slow and limited by way of expansion/bandwidth, so could easily get unwieldy in both code and hardware

basically

Quote:
Originally Posted by hochopeper
The networking side is the more expensive part to get working with an arduino as the wifi/ethernet sheilds are expensive/bulky and drivers for a fat/fat32 fiilesystem to store graphics etc can take up a lot of the atmel microcontrollers memory.
this^^

if I was doing something along these lines network access would be essential, but if thats not important sure

Last edited by qusp; 15th October 2012 at 07:37 AM.
  Reply With Quote
Old 15th October 2012, 03:24 PM   #8
Corpius is offline Corpius  Netherlands
diyAudio Member
 
Corpius's Avatar
 
Join Date: Jan 2011
To make some things clear. I will use the same chip as the Arduino does, but not the Arduino itself. Therefore no shields could be added, at least not in the same way as with the Arduino.

Quote:
Originally Posted by glt View Post
Hey Corpius, that would be a nice project! :-)

Some ideas:

1- Adum I2C isolator which does isolation and level conversion at the same time.
2- Rotary encoder with space for debouncing capacitors
3- Pot for LCD contrast adjustment (you only do this once)
4- I2C FRAM (FRAM is a fast EEPROM accessed through I2C. The built in EEPROM in ARduino is slow and has limited life)
1. The Adum I2C isolator is indeed a very useful component. I will add this to the list.
2. I can make some connections for a small separate PCB that houses the rotary encoder and debounce capacitors. This way there two possibilities for control, push buttons or rotary encoder. Good idea!
3. This is already incorporated into the design, but forgot to add it to the list.
4. Looks nice, but I'm not convinced that it is needed. How limited is the EEPROM lifetime of the Atmega328?

Quote:
Originally Posted by qusp View Post
is there any reason you stuck to arduino? wouldnt some more powerful sort of Cortex/ARM/Raspberry device that speaks i2c, USB, wifi etc be more suitable? or is it simply because so many of the required instruction sets/codes are in existence for arduino->ESS

nice project regardless
The Atmega328 is powerful enough for this project. Like hochopeper said, it is much easier to write the code for it and get something that works reliable. I already have an Arduino that is currently the control unit of my DAC, but I think that its design is too limited for what I want. I can add some shields of course, but then it becomes to bulky to fit inside my DAC. For that same reason I have already designed a shield that more or less fits my needs: Buffalo shield. The shield is nice, but is still a bit limited for what I want.
__________________
CE-Designs.net
  Reply With Quote
Old 15th October 2012, 03:40 PM   #9
diyAudio Member
 
merlin el mago's Avatar
 
Join Date: Sep 2009
Location: Catalonia new Europe state
Suscribed!
  Reply With Quote
Old 15th October 2012, 03:57 PM   #10
CeeVee is offline CeeVee  Portugal
diyAudio Member
 
CeeVee's Avatar
 
Join Date: Dec 2006
Very Interested...
  Reply With Quote

Reply


Hide this!Advertise here!
Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
ES9018 - I2C interface vt4c Digital Line Level 0 4th August 2012 01:12 AM
Samsung 1602VFD For CDROM Controller & Remote Volume Controller slowgay Swap Meet 2 22nd November 2008 02:44 PM
I2C controller for Audio DSP elnec Digital Source 6 15th February 2008 10:58 AM
I2c Amdio Digital Source 9 29th April 2007 12:05 AM
I2C Controller abid_rehan Digital Source 1 21st October 2004 10:02 AM


New To Site? Need Help?

All times are GMT. The time now is 01:49 PM.


vBulletin Optimisation provided by vB Optimise (Pro) - vBulletin Mods & Addons Copyright © 2014 DragonByte Technologies Ltd.
Copyright 1999-2014 diyAudio

Content Relevant URLs by vBSEO 3.3.2