element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
    About the element14 Community
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      •  Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Embedded and Microcontrollers
  • Technologies
  • More
Embedded and Microcontrollers
Embedded Forum How should I interface audio codec WM8731 or any other audio codec you people recommend with 8051 mcu? How am i supposed to control that audio codec?
  • Blog
  • Forum
  • Documents
  • Quiz
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Embedded and Microcontrollers to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • State Not Answered
  • Replies 5 replies
  • Subscribers 502 subscribers
  • Views 840 views
  • Users 0 members are here
  • 8051
  • audio_interface
Related

How should I interface audio codec WM8731 or any other audio codec you people recommend with 8051 mcu? How am i supposed to control that audio codec?

e14 Contributor
e14 Contributor over 12 years ago

I have been looking into the working of wm8731 and its interfacing. I have found that I need a SPI to interface it with microcontroller and data transfer and I2C to control wm8731. What i need is that how should i actually connect it with mcu and how to control it since it requires providing various clocks and setting the mode!

  • Sign in to reply
  • Cancel
  • michaelkellett
    0 michaelkellett over 12 years ago

    You aren't going to have any joy at all trying to interface a WM8731 or similar with a normal 8051 based micro-controller. The codec will need an I2S (or similar) interface for the audio data and will need to transfer 3 * 2 * 48k = 288k bytes/s. If you want it to sound any good you need a lowish jitter clock at the right speed. If you pick the right micro-controller you can find one with an I2S interface and suitable clock generating PLL on chip (some varients of ST ARM Cortex series have all this.)

     

    The possibilitites are endless - if yu can explain what you want the completed system to do it will be easier to advise you about the best parts to use.

     

    MK

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • e14 Contributor
    0 e14 Contributor over 12 years ago in reply to michaelkellett

    see i am planing to make a device which can be put up in different rooms of the same house. Most often it so happens that we shout to call out to someone, which is not so gentlemanly. So this device will wirelessly communicate with other devices in the house and we can select which room we want to talk to as a result we can call out in a more sophisticated manner. For this purpose i need to know about interfacing a audio codec with a microcontroller.


    You are probably right about using a better MCU. I am looking into ARM for this purpose. However, If you could explain the interfacing with 8051 , it being the most basic, because then i will be in  a position to make it work on any other microcontroller

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • michaelkellett
    0 michaelkellett over 12 years ago in reply to e14 Contributor

    The 8051 is a 30 year old processor core and the basic 8051 parts don't have the interfaces to easily work a Codec  - there are hundreds or even thousands of 8051 variants and you need to choose one before you can say exactly how to connect it to a Codec.

     

    But don't bother - use a modern processor with the ADC and DAC built in -  there are lots. Silabs make 8051 type processors with built in ADC and DAC but also look at ST's STM32F100 series which have 12 bit ADC and DAC on chip. You also need to think about how you will do the wireless communications between the devices before you go too far with choosing the other parts of the system.

     

    MK

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • e14 Contributor
    0 e14 Contributor over 12 years ago in reply to michaelkellett

    In dat case i'l use a cortex m4 ARM microprocessor, sinc m taking up a course on this one. Talking about wireless...how about using a rf module?

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • e14 Contributor
    0 e14 Contributor over 12 years ago in reply to e14 Contributor

    I'd use a raspberry pi, along with some sort of amplifier. Here is an example: Raspberry Pi and Mumble Server as a Quick Intercom

     

    Doing it with an M4 means you'll need to interface to wifi or bluetooth, which could mean USB coding. There are USB libraries to help, but it can be daunting to get everything working. If you use the DAC you will need a reasonable amplifier too. Supplying the DAC means real time coding from the USB output, and handling DMA at interrupt, I suspect. It is fairly complex, but you'll learn a lot.

     

    If I was doing this, I'd go with the raspberry pi solution, since then I could code it all in python or something like that, and get it working in a few days rather than weeks.

     

    You could also do it all using power line audio and analog. There are reference designs from linear for that application. No coding at all... just buy the cheap chips and wire them up.

     

    However, this sounds like a school project, so stick with what the professor wants.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2026 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube