I want to build a toy. The initial build will be a prototype but if the idea 'sells,' I want to build en-masse.

For the prototype, as I do not have (beyond what I learnt at Uni) industry experience, I want to make use of freelancers for designing and programming the board.

The toy basically will play sounds based on which button is pressed. The sounds are recorded sound/music. I am currently working with a freelancer who is designing a PCB for this but we are stuck on how to store the sounds. At the moment, SD card is the recommendation but I know that this is not an option due to cost (if one is producing en-masse.)

Can someone please recommend a possible solution? The freelancer has also mentioned possibility of using a semiconductor memory but says that the programming for this will be difficult. Are there other options?

  • 2
    \$\begingroup\$ You might look at an SPI flash. This question isn't really specifically answerable or on topic here - you've provided none of the constraints needed to actually chose a solution, and EESE is not a free design service - both identifying the specifics of your need and choosing a solution are things that your retained resource should be able to do. \$\endgroup\$ – Chris Stratton Jan 2 '20 at 16:47
  • 3
    \$\begingroup\$ You should work out the exact requirements. Required memory size and speed, supply voltage etc. \$\endgroup\$ – Rev Jan 2 '20 at 16:53
  • 1
    \$\begingroup\$ At work we play simple melodies programmed in a PIC microcontroller. On other products with music we use pre-recorded sound boards manufactured in China. \$\endgroup\$ – peterdeco1 Jan 2 '20 at 17:16
  • 1
    \$\begingroup\$ you must define the signal quality and bandwidth or memory size and format (compressed). There are cheap low quality flash versions and more $ MP3 decoders \$\endgroup\$ – Tony Stewart EE75 Jan 2 '20 at 17:40
  • 4
    \$\begingroup\$ PCB = printed circuit board. PCB board = printed circuit board board. This message brought to you by the department of redundancies department. \$\endgroup\$ – JRE Jan 2 '20 at 18:46

So many ways to skin this cat. How many different samples does it need? How many seconds total of recording time? How large of a speaker are you planning to drive?

The tasks to be done include:

  1. Program the sound samples into memory in the factory (or your garage)
  2. Monitor the buttons to decide which sample to play
  3. Retrieve sound samples from memory
  4. Convert digital samples to an analog wave form
  5. Amplify the analog wave form to a level strong enough to drive a speaker
  6. Lather, rinse, repeat

There are, of course, other considerations to worry about, such as turning off the amplifier when not actively playing sound to prolong battery life, etc.

There is a whole range of solutions that can perform these steps; from doing it all in discrete hardware and software, to doing it all in one chip. The biggest determining factors are going to be how much engineering time and money you want to invest up front and how capable your hardware/firmware designer is.

It's very possible that the solution you pick for proof-of-concept (quick, for more money per piece) is not the same solution that you will want to go to production with (slower, but cheaper per piece).

At the risk of turning this into a shopping question...

  • \$\begingroup\$ Thank you for this break down @spuck. It has occured to me as you mentioned in your post that the proof of concept solution can be different from the solution going into production. I guess my initial mistake was that I wanted to 'get it right' the first time. But from your comment and others here, I think I will favour getting the POC done and then depending on how that is accepted, look into going into production. Thank you also for the 'shopping list'. I will google these now \$\endgroup\$ – TheDataGuy Jan 3 '20 at 9:02
  • \$\begingroup\$ to answer your question specifically, I expect to have in total, about 2 minutes recording sound which is a combination of words and music. My hardware/firmware designer was sourced from a freelance site. I will prefer to have it all in one chip \$\endgroup\$ – TheDataGuy Jan 3 '20 at 9:10
  • \$\begingroup\$ If you want to have it all in one chip, the ISD ChipCorder parts are well-established. I used one in a project ~20 years ago. Now that the line is owned by Nuvoton I'm not sure how responsive or interested to support they would be to a "hobby" level project, but the parts are not difficult to use. Another approach I would consider might be a Cypress PSoC4 + SPI Flash memory + LM386 speaker driver. \$\endgroup\$ – spuck Jan 3 '20 at 15:54
  • \$\begingroup\$ Thank you very much. I will look into your recommendations. \$\endgroup\$ – TheDataGuy Jan 7 '20 at 16:16

Not the answer you're looking for? Browse other questions tagged or ask your own question.