logo elektroda
logo elektroda
X
logo elektroda

Shenzhen Pinmei / Linklemo A9 Mini Camera with Beken BK7252NQN481 – Photos, Boot Log, Flash Backup

divadiow 2562 34
ADVERTISEMENT
  • Black security camera on a stand, angled slightly to the side.

    The ubiquitous A9 Mini Wi-Fi Camera, in its seemingly many forms, is a compact, budget-friendly smart surveillance device, often seen for as low as $1USD as a Welcome Deal on sites like Ali Express. Positioned as a security camera, baby monitor, spycam, camcorder, it is often advertised by sellers as being 4K, having night-vision/infra-red, AI, motion detection. It can usually be said that one or more of these claims is false or at best, exaggerated. The device that is the subject of this post is listed with these "sellpoints" on Ali:

    -Xiaomi Mini Camera4k Wireless Wifi Remote Camera4K Ultra Clear Image Quality:Capture every detail with 4K resolution, ensuring clear and vivid footage even in low light.
    -WiFi/IP/AP Flexible Connection:Seamless connectivity with multiple modes: WiFi, IP, or AP, for uninterrupted monitoring.
    -Intelligent Mobile Detection:High-precision motion sensors trigger alerts, reducing false alarms and enhancing security.
    -Portable Design with Magnetic Base:Easily place the camera in any corner with its magnetic base, saving space and ensuring flexibility.
    -Long Term Battery Life:Reliable performance with a large capacity battery, ensuring worry-free operation.

    I am immediately sceptical about it being 4K and having anything to do with Xiaomi!

    My device was sourced from Ali here https://www.aliexpress.com/item/1005008584918966.html

    Xiaomi 4K WiFi mini camera with microSD card, displayed on the AliExpress store product page.

    I'll now start by documenting the packaging and device before diving into the internals. Subsequent posts will detail the pairing/app user experience, as well as providing real images and videos created by the device.




    The box for this came marked with reference to "Shenzhen Pinmei Technology Co., Ltd".

    Blue box with a white label showing a barcode and description of a Xiaomi 4K Mini Camera. Box of a battery-powered HD IP camera labeled Smart Camera. A smart camera product box with an instruction manual placed on a carpet. IP camera set: camera, USB cable, mount, manual, and box on carpet. The interior of a small electronic device with a visible lithium-polymer battery and circuit board. A small, black, square portable speaker is lying on a light carpet. Micro USB port on a black plastic electronic device. A small, black, square speaker or electronic device with vent holes and a slot, placed on a beige carpet. A black, square-shaped webcam with a central lens and attached USB cable, lying on a carpet. Small black electronic speaker with two buttons, lying on a beige carpet. Disassembled plastic case and USB cable on a carpet. Wi-Fi device setup instructions from a mobile app shown on a paper lying on a carpet. Smart camera instruction manual with QR code, app icon, and screenshot of mobile app interface.

    Inside we see a 2mb BK7252NQN481 - datasheet: https://www.elektroda.com/rtvforum/topic4118348.html#21526095

    Printed circuit board with microSD slot, micro USB port, integrated circuit, and buttons. Printed circuit board with a connected battery and micro USB socket. Printed circuit board with electronic components, a micro USB port, and a camera lens on a blue surface. A circuit board with a mounted camera lens and a lithium-polymer battery on the left. Electronic module with camera lens and flat cable connector on a blue background. A printed circuit board with electronic components, including a microphone, connectors, and ICs. A circuit board with a mounted camera lens and a connected lithium-polymer battery. A printed circuit board with electronic components and a microSD card slot. Printed circuit board with electronic components, a micro USB port, memory card slot, and power wires.

    from TX1 @115200 baud

    Code: Text
    Log in, to see the code


    On one side are pads labelled TDI and TDO (accessible with camera ribbon removed). TMS and TCK are not so obvious.

    PCB of the Wi-Fi A9 camera module seen from above, placed on a blue service mat.

    TCK and TMS are these two:

    A circuit board with a camera lens, battery, and labeled technical pins on a blue background.

    I will later attempt SPI dump using these 4 pads as well as UART backup.

    Close-up of BEKEN BK7252NQN48 chip on PCB with marked JTAG pins and a partial pinout diagram.

    PCB text: INO-IPC-A9-V2.4 - I have not found FCC submissions for this device or company

    From RX1/TX1 Easy Flasher reads in BK7252 mode but this skips bootloader. It also reads in N mode which covers the whole 2MB. Maybe BK7252N is more like BK7231N, it also seems to have a romcode like N. Maybe EF needs to have separate BK7252U and BK7252N modes. Maybe EF could have chip detect and it select the right mode if known? BK7252N CHIP_ID = 0x7252a

    BKFIL is also happy with BK7252N where it wasn't interested in the older BK7252U.

    Code: Text
    Log in, to see the code


    Screenshot of BK7231 Easy UART Flasher software with Reading success! message and memory read details.

    Flash ID is familiar EB6015 and coeff in efuse is 00e46d00 00e46d00 00e46d00 00e46d00

    Code: Text
    Log in, to see the code


    I propose a split of BK7252U and N folders in FlashDumps https://github.com/openshwprojects/FlashDumps/pull/28

    If accepted my backups will land in https://github.com/openshwprojects/FlashDumps/tree/main/IoT/BK7252N

    that's it for tonight with this cam

    Cool? Ranking DIY
    About Author
    divadiow
    Level 34  
    Offline 
    divadiow wrote 2788 posts with rating 482, helped 249 times. Live in city Bristol. Been with us since 2023 year.
  • ADVERTISEMENT
  • #2 21526892
    p.kaczmarek2
    Moderator Smart Home
    Are you sure that this device is encrypted? This encryption keys looks like the NiceMCU keys, which are invalid because readout is disabled. @insmod ?

    Is your device working with this exploit (get video locally): https://www.elektroda.com/rtvforum/topic4117962.html
    Helpful post? Buy me a coffee.
  • #3 21526900
    divadiow
    Level 34  
    p.kaczmarek2 wrote:
    Are you sure that this device is encrypted? This encryption keys looks like the NiceMCU keys, which are invalid because readout is disabled. @insmod ?

    not yet analysed dump to see if encryption is used. that's just what was read from efuse.

    if readout is disallowed isn't the read 00000s rather than an actual key?

    p.kaczmarek2 wrote:
    Is your device working with this exploit (get video locally): https://www.elektroda.com/rtvforum/topic4117962.html


    not yet attempted
  • #4 21526914
    p.kaczmarek2
    Moderator Smart Home
    There are string references, so I guess not encrypted.
    A program window displaying a grid filled with random characters and letters, resembling hexadecimal or binary data view.
    Screenshot showing a table with system messages and code snippets in a desktop application.
    I think we already saw the same "read key is incorrect" behaviour in this topic:
    https://www.elektroda.com/rtvforum/topic4092465-60.html#21342226
    Also here:
    https://www.elektroda.com/rtvforum/topic4092465-30.html#21341811

    So, is this chip like BK7231N, has it bootloader "stored outside in romcode", so it can't be bricked by writing garbage data to 0x0 - 0x11000 section? Or is it like BK7231T and old BK7252, where it can be bricked by overwriting bootloader in 0x0 - 0x11000 section (then it has to be recovered via SPI)?

    It would be cool if this chip could boot on BK7231N binaries
    Helpful post? Buy me a coffee.
  • #5 21526936
    divadiow
    Level 34  
    p.kaczmarek2 wrote:
    So, is this chip like BK7231N, has it bootloader "stored outside in romcode", so it can't be bricked by writing garbage data to 0x0 - 0x11000 section?


    I assumed/hoped so. I'll get working SPI method then confirm by killing 0x0->

    Added after 5 [minutes]:

    I've not looked inside it, but the rom dump was also successful. In flashdumps.
  • #6 21526965
    insmod
    Level 23  
    Rom mentions BK7238 at 0x18B8, so i guess you would have to try to boot 7238 binaries, and not N.
    And keys readout is not disabled, since we can get at least something out of them, but addresses were probably just shifted,
  • #7 21526977
    divadiow
    Level 34  
    cool cool.

    insmod wrote:
    Rom mentions BK7238 at 0x18B8


    ah yes. did notice this in main flash dump actually

    Screenshot of a hex editor displaying a file with the string BK7233...1.0.0.14 highlighted.
  • #8 21527046
    insmod
    Level 23  
    Maybe you should also try to take a 4M backup?
    FAL prints that flash length is 4M, even if partitions are configured to 2M
    
    [D/FAL] (fal_flash_init:63) Flash device |             beken_onchip | addr: 0x00000000 | len: 0x00400000 | blk_size: 0x00001000 |initialized finish.
    [D/FAL] (fal_flash_init:63) Flash device |         beken_onchip_crc | addr: 0x00000000 | len: 0x00400000 | blk_size: 0x00001000 |initialized finish.
  • ADVERTISEMENT
  • #10 21527091
    p.kaczmarek2
    Moderator Smart Home
    It's the address wrap around I've mentioned recently. This is the way we can read bootloader on BK7231T. BK7231T has read offset 0x0 to 0x11000 protected, but if we add 2MB, then we can both read.... and write there. That's how you can brick your BK7231T.
    A screenshot of Visual Studio shows a C# code segment for managing BK7231T microcontroller flash memory.

    Added after 1 [hours] 49 [minutes]:

    Tried flashing to BK7238, no luck:
    
    BK7238_1.0.14                                       
    REG:cpsr        spsr        r13         r14            
    SVC:0x000000D3              0x00401C1C  0x000033A0       
    IRQ:0x000000D2  0x00000010  0x00401E0C  0x27C9E5CB  
    FIR:0x000000D1  0x00000010  0x00401FFC  0x8C30D003  
    SYS:0x000000DF              0x0040192C  0x00000158     
    ST:0x00010000                                     
    [I/FAL] Fal(V0.4.0)success
                                           [I/OTA] RT-Thread OTA package(V0.
    2.8-beken-1133282d-20220604) initialize success.
                              
    [E/OTA] (ota_main:178) App verify failed! Need to recovery factory firmw
    are.
                                                                           
                                                 
    go os_addr(0x10000)..........
      
    

    and if I flash with bootloader overwrite:
    
    BK7252N_1.0.14
                                                                    
    REG:cpsr        spsr        r13         r14                     
    SVC:0x000000D3              0x00401C1C  0x000033A0              
    IRQ:0x000000D2  0x00000010  0x00401E0C  0x0789E181         
    FIR:0x000000D1  0x00000010  0x00401FFC  0x8430D003      
    SYS:0x000000DF              0x0040192C  0x00000158                 
    ST:0x00010000                                                    
    [I/FAL] Fal(V0.4.0)success
                                             
                                           [I/OTA] RT-Thread OTA package(V0.
    2.8-beken-1133282d-20220604) initialize success.
                              
    [E/OTA] (ota_main:178) App verify failed! Need to recovery factory firmw
    are.
                                                                                                                             
    go os_addr(0x10000)..........
      
    

    Interesting, it managed to print out stuff and identify itself as BK7252N:
    Screenshot of RealTerm program displaying BK7231T microcontroller boot messages and serial port settings.
    Helpful post? Buy me a coffee.
  • ADVERTISEMENT
  • #12 21527849
    austin007
    Level 17  
    Thank you for sharing your work. Is it the same hardware as in the round A9 camera from the thread discussed earlier*? I looked at a picture of one customer on Aliexpress and it looks better than the ones from the round A9. If it's the same image sensor and lens, the difference is due to the firmware and would manage to upload it from yours to the round A9.

    *https://www.elektroda.pl/rtvforum/topic4117962.html
    AE photo:
    Surveillance camera view of a bright living room with a white sofa, leaf-pattern rug, kitchen, and stairs; green dot with “87kB” in the top right corner. .
  • #13 21527997
    error105
    Level 14  
    And I'm interested in whether it outputs any stream? For 9£ a nice option to read my analogue water meter, I have an ESP32CAM there but this one so much more convenient because it has a case etc :)
  • #14 21528009
    p.kaczmarek2
    Moderator Smart Home
    @austin007 we've already seen about four variants of these A9s and their batches are not interchangeable with each other (there is either BK7525, or BK7525N, or XF16, or some other chip). On the other hand we would still love to see the inside of your camera from @divadiow , what MCU do you have inside there? Will you rip the batch?

    @error105 in this topic we are focusing on changing the firmware. Access to the video stream is available without changing the firmware. This was presented here: How to access the A9 camera video stream for $1 from the LAN (NodeJS) site? .
    Helpful post? Buy me a coffee.
  • #15 21528651
    divadiow
    Level 34  
    >>21527849

    that sample pic looks too good to be an A9 cam though doesn't it? The aspect ratio and wide angle lens isn't something I've seen I don't think for a camera at this level, not my A9s anyway.

    on the subject of cameras, this section in the boot log I think is the device trying to match i2c addresses for cameras the firmware supports so it knows which to initialise

    Code: Text
    Log in, to see the code


    It finally settles on GC0329C.

    Galaxy Core - GC0329 - 0.3M - 640*480@15fps
  • #16 21528719
    p.kaczmarek2
    Moderator Smart Home
    salve_id is in BK code:
    Screenshot showing a fragment of code in drv_i2c_main.c with a typo in the variable salve_id.
    Btw maybe we should add a "camera" tag for Devices List?
    https://openbekeniot.github.io/webapp/devicesList.html
    Helpful post? Buy me a coffee.
  • #17 21528729
    divadiow
    Level 34  
    sure. there are other platforms missing too though.
  • #18 21528956
    p.kaczmarek2
    Moderator Smart Home
    This also needs to be fixed - there is just one result for "camera" on our site:
    Screenshot of a device list table showing a camera, button, and cable.
    Helpful post? Buy me a coffee.
  • ADVERTISEMENT
  • #19 21529763
    divadiow
    Level 34  
    On the subject of the Pinmei A9 BK7252 cam:

    in pairing mode it broadcasts an AP - the SSID and key for which can be seen in the boot log

    Code: Text
    Log in, to see the code

    Screenshot showing Wi-Fi network LLM_H0A9_06615F with No Internet, secured message.

    client is assigned 192.168.9.100 from cam on 192.168.9.252

    Nmap with scan command nmap -sS -sU -T4 -v -p T:0-65535,U:0-65535 192.168.9.252 sees these ports and states:

    Code: Text
    Log in, to see the code


    mention of one such ports here https://community.home-assistant.io/t/popular...mini-wi-fi-camera-the-ha-challenge/230108/394

    no signs of life with cam-reverse

    A console log fragment showing HTTP server start and network device search.

    Screenshot of a terminal showing logs from running an HTTP server and searching for devices on a local network using the bin.cjs script.




    And now pairing with the official "Linklemo" app https://play.google.com/store/apps/details?id=com.xcthings.fchan

    Screenshot of a smart home app showing one discovered device ready to be added. App screen for configuring a device's Wi-Fi; only 2.4 GHz is supported, test network selected, and password field visible. App screen with Connect Device message and magnifying glass icon filled with blue liquid. Screenshot of an app with the option to select a device name, featuring Sitting room, bedroom, and corridor buttons. App interface showing one security camera, which is currently turned off. Close-up of a white object with red and blue geometric symbols, viewed from a security camera app. Mobile app screen with a user menu for settings and service management options. Screenshot of an app with a motion detection alert from a bedroom camera. A mobile app screen showing Linklemo's about page with logo, contact info, and menu options. Screenshot of a device settings app with a message saying No firmware can be upgraded. Screenshot of an app showing device information for the INNO-A9, including model, firmware, and hardware details. Screenshot of the system settings screen in a mobile app showing various configuration options.

    video and image samples attached

    Screenshot showing codec and technical details for video and audio streams in a media file. Displayed image details such as dimensions, resolution, and bit depth.
  • #20 21529911
    p.kaczmarek2
    Moderator Smart Home
    Are you able to pair with this app without pairing with cloud? Via access point?

    Can you provide here the APK file of this app? Maybe we could analyze it.
    Helpful post? Buy me a coffee.
  • #21 21530062
    divadiow
    Level 34  
    p.kaczmarek2 wrote:
    Are you able to pair with this app without pairing with cloud? Via access point?


    haven't tried, but app requires registration and login and there are at least these IPs it wants to access, so...

    prod.glbs.xcthings.com - 47.240.1.244, 47.252.5.225, 8.209.77.49, 39.108.59.60

    https://reports.exodus-privacy.eu.org/en/reports/596710/
  • #22 21530553
    p.kaczmarek2
    Moderator Smart Home
    There seems to be some packet parsing and writing in your disassembly, but I am not even sure if it's for communication with the camera or with the cloud. It seems to be using Google Protocol Buffers:
    https://protobuf.dev/
    More in-depth analysis is needed.

    It would help to know whether it's possible at to interface those cameras without cloud.
    Helpful post? Buy me a coffee.
  • #23 21532561
    divadiow
    Level 34  
    p.kaczmarek2 wrote:
    It would help to know whether it's possible at to interface those cameras without cloud.

    not having much luck. with phone on AP with no internet the device pairing process just times out and:

    App screen showing device connection failure with Connection failed and troubleshooting steps.

    log out as it connects

    Code: Text
    Log in, to see the code
  • #24 21540472
    Testerrr
    Level 25  
    I noticed that you can have a preview in the Linklemo app when you are connected to the camera when it is AP mode. My phone has data off. Wifi connected to LLM_H0A9_07B75F. There is a preview. In Network info same zeros, only MAC address is given. Connection settings cannot be changed. Repairing does not work. Even disconnect does not work
    (this function is not supported in local mode). On github they wrote that no connection settings can be changed in local mode.

    I also failed to access stream:
    node bin.cjs http_server --config_file config.yml
    2025-05-05T21:40:45.023Z [info] Starting HTTP server on port 5000
    2025-05-05T21:40:45.029Z [info] Searching for devices on 192.168.9.252

    The port scanner detects the address 192.168.9.252, it appears as Beken Corporation.
    Is there any way to connect to the stream from Windows? Is it necessary to change the firmware?
  • #25 21540483
    p.kaczmarek2
    Moderator Smart Home
    The new firmware does not yet support the camera controller anyway, so it won't do much for now.

    And which camera do you have exactly? The one in the topic, on the BK7252N?
    Helpful post? Buy me a coffee.
  • #26 21540644
    Testerrr
    Level 25  
    I own the camera from this topic. BK7252N. Well nothing, it remains to wait. Maybe when the camera gains popularity and displaces these round A9s, then maybe something will move on the subject....

    Regards.
  • #27 21564217
    austin007
    Level 17  
    My A9 round is an early version. Quite poor with a sub-lens without coatings. BK7252 UQN68, not sure what the matrix is. Battery faded. Cost $1 at mayfriend a few over a year ago.
    Close-up of a circuit board from an A9 webcam with visible lens and ribbon connector. .
    Close-up of a green circuit board showing a camera lens, microphone, and micro USB port. .
    Close-up of a round PCB with the BK7252 chip, micro USB connector, and other electronic components. .
    Close-up of a BK7252UQN68 integrated circuit on a green printed circuit board with electronic components and traces. .
  • #28 21564294
    divadiow
    Level 34  
    interesting. thanks for posting! have you considered capturing the boot log from the TX pad and then maybe dumping firmware from RX/TX or, probably better, the unlabelled pads on the underside which are possibly usable with a CH341A? This approach was taken with this BK7252U https://www.elektroda.com/rtvforum/topic4123266.html
  • #30 21584124
    divadiow
    Level 34  
    excellent. will test. just gotta finish a short post about another BK7252U cam

