• 15
    Jun - 2017

    1 min | 2847

    #MicroPython: Vu meter using WS2812B and SPW2430

    MicroPython | 1 min | 2847


    Hi everyone!

    As soon as I saw the WS2812B led strip, I thought: doing a vu-meter with these LEDs would be a nice thing!.

    I was looking for economical MEMS microphones with board (I didn't want to solder a board). I found two options: SPH0645LM4H and SPW2430.

    The SPH0645LM4H uses an I2S interface and the SPW2430 has an analog output. The second board (SPW2430) has two outputs: AC pin which has a capacitor in series to eliminate the DC output of the IC, and the output of the IC (DC pin).



    I bought the MEMS mics from exp-tech, here some links (from adapfruit too):

    WIPY2.0WiPy 2.0 x 1   
    SPH0645LM4HSPH0645LM4H x 1   
    SPW2430SPW2430 x 1   
    WS2812b WS2812B LED Strip x1

    I planned to used the Wipy2.0, that's why I've choosen the SPW2430 for this project. The I2S is not implemented on the Wipy2.0 (some code can be found here, but it's not working, I think).


    Wipy 2.0 WS2812B SPW2430
    3.3v VCC VIN
    P11(G22) GREEN CABLE
    P13(G5) DC

    I sampled the DC output of the SPW2430 using an osciloscope and I got the following figure

    Audio sample SPW243!
    Fig. 1: Osciloscope capture: SPW2430 output signal

    The input was generated with my smartphone using a tone generator app at 440Hz (A). The output signal is not bad. Some noise peaks can be seen, but for a vu-meter that shouldn't be a problem. If you are going to use this microphone in your proyect, I would suggest to use an OP to amplify the signal. According to the board description the sensor can provide a Vpp = 200mV. More details about the board are: f = 100-10kHz, Zout = 450 Ohms and DC bias = 0.7V.