Forum Replies Created

Viewing 15 posts - 166 through 180 (of 204 total)
  • Author
  • in reply to: Using mp3 shiled library with vs1011e #1819

    Just as predicted. The SCI_MODE(4) and SCI_CLOCKF(5) are different. Need to read the 1011 manual and see what the values need to be. Maybe commenting them both out along with VSLoadUserCode (6) might get into playing. Also need to put in some prints. Like the ones commented out. As to display what the SCI_MODE and SCI_CLOCKF are? I don’t initially trust the SPI until I see expected values from it, in print. We can also add a check of the SS_VER that is different between the 1053 and 1011.

    FYI. I have just merged my github to its master branch and removed the “DifferentialOutput” branch.

    in reply to: Reading Sound Volumes #1818

    The cumulative patch .053 provide a VU meter feature. I have just added some functions to access it along with an Example command “V”. In the current pre-release version on my github

    VU Meter
    SCI_STATUS bit 9 enables VU meter, which calculates the peak sample value from both
    channels and returns the values in 3 dB resolution through SCI_AICTRL3. The high 8
    bits represent the left channel, the low 8 bits the right channel.
    Values from 0 to 31 are valid for both channels.
    The VU meter takes about 0.2MHz of processing power with 48 kHz samplerate.
    Received command: 4
    Playing: …
    Enter 1-9,s,d,+,-,i,>,<,p,R,t,m,M,g,h,O,o,D,S,V :
    Received command: V
    VU meter = 1
    Hit Any key to stop.
    VU: L = 1 / R = 1 dB
    VU: L = 1 / R = 1 dB
    VU: L = 13 / R = 13 dB
    VU: L = 11 / R = 14 dB
    VU: L = 16 / R = 19 dB
    VU: L = 15 / R = 18 dB
    VU: L = 19 / R = 21 dB
    VU: L = 20 / R = 21 dB
    VU: L = 19 / R = 23 dB
    VU: L = 22 / R = 19 dB
    VU meter = 0
    Enter 1-9,s,d,+,-,i,>,<,p,R,t,m,M,g,h,O,o,D,S,V :
    Noting the Sensitivity is only 3dB and time averaged. It is not great at detecting peaks. I also see that it is measuring from before the output amplifier stage. So changing the volume does not affect it. You can see this while doing the SineWav Test at different Volumes.

    Aside from this there is a Spectrum Analyzer plugin that can report bands.

    in reply to: TotalLenght of a Mp3 file ? #1817

    That is tough, to do in the perfect sense.

    The VS1053 can do so many different formats and each has different header formats. I have avoided getting specific format issues.

    Recently we addressed BitRate and there is a way to read the average Bit Rate. (Noting Constant versus Variable, hence average.) BR read directly from VSdsp or from the File. Noting that it may actually be Variable Bit Rate. And that the VSdsp is actually slightly skewed from what the file states in the case of CBR.

    Note the datasheet address’s JumpPoints inthe Extra Parameters. Which are sometimes available. This sounds similar to the cue points. After reading about this, it became obvious the skipto() function is not perfectly clean. Hence several formats have the jumpPoints. But the SkipTo works nice and mutes 50ms assuming the corrupted initial packet is passed.


    in reply to: Sound isn't working :( #1815

    That reminds me of Sealing Voltage. Back when I designed ISDN modems we had to initially blast the connection of the RJ45 with a particular current/curve as to invoke the chemical bond of sealing the connection. Not the same thing as Arcing to clean, but seal. As pressure contact was not sufficient to get the proper termination for long haul cables.

    in reply to: Using mp3 shiled library with vs1011e #1806

    Look at VS1011 to VS1053 Migration Guide and think about it in reverse.

    At a glance there are some changes. The hardware differences should be accommodate by the breakout board and your wiring to the Arduino. We should be able to accommodate the software changes to into the library, as configurable. Mostly the 1053 has features that are not available in the 1011. And Register Names and locations have changed.

    The SFE example code is written in PIC. So it is some what helpful.

    Are you up to the challenge? I don’t have the board. So I cannot debug or guess too much about the results. Or your possible interpretations.

    I could rattle off a lot of things to check and address. Starting with …

    The first challenge:

    Can you hook up a SdCard and get the Sd.Begin to work. Then can it talk over the SPI. I think they are compatible. There may be some GPIO that need to be set accordingly.

    First step is talking to the 1011 over the SPI. Need to determine if the VS1011 is GPIO defaulted to VS1002 compatibility. which would be a problem.

    Then in the SFEMP3Shield.cpp vs_init() routine will try to change the clock. This will need to be changed to match the VS1011. And the patch files should be left off the SDcard for now.

    I am currently working off of a pre-release branch which works fine.

    This may hurt…

    in reply to: Sound isn't working :( #1800

    It is good that it works. As for the volume the example sketch there are commands to change it, otherwise it should be constant. With respect to what is being played. There is even a SineWave Test Tone command in the example menu, that will output a constant tone hertz.

    in reply to: problem arduino mega2560+sparkfun+ir remote #1798

    Please note the isPlay() does not reflect the complete status. It only indicates if a file is supposed to be playing at the moment. It does not reflect if it is paused. Playing another file while paused, still indicates a positive for isPlaying(). Hence this can not be used for un-pausing, the way you want.

    I have added new function getState(), see the example ‘p’ command at My current GitHub Fork/Branch . I have changed the ‘p’ command to now toggle pause on and off. It shows how to use the getState() command. This should be representative of what your are attempting.

    Your observation that playTrack (1); called after pauseDataStream(), actually un-paused the play, was not the desired effect. This is corrected. It will now require a stop.

    Also please note that this version requires the Sd.Begin in the main INO and there are some typo corrections of Get vs get / Set vs set… of some function names. All are shown in the example.

    Have fun.

    in reply to: problem arduino mega2560+sparkfun+ir remote #1793

    Stopping before playing next track is normal.

    I can understand that the Pause and Resume can be tricky as my example is stateless, hence the two separate commands. Need to tie a state machine (aka Boolean flag) around them if you want the same IR key to toggle pause.


    in reply to: problem arduino mega2560+sparkfun+ir remote #1790

    I believe that means it works perfectly.

    I am glad it does.

    Is there any observations. Or problems, such as skipping sound when IR data is being decoded?

    in reply to: Sound isn't working :( #1775

    After watching the video it basically it should be working or at least the led.

    I am concerned that your headers are not soldered in to the shield. Which may cause these symptoms. It is hard to tell from the video.
    Regardless connecting 5v to the shields gnd and 5v pins should light up the led.
    Not sure what sfe’s return policy is.
    The clicking you heard is an indication the vs1053 chip was getting some power. Even though there was no led.

    So not sure what where the problem is.
    You may want to volt meter various points on the shield to see what is going on. Such as the 3v and 1.8v. I suspect the 3v is below 3v.

    in reply to: hardware questions (speaker output) #1772

    I should note there was a recent preliminary change in the way Library handles SdFat, requiring a sd.begin() in the main INO. Hope this does not throw you off much. it is simple two line update of any INO file you may have previously created. The example from the library has it and runs out of the box, correctly with it.

    in reply to: hardware questions (speaker output) #1771

    I have added support for the SM_DIFF output on a preliminary branch of my GITHUB fork. For stereo playback streams this creates a virtual sound, and for mono streams this creates a differential left/right output with a maximum output of 3V.

    I have preliminarily tried it out and primitively hear a difference. I have not scoped it, but expect it work.

    Let us know if it helps.


    in reply to: hardware questions (speaker output) #1770

    Join GITHUB and mark any repositories of your interest as watch.

    in reply to: problem arduino mega2560+sparkfun+ir remote #1769

    I have been thinking about attempting just such. Noting that IRremote and SFEMP3Shield both use interrupts. Hence, I expected a conflict between them, resulting in corrupted received IR values, but not necessarily a lock up. The SFEMP3Shield’s default setup of using INT0 is not very real time efficient as it reads the SdCard while in the service of INT0. During which the IRremote’s Timer1 interrupt is blocked.

    As a possible work a round by changing the SFEMP3ShieldConfig.h of



    #define USE_MP3_REFILL_MEANS USE_MP3_Polled

    along with placing


    in the main loop. This would preclude the interrupt conflict and believe it should work. Where it may have the draw back of having short pauses of the playing audio, when receiving a IR command. If this happens leave off the IRremote DEBUG, to help and limit any blocking activities in the loop(). Serial Prints may also delay.

    Let us know how it works or has problems.

    in reply to: Sound isn't working :( #1766

    Your YouTube’s are marked private.

    I did notice the ArduinoBT’s power header is short 2 pins. the 3.3V and CPU reset. These are not needed by the MP3 Shield. So direct connection and proper power should result in the Red LED being on.

    Have you measured some voltages locally to the shield using a voltmeter?

Viewing 15 posts - 166 through 180 (of 204 total)