SOMO-II
Description
The SOMO-II (SOund Module 2) is a tiny Audio-Sound module that can play MP3 audio files stored on a micro-SD card (or USB 2.0 Flash drive with extra components), such as voice and music.
The SOMO-II features an on board 16bit MCU, specifically designed for hardware audio decoding.
The SOMO-II supports both FAT16 and FAT32 formatted micro-SD and USB Flash Drives up to 32Gb in size, and features a 24-bit DAC output with support for all MP3 bit rates (11172-3 & ISO13813-3 3 Layer Audio Decoding) with 8-Khz to 48Khz Sampling Rate.
Files can be stored in the root folder of the micro-SD or USB Flashdrive, else in folders. It supports up to 99 folders and every folder can contain up to 255 songs.
Audio files can be easily loaded to the micro-SD card or USB Flash drive using a PC/Laptop, and inserted into the SOMO-II for playback. No external software is required.
The compact 16pin drop-in-module takes up very minimal board space and is ideal for any application that requires embedded audio.
The SOMO-II features an on board mono Amplifier capable of driving an 4ohm 3 Watt speaker directly (see Arduino Output and Control Pins section). It also features stereo DAC output for connecting directly to headphones or into an external amplifier.
The module offers two modes of operation, SERIAL-MODE and the KEY-MODE.
The SERIAL-MODE provides a simple 2-wire Serial UART interface to any micro-controller via its TX and RX pins. Audio operations such as PLAY, PAUSE, STOP, NEXT, PREVIOUS and VOLUME control functions are all available to the host micro via simple serial commands, along with many more. SERIAL-MODE features a CRC check.
The KEY-MODE provides a stand-alone operation where a host micro is not required. It is possible to control the module with just 2 buttons, or an array of buttons can be added via various resistor values to get full control of the module without having to use an external processor.
With only 2 push buttons, a 3.3V to 5V battery and a speaker, an extremely compact and low component count MP3-Player like system can be implemented.
In short, the SOMO-II offers a very flexible, compact and low cost embedded audio solution for many applications.
Features
- Low-cost module for all embedded Audio Sound applications.
- Supports all MP3 bit rates 11172-3 & ISO1381303 with Samples rates from 8Khz to 48Khz
- 24-bit DAC output, dynamic range support 90dB, SNR supports 85dB
- SERIAL MODE: Supports a 2-Wire 3.3V TTL UART interface to any micro-controller.
- KEY-MODE: Supports a simple stand-alone operation without a host micro.
- Mono amplified Speaker output, capable of driving a 4ohm speaker at 3 Watts (5V supply).
- DAC audio output to use with an external amplifier or with headphones.
- On-board micro-SD memory card adaptor for storing of audio, voice and music files
- Supports up to 32GB micro-SD memory cards, and both FAT16 and FAT32 file formats.
- Supports up to 32GB USB 2.0 Flash Drive, when used in conjunction with an USB socket (not on board), supporting both FAT16 and FAT32 file formats.
- Compact size measuring only 21.0mm Long x 20.5mm Wide x 11.3mm High.
- Weight ~ 2g.
- 3.3V to 5.0V DC voltage range (single supply).
- RoHS and CE Compliant.
Pin Configuration and Summary
Pin Configuration
Pin | Symbol | I/O | Description |
---|---|---|---|
1 | USB+ | I/O | USB+ Signal, designed to be connected directly to the USB+ pin of an external USB socket, to then connect to a USB Flash drive |
2 | USB- | I/O | USB- Signal, to be used in conjunction with USB+ |
3 | NEXT/VOL+ | I | Next Song (Song will start playing if currently stopped) when pressed. When held, the volume of the SOMO-II will ramp up. |
4 | PREV/VOL- | I | Previous Song (Song will start playing if currently stopped) when pressed. When held, the volume of the SOMO-II will ramp down. |
5 | ADKEY1 | I | Push button array input 1. Please refer to the Key Interface Pins (ADKEY's) section for more information. |
6 | ADKEY2 | I | Push button array input 2. Please refer to the Key Interface Pins (ADKEY's) section for more information. |
7 | GND | P | Power Ground. Connect to GND |
8 | BUSY | O | Playing indicator, can be used to trigger an external amplifier. Low indicates Audio output is occurring. High indicates no Audio output. |
9 | VCC | P | Power Input, 3.3V to 5.0V. |
10 | GND | P | Power Ground. Connect to GND |
11 | RX | I | 3.3V TTL UART Serial Data Input. Used for SERIAL-MODE |
12 | TX | O | 3.3V TTL UART Serial Data Output. Used for SERIAL-MODE |
13 | DAC_R | O | Right Channel Audio Output, capable of driving headphones directly, or connecting to an external amplifier |
14 | DAC_L | O | Left Channel Audio Output, capable of driving headphones directly, or connecting to an external amplifier |
15 | SPK+ | O | Speaker +ve output from on board Mono Amplifier capable of driving a 4ohm 3W Speaker if VCC is 5V. |
16 | SPK- | O | Speaker -ve output from on board Mono Amplifier. |
Note
I = Input, O = Output, P = Power
Pin Description
This section describe in detail the hardware interface pins of the SOMO-II.
Micro-controller Interface Pins
- RX pin 11 (TTL Serial UART Receive):
-
This is the 3.3V TTL Serial UART Receive pin, compatible with 3.3V TTL level Logic, designed to be connected directly with a microcontroller or other TTL capable UART controller. Used in conjunction with the TX pin, the SOMO-II can be controlled using SERIAL-MODE by sending commands from the microcontroller rather than having to wire on any external buttons direct to the SOMO-II itself. Please refer to the SERIAL-MODE section for information about the commands.
- TX pin 12 (TTL Serial UART Transmit):
-
This is the 3.3V TTL Serial UART Transmit pin, compatible with 3.3V TTL level Logic, designed to be connected directly with a microcontroller or other TTL capable UART controller. Used in conjunction with the RX pin, the SOMO-II can be controlled using SERIAL-MODE by sending commands from the microcontroller rather than having to wire on any external buttons direct to the SOMO-II itself. Please refer to the SERIAL-MODE section for information about the commands.
Note
For 5V systems, connect a series resistor (1K Ohms) on the RX line of the SOMO-II to the TX of the 5V micro-controller.
Key Interface Pins (Not ADKEYs)
- NEXT/VOL+ pin 3 (Next Track/Volume up):
-
Selects the Next Audio file from the micro-SD memory card or USB Flash drive (whichever is selected) when the pin is connected to GND momentarily. If the pin is held to GND then the Audio volume is ramped up. Active LOW triggered input. Connect this pin to a push-button in stand-alone KEY-MODE.
- PREV/VOL- pin 4 (Previous Track/Volume down):
-
Selects the Previous Audio file from the micro-SD memory card or USB Flash drive (whichever is selected) when the pin is connected to GND momentarily. If the pin is held to GND then the Audio volume is ramped down. Active LOW triggered input. Connect this pin to a push-button in stand-alone KEY-MODE.
Key Interface Pins (ADKEY's)
- ADKEY1, ADKEY2, pins 5, 6 (Array Keys):
-
These pins provide a method to connect 10 push buttons up to each pin (up to 20 buttons total), to enable broad functionality of the SOMO-II without requiring the use of SERIAL-MODE.
Arduino Output and Control Pins
- SPK+, SPK- pins 15, 16 (Mono Speaker output):
-
These pins provide a differential amplified output to a single speaker. Connect these pins to a 4/8/16/32ohm speaker, at a max of 3 Watts when powered from a 5V Supply. 8ohm 2.5W is recommended.
- DAC_R, DAC_L pins 13, 14 (Stereo DAC output):
-
These are the Left and Right audio outputs, capable of driving headphones directly or small speakers, or fed into an external amplifier.
- BUSY pin 8 (Playing Indicator output):
-
Playing Indicator, this pin shows if an audio file is currently being played (Low Output), or if no audio playback is currently occurring (High Output). The SOMO-II features an LED indicator on board which is connected to this pin, however it can also be connected to an external amplifier enable circuit, to disable the external amplifier when an audio file is not being played.
It can also be used to signal the host micro the end of the audio file in SERIAL-MODE, if required.
Systems Pins
- GND pins 7, 10 (Module Ground):
-
Module ground pins. One of more of these pins must be connected to the ground.
- VCC pin 9 (Module Supply Voltage Input):
-
Module supply voltage input pin. This pin must be connected to a regulated supply voltage in the range of 3.3 to 5.0 Volts DC. The nominal operating voltage is 4.3 Volts.
- USB+, USB- pins1,2 (USB for Flash Drive):
-
These pins provide a USB 2.0 interface to an external USB connector, to enable a USB Flash drive to be connected to the SOMO-II as a media source for MP3 audio files.
Operating Modes
The SOMO module offers two modes of operation, SERIAL-MODE and KEY-MODE. This section describe both modes in detail.
SERIAL MODE
- The SERIAL-MODE provides a simple 2-wire TTL Serial UART interface to any micro-controller capable of interfacing to a 3.3V or 5.0V (See the Micro-controller Interface Pins section) TLL Serial UART system that can be configured to output the simple protocol required to communicate with the SOMO-II.
-
Baud Rate: 9600 bps
Data bits: 8
Stop Bits: 1
Parity bit: none
Flow Control: none
The SOMO audio operations such as PLAY, PAUSE, STOP, NEXT, PREVIOUS and VOLUME etc are all available to the host micro-controller to control using a simple set of bytes sent to the SOMO-II, along with many more, which can be found under the Valid Commands listed below.
Command Format:
The format of the serial commands are as follows
COMMAND FORMAT $S, CMD, Feedback, Para1, Para2, Checksum1, Checksum2, $0
$S | Start Character $S is 0x7E in HEX | Every command starts with this |
CMD | Command Code | Every command has a unique command code, which determines the operation |
Feedback | Command Feedback | Specifies whether feedback is required by the host microcontroller in reply to the command. 1 = Feedback, 0 = No Feedback |
Para1 | Parameter #1 | First parameter of the specific Command Code |
Para2 | Parameter #2 | Second parameter of the specific Command Code |
Checksum1 | Checksum #1 | First byte of the checksum. Check calculation shown below. |
Checksum2 | Checksum #2 | Second byte of the checksum. Checksum calculation shown below. |
$0 | End Character $0 is 0xEF in HEX | Every command ends with this |
Checksum Calculation:
The checksum is calculated using the following formula.
Checksum (2 bytes) = 0xFFFF - (CMD + Feedback + Para1 + Para2) + 1
Valid Commands:
All commands shown below have Feedback turned off so there will be no data sent from the SOMO-II after the command has been sent from the microcontroller (except for the Query commands which are requesting data).
Function | Serial Command | Description |
---|---|---|
NEXT | 7E 01 00 00 00 FF FF EF | If no track is currently playing, issuing the NEXT command will start playing the first track copied to the media (See the Files & Folder Structure section). If the SOMO-II is currently playing a song or has previously played a song, this will play the next song in the order copied on to the media. |
PREVIOUS | 7E 02 00 00 00 FF FE EF | If no track is currently playing, issuing the PREVIOUS command will start playing the last track copied to the media (See the Files & Folder Structure section). If the SOMO-II is currently playing a song or has previously played a song, this will play the previous song in the order copied on to the media. |
SPECIFY TRACK # |
7E 03 00 00 01 FF FC EF 7E 03 00 00 02 FF FB EF 7E 03 00 00 0A FF F3 EF |
Start playing the first track copied to the media. (See the Files & Folder Structure section) This will start playing the second track copied to the media. This will start playing the tenth track copied to the media. |
VOLUME + | 7E 04 00 00 00 FF FC EF | This will increase the volume by 1 (0 - 30 range, level 20 is default power on setting) |
VOLUME - | 7E 05 00 00 00 FF FB EF | This will decrease the volume by 1 (0 - 30 range, level 20 is default power on setting) |
VOLUME # | 7E 06 00 00 1E FF DC EF 7E 06 00 00 05 FF F5 EF |
This will set the volume to be 30 (30 is the Max) This will set the volume to be 5 |
SPECIFY EQ | 7E 07 00 00 01 FF F8 EF 7E 07 00 00 04 FF F5 EF |
This will set the EQ to pop This will set the EQ to classic (0/1/2/3/4/5 Normal, Pop, Rock, Jazz, Classic, Bass) |
REPEAT A TRACK | 7E 08 00 00 01 FF F7 EF 7E 08 00 00 02 FF F6 EF 7E 08 00 00 1F FF D9 EF |
This will repeat the first track copied to the media. (See the Files & Folder Structure section) This will repeat the second track copied to the media. This will repeat the thirty first track copied to the media. |
PLAY SOURCE | 7E 09 00 00 01 FF F6 EF 7E 09 00 00 02 FF F5 EF |
This will set the SOMO-II to play from a USB Flash Drive This will set the SOMO-II to play from a micro-SD Card |
SLEEP | 7E 0A 00 00 00 FF F6 EF | This will put the SOMO-II into a sleep state, which consumes low power. To get the SOMO-II out of sleep, you need to use a PLAY SOURCE command, followed by your next chosen command. |
RESET | 7E 0C 00 00 00 FF F4 EF | This will reset the SOMO-II module, to be in its powered-on state |
PLAY | 7E 0D 00 00 00 FF F3 EF | Play the audio track selected (if selected) else the first track copied on to the media (See the Files & Folder Structure section) |
PAUSE | 7E 0E 00 00 00 FF F2 EF | Pause the current playing audio Track. If PLAY command is then sent, the audio track will resume from where it was paused. |
SPECIFY FOLDER & TRACK | 7E 0F 00 01 01 FF EF EF 7E 0F 00 01 0A FF E6 EF 7E 0F 00 63 FF FE 8F EF |
This will start playing Folder 1 from Track 1. (See the Files & Folder Structure section) This will start playing Folder 1 from Track 10. This will start playing Folder 99 from Track 255. |
CONTINUOUS | 7E 11 00 00 01 FF EE EF | This will enable continuous mode (disable RANDOM TRACK and REPEAT CURRENT if previously enabled), which will play all songs on the memory card, one after the other. Start track with PLAY. |
STOP | 7E 16 00 00 00 FF EA EF | Stop the current playing audio Track. If PLAY command is then sent, the audio track will start from the beginning. |
RANDOM TRACK | 7E 18 00 00 00 FF E8 EF | This will enable Random Mode (disable CONTINUOUS and REPEAT CURRENT if previously enabled), which plays random tracks one after the other, continuously. Start track with PLAY. |
REPEAT CURRENT | 7E 19 00 00 00 FF E7 EF | This will enable the repeat play mode (disable CONTINUOUS and RANDOM TRACK if previously enabled), which repeats the currently playing track, so it will play over and over continuously. Track must be playing before this command is sent. |
SINGLE PLAY | 7E 19 00 00 01 FF E6 EF | This will disable CONTINUOUS, RANDOM TRACK or REPEAT CURRENT modes if previously enabled, which is how the module starts up by default. This will allow one song to play and then stop. Start track with PLAY. |
QUERY VOLUME | 7E 43 00 00 00 FF BD EF | Query the current volume |
QUERY EQ | 7E 44 00 00 00 FF BC EF | Query the current EQ Setting (0/1/2/3/4/5 Normal, Pop, Rock, Jazz, Classic, Bass) |
QUERY TRACKS USB | 7E 47 00 00 00 FF B9 EF | Query the number of files present on the USB Flash Drive |
QUERY TRACKS uSD | 7E 48 00 00 00 FF B8 EF | Query the number of files present on the micro-SD Card |
QUERY CURRENT TRACK USB | 7E 4B 00 00 00 FF B5 EF | Query the current track playing from the USB Flash Drive |
QUERY CURRENT TRACK uSD | 7E 4C 00 00 00 FF B4 EF | Query the current track playing from the micro-SD Card |
QUERY TRACKS FOLDER | 7E 4E 00 00 01 FF B1 EF 7E 4E 00 00 0B FF A7 EF |
This will return the number of tracks in Folder 1 (001) This will return the number of tracks in Folder 11 (011) |
Successful command received by SOMO-II (Feedback Byte needs to be ON):
If Feedback is required for successful receipt of a command, simply change the Feedback byte from 0x00 to 0x01, and a confirmation message will be sent from the SOMO-II after the command is sent and received.
Feedback Received | Description |
---|---|
7E 41 00 00 00 FF BF EF | Command Successfully received |
Information received from SOMO-II:
These commands are sent from the SOMO-II when certain events occur, and could come at various times.
DATA Received | Description |
---|---|
7E 3A 00 00 01 FF C5 EF | USB Flash Drive Inserted. Sent every time a USD Flash drive is plugged in. |
7E 3A 00 00 02 FF C4 EF | micro-SD Card Inserted. Sent every time a micro-SD card is inserted. |
7E 3B 00 00 01 FF C4 EF | USB Flash Drive Removed. Sent every time a USD Flash drive is unplugged. |
7E 3B 00 00 02 FF C3 EF | micro-SD Card Removed. Sent every time a micro-SD card is ejected. NOTE: when the card is ejected, multiple messages may be sent (ejected, inserted and ejected again). This is a side-effect of the type of micro-SD socket that is installed if the card is ejected slowly, ie holding in the card before releasing. |
7E 3C 00 00 01 FF C3 EF 7E 3C 00 00 54 FF 70 EF |
USB Flash Drive source, Finished playing Track 01 USB Flash Drive source, Finished playing Track 84 (0x54) |
7E 3D 00 00 02 FF C1 EF 7E 3D 00 00 0A FF B9 EF |
micro-SD Card source, Finished playing Track 02 micro-SD Card source, Finished playing Track 10 (0x0A) |
7E 3F 00 00 00 FF C1 EF | SOMO-II has just started up, No media detected |
7E 3F 00 00 01 FF C0 EF | SOMO-II has just started up, USB Flash Drive detected |
7E 3F 00 00 02 FF BF EF | SOMO-II has just started up, micro-SD Card detected |
7E 3F 00 00 03 FF BE EF | SOMO-II has just started up, Both micro-SD and USB Flash Drive detected |
Errors received from the SOMO-II:
If a command is sent to the SOMO-II and the SOMO-II resulted in an error from that command, the following messages could be sent. These are sent on error regardless of if the feedback byte is enabled or disabled.
ERRORS Received | Description |
---|---|
7E 40 00 00 01 FF BF EF | Module is busy |
7E 40 00 00 02 FF BE EF | Module is currently in sleep mode |
7E 40 00 00 03 FF BD EF | Serial received an error |
7E 40 00 00 04 FF BC EF | Checksum error |
7E 40 00 00 05 FF BB EF | Beyond scope of specified file/folder |
7E 40 00 00 06 FF BA EF | Specified file/Folder not found |
Example Connection Diagram
This example schematic shows a simple Serial connection to an external Host such as a 3.3V Microcontroller. It also shows the connections for an external speaker.
KEY MODE
The KEY-MODE provides a stand-alone operation where a host micro is not required. With only 2 push buttons, a 3.7V battery and a speaker, an extremely compact and low component count audio system can be implemented.
Alternatively, KEY-MODE supports extended operation with the use of the ADKEY1 and ADKEY2 inputs, which allow a matrix of inputs (up to 20 push buttons) to be used, each with a different value resistor connected to either ADKEY1 or ADKEY2.
The SOMO-II Audio operations such as PLAY, PAUSE, STOP, NEXT, PREVIOUS, VOLUME etc are all available on individual push buttons.
The following table lists each of the resistor values which are required for each of the 20 push buttons (8 push buttons on ADKEY1, 10 on ADKEY2 inputs, 2 on IO pins), along with an example schematic to show how the push buttons and resistors are connected to the SOMO-II, in the next section.
Function | ADKEY | RESISTOR | Description |
---|---|---|---|
PLAY/PAUSE | 1 | 220K ohm | Play/Pause the audio track selected (if selected) else the first track copied on to the media (See the Files & Folder Structure section) |
STOP | 1 | 100K ohm | Stop the current playing audio Track. If the PLAY/PAUSE button is pressed then the audio track will start from the beginning. |
VOLUME + | 1 | 24K ohm | Pressing this button will cause the volume to increase by 1 (0 – 30 range, level 20 is default power on setting) |
VOLUME - | 1 | 15K ohm | Pressing this button will cause the volume to decrease by 1 (0 – 30 range, level 20 is default power on setting) |
uSD/USB | 1 | 9.1K ohm | This button will toggle between micro-SD card and USB Flash Drive operation. If both media are present, it will default to micro-SD card at start-up. |
SLEEP | 1 | 6.2K ohm | This will put the SOMO-II into a sleep state, which consumes low power. To get the SOMO-II out of sleep, you need to press the RESET button or use the correct Serial command. |
RESET | 1 | 3K ohm | This will reset the SOMO-II module, to be in its powered-on state, and will also awaken the SOMO-II from Sleep. |
REPEAT TRACK MODE | 1 | 0R ohm | This will enable Repeat Track Mode, which will play the current playing track over and over until stopped. Pressing this button again will disable this mode. Only works if pressed when audio is playing. |
CONTINUOUS MODE | 2 | 220K ohm | This will enable Continuous Mode, which will play all the files on the media one after the other and stop when it reaches the last audio track. Pressing PLAY or NEXT once it has stopped, will start the process over. Default is for this mode to be off, which will just play a single track and then stop. Pressing this button again will disable this mode. |
RANDOM TRACK MODE | 2 | 100K ohm | This will enable Random Mode, which will play a random track off the media, followed by another random track, continuously. Pressing this button again will disable this mode. |
Folder 1 Track 1 | 2 | 51K ohm | This will play Track 1 from Folder 1, as a quick method to jump to a specific audio file. |
Folder 1 Track 2 | 2 | 33K ohm | This will play Track 2 from Folder 1, as a quick method to jump to a specific audio file. |
Folder 1 Track 3 | 2 | 24K ohm | This will play Track 3 from Folder 1, as a quick method to jump to a specific audio file. |
Folder 1 Track 4 | 2 | 15K ohm | This will play Track 4 from Folder 1, as a quick method to jump to a specific audio file. |
Folder 1 Track 5 | 2 | 9.1K ohm | This will play Track 5 from Folder 1, as a quick method to jump to a specific audio file. |
Folder 2 Track 1 | 2 | 6.2K ohm | This will play Track 1 from Folder 2, as a quick method to jump to a specific audio file. |
Folder 3 Track 1 | 2 | 3K ohm | This will play Track 1 from Folder 3, as a quick method to jump to a specific audio file. |
Folder 4 Track 1 | 2 | 0R ohm | This will play Track 1 from Folder 4, as a quick method to jump to a specific audio file. |
NEXT/VOL+ | 1 | Directly connect to IO1 pin | If no track is currently playing, momentarily pressing this button will start audio playback, playing the next track in the order copied on to the media. If a track is playing, momentarily pressing this button will skip to the next track in the order they were copied on to the media (See the Files & Folder Structure section). Holding down the button for > 1.2 seconds will cause the Volume to Ramp Up. Dual action for simple 2 button operation. |
PREV/VOL- | 1 | Directly connect to IO2 pin | If no track is currently playing, momentarily pressing this button will start audio playback, playing the previous track in the order copied on to the media. If a track is playing, momentarily pressing this button will skip to the previous track in the order they were copied on to the media (See the Files & Folder Structure section). Holding down the button for > 1.2 seconds will cause the Volume to Ramp Down. Dual action for 2 button operation. |
Connecting up the Resistors and Pushbuttons to the ADKEY inputs
The connection of the push buttons to the ADKEY's is simple. Simply connect the resistor required to the ADKEY1 or ADKEY2 inputs of the SOMO-II module, and connect the other end of the resistor to one side of your push button. Connect the other side of your push button to GND.
Each ADKEY will have up to 10 resistors coming off it, each with its own push button. Only the resistors and buttons required can be connected, it is not necessary to connect all the resistors and buttons. The specific resistor value must be used however to control the specific function, this cannot be changed.
For reliability, a button press needs to be depressed at minimum around 100ms in order for the button press to be detected by the SOMO-II.
Please refer to the image on below for the button schematic.
Example Connection Diagram
This is an example schematic showing the simplest connections to the SOMO-II for KEY MODE. Only 2 buttons are required. NEXT/VOL+ will start playing a track if currently stopped, and will raise the volume if the button is held down for > 1.2 seconds. PRE/VOL- will start playing a track if currently stopped also, and will lower the volume if the button is held down for > 1.2 seconds. See the table under the KEY MODE for more information.
For a comprehensive control of the SOMO-II in KEY MODE, the buttons listed in the section above are connected to pins 5 and 6 in the schematic shown above.
The example schematic also illustrates the connections for both Mono Speaker connection, along with Stereo DAC for either headphones or an external amplifier. If the gain is too high for the chosen application when using the Stereo DAC outputs, a 100ohm resistor can be put in series between the external device and pin 14, along with another 100ohm resistor in series between the external device and pin 13. This will reduce the gain. Other values may be more suitable.
Files & Folder Structure
The SOMO-II is flexible how files are stored on the micro-SD or USB Flash drive media, however in order to have control over which files are played, it is important to follow some simple naming rules in order for the SOMO-II to play the specific file you intend it to play.
The SOMO-II is capable of addressing up to 99 Folders, each with up to 255 songs.
The SOMO-II is not capable of reading ID3 information from the MP3 files, so purely relies on the name of the file as the index (Primary method), or the order the files were copied onto the media (Secondary Method).
While MP3 files can be named almost anything and they will play, in order to index the files so they can be picked on request using a specific serial command to select the folder/file using the Primary Method, the following must be observed:
- 001ABCDEFG.mp3
Where 001 refers to the track number from 1 (001) to 255 as the SOMO-II can address up to 255 songs in each folder, and ABCDEFG refers to any alphanumeric name of your choosing, where the total file name length can be up to 32 characters long (Operating System dependent), ending with an .mp3 extension.
The folder structure should then have the following naming convention:
- 01
Where 01 refers to a number from 01 to 99, as the SOMO-II can address up to 99 folders.
If songs are placed on the media and they may or may not follow the naming convention, then the songs can be played using the PLAY, NEXT, PREV commands or buttons, or using the SPECIFY TRACK # command, which uses the Secondary Method and plays based on the order the songs were copied on to the media, not by the name of the file itself. Songs can be in the root directory or in folders, however the SOMO-II will only care about the order they were copied (Secondary Method) on to the media and not the name or location of the files.
The SPECIFY FOLDER & TRACK command however cannot be used if the naming convention has not been followed (Primary Method), as this relies on the formatting above to be observed.
Note, when using the SPECIFY FOLDER & TRACK command, Folder and Track numbering is in HEX. So the Folders are 0x01 through 0x63 (1 to 99), and the Tracks are 0x01 through 0xFF (1 to 255).
If the above formatting is observed, all commands will work correctly, so both Primary and Secondary methods are functional.
It may be difficult to determine the order songs were copied onto the media, so the Secondary Method should only be used if the order is not critical or the copy order is known. The Primary Method should be used as the preferred method.
Media - micro-SD and USB Flash
Micro-SD cards
The SOMO-II uses off the shelf micro-SD and microSD-HC memory cards with up to 32GB capacity, and compatible with both FAT16 and FA32 file formats. The formatting of the card can be done on any PC/Mac/Linux system with a card reader. Select the appropriate drive and choose the FAT16 or FAT32 file format, depending on the capacity of your micro-SD card. The card is now ready to be used in the SOMO-II.
Note
For 5V systems, connect a series resistor (1K Ohms) on the RX line of the SOMO-II to the TX of the 5V micro-controller.
USB Flash Drive
The SOMO-II is compatible with a range of USB Flash Drives, and has a USB 2.0 interface. It does however require an external USB socket to be installed and connected to the USB+, USB-, and GND pins of the SOMO-II. If the SOMO-II is not powered with 5.0V, then an external 5V supply will be required and connected to the USB socket, else the VCC from the SOMO-II can be connected to the USB socket if the SOMO-II is powered from 5.0V.
Some USB Flash Drives may operate down to as low as 3.7V, however it is recommended to use 5V when using USB Flash Drives.
The USB Flash Drive can be up to 32GB in capacity, and formatted with either FAT16 or FAT32, depending on the capacity of the card.
Note
Certain brands of USB Flash Drives may not work properly. This is evident by some files that may be skipped and not played by the SOMO-II.
Mechanical Dimensions
The height of the module is ~ 11.3mm
Development and Support Tools
Interfacing 4D Systems Display Modules
4D Systems offers a wide range of Intelligent Display Modules which are perfectly suited to interface with the SOMO-II, to provide a front end GUI for users to interact with the SOMO-II.
While any of the 4D Systems Intelligent Display modules are capable of interfacing with the SOMO-II, ones which feature a Resistive or Capacitive touch screen would be the best choice, so no external buttons are required, and communications between the SOMO-II and the Display Module are over Serial, using SERIAL-MODE.
Perfectly suited modules would be the following:
Optional Connections
USB Socket for USB Flash Drive
The SOMO-II Module is capable of having an external USB socket wired to it, so a USB Flash drive can be connected for the source of MP3 files. This USB Flash Drive can be selected with either push buttons or with a serial command, and can be swapped back to the microSD card at any time.
The following diagram illustrates the simple connections required to wire up a USB Socket. Depending on the requirements of your project/system, additional components may be justified, such as ESD projection, capacitors etc. This is a simple illustration only.
Specifications
Absolute Maximum Ratings
Operating ambient temperature | -0°C to +70°C |
Voltage on VCC with respect to GND | 3.2V to 5.5V |
Note
Stresses above those listed here may cause permanent damage to the device. This is for stress rating only and functional operation of the device at those or any other conditions above those indicated in the recommended operation listings of this specification is not implied. Exposure to maximum rating conditions for extended periods may affect device reliability.
Recommended Operating Conditions
Parameter | Conditions | Min | Typ | Max | Units |
---|---|---|---|---|---|
Supply Voltage (VCC) | 3.3 | 4.3 | 5.0 | V | |
Operating Temperature | 0 | -- | +70 | °C | |
Input Low Voltage (VIL) | All pins | -0.3 | -- | 0.3*VCC | V |
Input High Voltage (VIH) | All pins | 0.7*VCC | -- | VCC+0.3 | V |
Global Characteristics Based on Operating Conditions
Parameter | Conditions | Min | Typ | Max | Units |
---|---|---|---|---|---|
Supply Current (ICC) | VCC = 5.0V, Audio Playing | 30 | -- | 300 | mA |
Standby (Sleep) Current | VCC = 5.0V | 25 | mA | ||
Output Low Voltage (VOL) | -- | -- | 0.33 | V | |
Output High Voltage (VOH) | 2.7 | -- | -- | V |
Ordering Information
Order Code: SOMO-II |
Package: 80mm x 120mm (ZIP Bag dimensions). |
Packaging: Module sealed in antistatic ZIP bag. |
Revision History
Hardware Revision
Revision Number | Date | Description |
---|---|---|
2.0 | 01/01/2014 | Initial Public Release version |
Datasheet Revision
Revision Number | Date | Description |
---|---|---|
1.1 | 21/03/2014 | Addition of Optional Connections |
1.4 | 05/03/2019 | Cosmetic Changes to SOMO-II |
1.6 | 13/01/2023 | Modified datasheet for web-based documentation. |
1.7 | 07/03/2024 | Updated formatting for resource centre redesign |