Page 1 of 4 1 2 3 ... LastLast
Results 1 to 10 of 31

Thread: Getting started with the 4D Systems SOMO 14D audio module

  1. #1
    Moderator
    Join Date
    Mar 2008
    Location
    Western Australia
    Posts
    10,081

    Lightbulb Getting started with the 4D Systems SOMO 14D audio module

    The following information is intended to help PICAXE users to get their SOMO 14D audio/sound modules working with a PICAXE microcontroller.

    Introduction:
    The 4D Systems SOMO 14D audio/Sound module is a small (~19mm x ~21mm) 14 pin drop-in module that can play back audio files stored on a micro SD memory card. The module supports 4-bit ADPCM audio files (.ad4 filename extension) with sample rates from 12Khz up to 32Khz

    The SOMO 14D module has two modes of operation, SERIAL and KEY.
    The Serial modules utilises an SPI type interface with two or three wires under the control of a separate microcontroller such as the PICAXE. The key mode allows stand alone operation without a host control device using three push button switches.

    This post predominantly addresses the SERIAL mode of control using a PICAXE controller.

    While two wire control is possible, if playing longer audio files and wishing to ensure that they are played to completion before starting to play a new file, then it will be necessary to use a third wire to monitor for completion of playback of a prior audio file.

    Additionally some may wish to implement a hardwired RESET between the PICAXE and the SOMO module as discussed below.

    Audio output can be derived using a speaker (8/16/32 Ohms suggested) connected directly across two pins of the SOMO 14D module or alternatively an audio output pin is provided for connection into an amplifier if desired.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    A few points of caution and information:

    1. Power Supply:
    While the SOMO 14D datasheet indicates that the module will operate from a single power supply in the range 2.7Vdc to 3.6Vdc, a few users have found that operation below 3.0/3.1Vdc may not be reliable.

    Operation from a well regulated 3.3V power supply is recommended (eg a LP2950-33 as a 3.3V 100mA supply). The datasheet indicates the power consumption at 3.3V supply as 10uA typical at idle and a max of 45mA when playing an audio file).

    I forced a voltage dip (by connecting a 220uF capacitor) to the power supply while the SOMO 14D was operating which caused the SOMO 14D to immediately change to playing another audio file.
    Conclusion is that while I personally have operated a SOMO 14D module with only a 4.7uF electro type capacitor between the voltage regulator and SOMO module, the addition of the recommended electro capacitor is in the range 100uF to 470uF at/near the SOMO 14D terminals should be done.

    If the environment is electrically noisy, it can also be useful to install a 100nF ceramic or mono type decoupling capacitor across the power supply close to the SOMO 14D module to help filter out switching disturbances.

    2. uSD Memory Cards:
    There have been problems with various makes of micro SD memory cards. Not all cards work well. A good sign of memory card problems is if you are having problems playing all songs, the SOMO 14D module “jumps” to another song before completing the previous song, the volume level changes for no apparent reason, or you hear pops/clicks particularly when using a speaker directly connected to the SPK terminals.

    4D Systems has indicated that correct operation with:
    - a Sandisk 2GB uSD card, . . . . . . . I (westaust55) have used a Sandisk 2GB uSD card without problems
    - a Kingston 1GB uSD card . . . . . . . . . Grogster has reported success on this forum with a Kingston 1GB uSD card

    uSD cards as found to work by others:
    - a DSE 2GB uSD cards from Dick Smith Electronics in Australia (reported by WestAust55)
    - an A-Data 2GB uSD card, (reported by Grogster)
    - a Transcend 2GB uSD card (reported by Grogster)
    - a Fujifilm 2GB uSDcard (reported by picIt)
    - a Kingmax 256MB uSDcard (reported by goom)


    - Kingston 2GB uSD card ( two examples tested and working by Westaust on 14Dec09).
    These Kingston cards have the number 6603363B on the bottom right at rear of the retail packaging card. See attached image



    The following cards are known to give problems (this is far from a complete list):
    - Kingsmax – 64MB (reported by westaust55)
    - Lexar 2GB (reported by westaust55)
    - SanDisk 1.0GB (reported by goom)
    - Kingston 2GB (reported by goom and Grogster) – seems 1GB cards work but both members had problems with the 2GB version
    .. Goom reported that the Kingston 2GB that does not work has 6602523B on the bottom right of the rear of the retail package.
    - Apacer 2GB uSD card (reported by Grogster)

    (let me know by PM of any others you have success or failure with and I can add them to this post to keep the list as comprehensive as possible)

    The uSD card MUST be formatted using the FAT/FAT16 format.
    4D Systems recommend that when used with the SOMO 14D module, rather than just adding additional audio files to the uSD card, that the card be re-formatted and all required audio files be added at one time.


    3. Direct Speaker Connection:
    The datasheet (up to Rev 3) indicates that a speaker of 8, 16 or 32 Ohm 0.25W rating can be connected.
    However, in a response to a post on the 4D systems forum, the 4D Systems technical people made the comment:
    “Speaker: 8 ohm 1W (Not recommended), 16 ohm 0.5W, 32 ohm 0.25W”
    While the 8 Ohm speaker is apparently not recommended, I have been using a higher quality 8 Ohm 3 Watt speaker without signs of any problems.

    4.Using the SOMO Audio Output Pin (pin14):
    Some users of the SOMO 14D module have reported audible click sounds between playback of files.
    Seemingly this applies in the KEY mode operation resulting in a noticeable click when there is no sound file playing and you click Next, Previous or Play. As at Rev 3 of the datasheet, a transistor based switching circuit driven by the BUSY signal is now recommended by 4D systems to disable the audio line between playback of files.

    The data sheet shows using a .1uF capacitor in series with the audio out pin (pin 14). Some users have indicated that this seriously reduced the bass response. A recommendation has been to use 2.2 uF bipolar electrolytic instead.

    5. Audio File conversion:
    Audio file names do not need to be in sequence. There can be gaps in the file name numbering.

    Some users reported that converting their mp3 and .wav files to ad4 format resulted in pops and clicks being heard during playback with the SOMO module. The same users indicated that selecting the sample rate for conversion to ad4 equal to the original mp3/wav file sample rate resulted in playback without pops and clicks.

    Sometimes when you convert the mp3/wav file to an ad4 file it becomes corrupted if you try to change the data rate. This can give the impression of clicks. Try converting the file back to the original format and see if it still sounds OK.

    6. Operating with the PICAXE at 5Vdc
    If you are powering your PICAXE at 5Vdc, then as per the datasheet, you need to include series resistors in the Clock and Data lines between the PICAXE and SOMO 14D module.
    The datasheet indicates 470 Ohm resistors as adequate. I have used 1.2k Ohm and 4.7k Ohm resistors without disrupting control of the SOMO module.
    There is no need for a resistor in the BUSY signal line from the SOMO 14D module to the PICAXE. In fact, adding a resistor of a relatively high value may cause problems.

    7. PICAXE to SOME 14D circuits - some further recommendations:
    If you are having problems getting your SOME 14D audio module to work correctly, here are some further recommendations

    - Add a 100n cap across the PICAXE(as close as possible) to filter out PSU noise
    - Add a 220uF or 470uF/16v cap across SOMO supply, as close to module as possible
    - Add a 100n cap across SOMO supply, in parallel with the electro capacitor
    - try wiring a RESET line control from the PICAXE – so the SOMO is reset before selecting any audio file.
    - Do not include diagnostic LED's on CLK, DTA and RESET lines (but keep the 330R series resistors)
    - if you have an LED connected to the SOMO 14D busy line, try removing that play indicator.
    Attached Images Attached Images
    Last edited by westaust55; 08-03-2013 at 04:53. Reason: updated the Good and not-so-good uSD card lists
    westaust55

    Hey Hamlet, 2B OR NOT 2B = $FF

  2. #2
    Moderator
    Join Date
    Mar 2008
    Location
    Western Australia
    Posts
    10,081

    Lightbulb Getting started with the 4D Systems SOMO 14D audio module - Part 2

    (had to break the information over two posts due to text length limitations.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    SOMO 14D Module Operation - Serial Mode:
    The SERIAL mode for control includes five primary commands:
    - Play
    - Pause
    - Stop
    - Volume
    - Audio file selection

    Sending any command to the SOMO 14D results in that control/action being undertaken immediately.

    There is no buffer to send filenames for several audio files to be played consecutively. If you send a new filename while one audio file is being played back, play back of the initial audio file stops and play back of the new file commences then and there.

    When you send a new filename to the SOMO 14D, it will play immediately. There is no need to also send a PLAY command.
    In fact, Grogster has reported on this forum that sending a PLAY/PAUSE command after selecting the file to play, results in the module going into pause mode and nothing plays

    The SOMO 14D provides a BUSY signal that can be used to indicate when an audio file is being played back. By connecting this signal to a PICAXE input, the PICAXE program can detect when to start playback of a new audio file.
    Once a filename has been passed to the SOMO 14D module, there is a brief delay before the BUSY signal line is taken high. My trial and error (using various values with the PAUSE command) suggests this is around 7mSec. In the new (Rev 3) version of the datasheet, it is now indicated that the delay timing is a minimum of 20msec. Accordingly, it is necessary to delay the checking of the BUSY line for around 20msec otherwise the PICAXE program will “see” the situation as the current file has completed playback and may then immediately pass a new filename to the SOMO 14D module.

    My findings are that there is also a brief delay (~7msec) between when the BUSY signal goes low and the SOMO 14D module being ready to accept a new filename for playback. The Rev 3 datasheet does not address this but my recommendation is to include a similar 20msec delay after the BUSY signal has gone low before sending a new audio file name.

    I have achieved reliable operation without the use of the RESET signal from the PICAXE to the SOMO 14D audio module. Notwithstanding this, others have found that using the PICAXE to perform a hardwired reset of the SOMO 14D module prior to sending each audio file name has overcome problems.

    If you do use the SOMO module RESET pin, then it needs to be connected directly to a PICAXE IO line – a small value series resistor (330 Ohm) - tested and confirmed okay by groster. Don’t use a potential divider to drop from 5V to 3.3V. Due to the internal pull up resistor onboard the SOMO module, if a potential divider type circuit is used, the interaction with the SOMO on-board pull-up resistor voltage may cause the voltage not drop low enough to trigger a reset of the SOMO module.

    The SOMO 14D module control uses a 16-bit word for all control and file selection as described in the datasheet. The most significant bit must be sent first.

    For the PICAXE range of microcontrollers see the example program code under the SPIOUT (SHIFTOUT) command in PICAXE manual 2 as a starting point.

    Below is a PICAXE program code listing that I have created and which will sequentially play the first 31 files (0000.ad4 to 0030.ad4) on the uSD card.
    I have included a lot of comments so that others can understand the operation of the program. The program could be optimized further to reduce memory space but has been left in a more readable form for ease of understanding by those new to electronics and/or PICAXE.
    Attached Files Attached Files
    Last edited by westaust55; 01-12-2009 at 00:11. Reason: typos
    westaust55

    Hey Hamlet, 2B OR NOT 2B = $FF

  3. #3
    Senior Member
    Join Date
    Jan 1970
    Location
    Dunedin, NEW ZEALAND
    Posts
    1,531

    Default

    Excellent report, westaust55.

    Typo 1 - no bold type for the paragraph heading at the start of part 2.
    Typo 2 - What is an OPICAXE? 5th paragraph from the bottom of part 2.

    I can confirm that I have been using a 330R series resistor on the RESET pin of the SOMO during all my testing with no problems whatsoever.(with respect to operation of RESET).

    I have ordered a 2GB uSD card, SPECIFICALLY Kingston brand, to test myself, following reports that others were not able to get their 2GB Kingston cards to work, despite the fact that the 1GB Kingston card does work - strange. I will report back here with my findings.

    EDIT: I have also purchased an A-Data 2GB uSD card too, to play with. Will post back with results.
    Last edited by Grogster; 30-11-2009 at 08:45.

  4. #4
    Moderator
    Join Date
    Mar 2008
    Location
    Western Australia
    Posts
    10,081

    Default

    Quote Originally Posted by Grogster View Post
    What is an OPICAXE? 5th paragraph from the bottom of part 2.
    Latest technology - An Organic PICAXE (of course )

    Rev Ed are just waiting for Microchip to release a suitable PICmicro

    http://www.v3.co.uk/vnunet/news/2212...devise-organic
    westaust55

    Hey Hamlet, 2B OR NOT 2B = $FF

  5. #5
    Senior Member
    Join Date
    Jan 1970
    Location
    Dunedin, NEW ZEALAND
    Posts
    1,531

    Default

    SMALL UPDATE: My two new 2GB uSD cards have arrived(Kingston and A-Data brands), but the project has now been disassembled off the breadboard while I designed and etched a PCB. This has been done, and I plan to assemble tonight, at which point, I will report back with results of using the other cards.

  6. #6
    Senior Member
    Join Date
    Jan 1970
    Location
    Dunedin, NEW ZEALAND
    Posts
    1,531

    Default

    Further uSD card information:

    Test set of 40 tracks copied to the uSD card in one group(all at once), then the card inserted into the SOMO. uSD card renamed to SOMO - perhaps others should try that if they can't get any specific card to work - rename the card to something simple, but don't leave the card un-named, and don't exceed 8 characters for the card name - stick to 8-dot-3 DOS-style names for the name of the card. Anyway, on with the show...

    A-Data 2GB uSD card; "Speedy series 2GB microSD Memory Card"
    COMPATIBILITY: Yes
    PLAYBACK: Perfect
    POPS: None
    CLICKS: None
    SKIPPING: None
    SERIAL MODE: Perfect
    BUTTON MODE: Perfect


    Kingston 2GB uSD card; "Kingston SDC/2GB"
    COMPATIBILITY: No
    PLAYBACK: None
    POPS: ---
    CLICKS: ---
    SKIPPING: ---
    SERIAL MODE: None
    BUTTON MODE: None

    In my case, I was unable to get the Kingston 2GB card to work AT ALL.
    Buttons work, serial-commands work, but the SOMO refuses to even begin playback on this card, so I would advise others reading this to NOT use this card with the SOMO, unless you are doing so for the purposes of testing yourself - but don't expect it to work! I was not able to format the Kingston 2GB card no matter what - Windoze just reports: "Windows was unable to complete the format." - yay - another stupid Windoze error message that tells you NOTHING. How about telling us WHY you can't finish the format? I guess that would be too logical for Windoze...
    Last edited by Grogster; 05-12-2009 at 06:34.

  7. #7
    Senior Member
    Join Date
    Jan 1970
    Location
    New Zealand
    Posts
    863

    Default

    That's a nice post Westie. Makes me want one of these little suckers for Christmas!

  8. #8
    Moderator
    Join Date
    Mar 2008
    Location
    Western Australia
    Posts
    10,081

    Lightbulb Stereo to Mono file conversion for SOMO 14D use

    As mentioned by Grogster elsewhere, the SOMO 14D module is a mono audio device.

    If you use existing stereo mp3 or wav files and convert these using the 4D Systems software to the ad4 format. you only utilise one channel from the stereo file which can result in loss of information.
    I have been using the free software Audacity to pre-convert the mp3 and wav files from stereo to mono to overcome this loss of data/information. Audacity is available for free download from:
    http://audacity.sourceforge.net/

    If you wish to save the resultant mono audio file in mp3 format, you will also need to download the LAME mp3 converter ddl file. This is available from a link on the Soundforge Audacity webpage.
    Run the LAME exe file, recommend that you place the resultant dll file in the same directory as Audacity then when you do an Export to MP3 format the first time you need to point Audacity to the mp3 converter dll file.

    The steps to convert a Stereo file to an mono file are:

    1. Load the stereo file into Audacity

    2. Click on the file name in the top of the box at the left of the audio waveform and select Split Stereo track. You will now have two boxes (left and right channel) at the left side of the audio waveforms – one for each track.

    3. Click on the file name at the top of the box again for each track and change the file type to mono .

    4. from the Project menu, select Quick Mix which will convert the two mono tracks into a single mono track.

    5. Adjust the should level in the box at the left side of the waveform. I find most audio tracks can be dropped -3 dBa (but try playing the new mono track first as some files are quiet and can be left of 0dBa and very occasionally there is a quiet file where a +3 dBa adjustment can be worthwhile.

    6. If there are extended silent periods at either end of the audio file, use the mouse to select the silent period and press the “Delete” key.
    These “silent periods may have pops or clicks in them from the recording source equipment and take up some file space so worthwhile trimming the audio files.

    7. From the File menu, use the Export as MP3 or WAV to save your new mono file.

    Then use the 4D-Systems audio file conversion software to convert the resultant mp3 or wav file to the ad4 format required by the SOMO-14D audio module.
    westaust55

    Hey Hamlet, 2B OR NOT 2B = $FF

  9. #9
    Moderator
    Join Date
    Mar 2008
    Location
    Western Australia
    Posts
    10,081

    Default

    Tried a LEXAR 2GB uSD card tonight.

    Under serial operation mode controlled by an 18X there was no playback of any files at all.
    Have updated my list in post 1 to reflect this.
    Last edited by westaust55; 25-09-2010 at 17:08.
    westaust55

    Hey Hamlet, 2B OR NOT 2B = $FF

  10. #10
    Moderator
    Join Date
    Mar 2008
    Location
    Western Australia
    Posts
    10,081

    Default

    I can now also advise that the 2GB DSE micro SD card available in Australia from Dick Smith Electronics as Cat No XG4888 also functions correctly with the SOMO 14D

    Not the cheapest micro SD card at AUD $19.95ea but does also come with SD and mini SD adapters for that price.

    http://www.dse.com.au/cgi-bin/dse.st...ct/View/XG4883
    westaust55

    Hey Hamlet, 2B OR NOT 2B = $FF

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •