Skip to content

Instantly share code, notes, and snippets.

@probonopd
Last active February 2, 2026 16:00
Show Gist options
  • Select an option

  • Save probonopd/18b3ed65a69d0229eb630c47d7e316dc to your computer and use it in GitHub Desktop.

Select an option

Save probonopd/18b3ed65a69d0229eb630c47d7e316dc to your computer and use it in GitHub Desktop.

M-VAVE SMK-37 PRO

https://www.m-vave.com/productinfo/1431195.html

The M-VAVE SMK-37 PRO is a MIDI keyboard (controller) with a built-in DX7 compatible FM tone generator.

It would be so much more valuable if the firmware would be open source for the community to modify and improve.

Note to manufacturer

Please give information how we can customize firmware. You will sell more. Thanks!

Information gathering

The firmware update file has the extension .fwsc and contains strings that make it seem probable that it uses a scheme similar or identical to what is described in https://kagaimiq.github.io/jielie/datafmt/newfw.html

So possibly a chip by JieLi Technology is used: https://kagaimiq.github.io/jielie/chips/ is used.

https://github.com/kagaimiq/jielie contains useful information.

Firmware extraction

git clone https://github.com/kagaimiq/jl-misctools
python3 -m pip install crcmod
python3 jl-misctools/firmware/fwunpack_newfw.py /mnt/c/Users/User/Downloads/*fwsc
#
# /mnt/c/Users/User/Downloads/SMK-37 Pro_012.fwsc
#

--- UFW file ---
 chip name: "AC791N"
Firmware base is at @0
  Burner size....: 544
  VID............: b'0.01'
  Flash size.....: $0FF000
  FS version.....: 16
  Block alignment: 16
  Special option.: $FF
  PID............: b'AC791N_STORY\xff\xff\xff\xff'
(top) <JLFS Entry @00000020 - 71C8 @000000A0/000000A0 (     14384/     14384) - 00/00 / 0 -- "uboot.boot">
(top) <JLFS Entry @00000040 - 70D5 @000038D0/000038D0 (       699/       699) - 02/80 / 0 -- "isd_config.ini">
Firmware chipkey from isd_config.ini: 980F
(top) <JLFS Entry @00000060 - FFFF @00004000/00004000 (4294967295/4294967295) - 81/FF / 0 -- "app_dir_head">
(top) <JLFS Entry @00000080 - FFFF @000FF000/000FF000 (      4096/      4096) - 12/01 / 65535 -- "key_mac">
Using chipkey: $980F
(App Area Head) <JLFS Entry @00004000 - BC2A @02000120/00004020 (    616499/    616467) - 83/FF / 0 -- "app_area_head">
Entry point address: 0x2000120
(App) <JLFS Entry @00004020 - CB2D @00000120/00004120 (    615828/    615828) - 82/FF / 0 -- "app.bin">
(App) <JLFS Entry @00004040 - 2E75 @000966B4/0009A6B4 (       383/       383) - 82/FF / 0 -- "cfg_tool.bin">
(App) <JLFS Entry @00004060 - FFFF @0009C000/000A0000 (    147456/    147456) - 12/81 / 0 -- "VM">
(App) <JLFS Entry @00004080 - FFFF @00000000/00004000 (    638976/    638976) - 92/82 / 0 -- "PRCT">
(App) <JLFS Entry @000040A0 - FFFF @000C0000/000C4000 (      4096/      4096) - 92/82 / 0 -- "BTIF">
(App) <JLFS Entry @000040C0 - FFFF @000C1000/000C5000 (      4096/      4096) - 92/81 / 0 -- "USRTRIM">
(App) <JLFS Entry @000040E0 - FFFF @000C2000/000C6000 (    167936/    167936) - 92/81 / 0 -- "USRFLASH">
(App) <JLFS Entry @00004100 - FFFF @000F4000/000F8000 (     40960/     40960) - 92/81 / 1 -- "USR">
(Res) <JLFS Entry @0009A833 - ABBD @00000020/0009A853 (      2937/      2905) - 83/FF / 1 -- "cfg">
====> <JLFS Entry @0009A853 - 017D @00000040/0009A873 (      2873/      2873) - 82/FF / 1 -- "eq_cfg_hw.bin">

Strings like btstack_lowpwer_deal possibly suggest https://github.com/Jieli-Tech/fw-AC63_BT_SDK/ (or similar) being used?

Possbly JL_AC79_DevKit V1.0 is the development environment?

https://doc.zh-jieli.com/AC79/zh-cn/master/board_description/board_overview/index.html

@LarsLinux93
Copy link

Disassembled my SMK37 Pro after seeing this post and found the main chip to be marked with JL aka Jie Li "C108221-11B8" in a LQFP48 package. Basic search for "C108221" on the site of the manufacture in the documentation center suggests that you are right to assume the chip family AC63. However, I was not able to find a datasheet or confirm the markings vs packages and model. Some other chips seem to be flash and perhaps power management. I attach some picture for posterity.
IMG_20250828_184202509
IMG_20250828_184127544
IMG_20250828_184133266_HDR

@f0m3
Copy link

f0m3 commented Sep 10, 2025

what is the latest firmware version? my device says 1.05 is installed. I cant find any information about the latest release

@sjuswede
Copy link

what is the latest firmware version? my device says 1.05 is installed. I cant find any information about the latest release

The latest version is 1.10, also known as 13 or 17-07-2025.

@bonsembiante
Copy link

bonsembiante commented Feb 2, 2026

more information regarding JieLi "C108221-11B8" chip. it's a QFN48 package. these chips are a bit difficult to identify, but there are a few relevant notes here: https://www.reddit.com/r/diyelectronics/comments/1dxwom5/how_to_identify_jieli_jl%CF%80_bluetooth_chips/

it seems to be an AC7911BA, and it seems to be the same that the ones present in M-vave Mini Universe and Elemental with label "C094524-11B8":

Datasheet available here https://jlcpcb.com/api/file/downloadByFileSystemAccessId/8604442319861137408 and here https://jlcpcb.com/api/file/downloadByFileSystemAccessId/8604442319861137408

Usb data plus and data minus seem to be at pins 47 and 48, as told in its datasheet, so it seems that the assumptions are correct.
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment