logo elektroda
logo elektroda
X
logo elektroda

SurpLife (Zengge) Symphony Controller USB SPI: BK7238 Firmware Details

divadiow 678 7
ADVERTISEMENT
  • Helpful post
    #1 21329884
    divadiow
    Level 34  
    SurpLife (Zengge) Symphony Controller USB SPI. Very small.

    WiFi SPI LED Controller with USB cable on a wooden table Photo of an electronic board with several components and a connected white wire. SurpLife (Zengge) USB SPI controller module on a white background.

    BKFIL and Easy Flasher firmware backup attached. The coeff on this device is 84f37800 84f37800 84f37800 84f37800.

    boot at 115200 baud

    Code: Text
    Log in, to see the code


    app boot is at 2000000 baud
    Code: Text
    Log in, to see the code


    attempting OTA with mhflasher to see what it says:

    Code: Text
    Log in, to see the code


    detected by the Magic Home and SurpLife apps but SL has all the SPI LED scenes and features

    Device information screen from an app showing device name and firmware version. Symphony Controller app screen with hexagonal menu items. App screen for connecting the device to Wi-Fi. App screen showing connection to Wi-Fi network LEDnet007788A8A9.

    @insmod's Arduino SDK build boots:
    Screenshot of OpenBK7238 control panel.
    Do you have a problem with Arduino? Ask question. Visit our forum Arduino.
  • ADVERTISEMENT
  • #2 21330584
    p.kaczmarek2
    Moderator Smart Home
    A BK7238 device, not BK7231? Very interesting, how did you get one?
    Helpful post? Buy me a coffee.
  • ADVERTISEMENT
  • #4 21521547
    divadiow
    Level 34  
    hooked this back up to see what was on it. Early OpenBK7238.

    OpenBK7238 control panel with configuration, restart, and web application launch buttons.

    OTA I guess wasn't working at this point so flashed with EF
    BK7231 Easy UART Flasher window with Write success! message indicating successful firmware writing.

    I notice the OpenBK7238 log out must have switched UART too.

    1.18.84 OTA- > 1.18.84 log:

    Code: Text
    Log in, to see the code


    flashed factory back from 0x0 and tested OpenBK7238 flash and OTA was still OK as if new user converting from factory.

    OTA still behaves as it should ✅

    Main interface of the OpenBK7238 web panel with device information and configuration options.

    Added after 52 [minutes]:

    although SPI isn't yet implemented yet on BK7238, here are the pin assignments discovered by trial-and-error and educated guesses after marking pins with traces

    Code: Text
    Log in, to see the code


    P1 is the microphone, not supported in OBK

    PCB with electronic components and a microcontroller pinout diagram in the upper left corner.

    ZJ-BWCUCS-HC-1K-43 V1.0
  • ADVERTISEMENT
  • #5 21521657
    p.kaczmarek2
    Moderator Smart Home
    Do we have access to any Tuya ADC samples to see how they use mic?
    Helpful post? Buy me a coffee.
  • #6 21521690
    divadiow
    Level 34  
    hmm. unsure. I'll trawl a selection of these SDKs
    A list of folders with names of electronic module chips visible in a file explorer window.
    There's this in XR806, but that's audio, not necessarily mic I guess
    Screenshot of a project folder containing C source and header files for an audio demo.

    Added after 1 [hours] 2 [minutes]:

    a ton of stuff in the attached, but don't see anything super relevant.
    other things maybe interesting?
    A list of C source and header files in a pixel driver project folder. ZIP archive window with a list of folders in the os_kv directory. Screenshot of a folder containing directories and files from a software project. Screenshot of a folder window with several C source files and a README file. Screenshot of a file explorer window displaying C source and header files from the tuyaos_dimmer_driver_demo project.
  • ADVERTISEMENT
  • Helpful post
    #8 21540520
    p.kaczmarek2
    Moderator Smart Home
    That's lot of interesting samples, but let's focus on mic for now.
    driver_mic readme translated to english by GPT:
    Quote:

    Microphone
    Introduction
    The Microphone is a common input device used to convert sound signals into electrical signals. This demo shows how to capture audio data from a microphone and save it to internal flash or an SD card.

    Features
    This sample code demonstrates how to initialize the microphone, collect audio data, and save it to a specified storage medium. The main features include:

    Initializing the microphone and audio system.

    Configuring the audio sampling rate (to allow the speaker to directly play back audio from the MIC, only 8kHz or 16kHz is supported), sample bit depth (16-bit), and channels (mono).

    Detecting audio trigger signals through a GPIO pin.

    Using a ring buffer to store audio data.

    Saving audio data to internal flash or an SD card.

    Reading audio data from the storage medium and playing it back.

    File Structure
    example_recorder.c: The main source file containing the implementation of microphone initialization, audio recording, and storage.

    Usage
    Ensure the hardware is properly connected, and both the microphone and SD card are connected to the development board.

    Configure the config file in the project and enable CONFIG_FATFS to support the SD card file system.

    Compile and flash the code to the development board.

    Run the program, press the audio trigger button to start recording, and release the button to stop recording and begin playback.

    About PCM and WAV
    To convert PCM to WAV format, simply add a WAV header in front of the PCM data. Refer to the diagram below for the WAV header format:



    Notes
    Ensure the SD card is properly formatted and has sufficient storage space.

    Adjust the GPIO pins and audio parameters according to your actual hardware configuration.

    The recording duration is limited by the size of the ring buffer and the available storage space.

    It is creating wav file... it's not using ADC directly, it seems to be using TKL system:
    Code: C / C++
    Log in, to see the code
    Helpful post? Buy me a coffee.

Topic summary

The discussion centers around the SurpLife (Zengge) Symphony Controller, which utilizes the BK7238 chip. The user shares firmware details, including a backup of BKFIL and Easy Flasher, and mentions the device's coefficient and boot settings. A follow-up response provides a link to purchase the device and additional remote options. The user confirms the device is based on the BK7238, not the BK7231, prompting interest in its specifications and capabilities.
Summary generated by the language model.
ADVERTISEMENT