Topic summary

The Shenzhen Pinmei / Linklemo A9 Mini Camera featuring the Beken BK7252NQN481 SoC is a low-cost Wi-Fi surveillance device often marketed with exaggerated features such as 4K resolution and advanced AI capabilities. Analysis of the device's firmware and boot logs reveals it uses a GC0329C image sensor (0.3MP, 640x480@15fps) rather than a true 4K sensor. The device broadcasts an access point (SSID: LLM_H0A9_xxxxxx) with default credentials and assigns IP addresses in the 192.168.9.x subnet. Network scans show open TCP and UDP ports, but attempts to pair or access the video stream locally without cloud interaction are limited or time out. The firmware is based on Beken chips related to BK7231 and BK7238 families, with bootloader and flash memory characteristics discussed, including flash size (4MB with 2MB wrap-around) and encryption key readout issues. Attempts to flash BK7238 firmware were unsuccessful. The device requires cloud-based app registration for full functionality, and local mode restricts configuration changes. Current open-source firmware support is limited, and no stable method exists yet to access the video stream from Windows or replace the firmware to unlock full local control. The discussion highlights the diversity of A9 Mini camera variants with different chipsets (BK7525, BK7525N, XF16) and the need for further reverse engineering to enable local streaming and firmware modification.
Summary generated by the language model.
ADVERTISEMENT