Little Desk Voice Assistant

One of my favorite things to do leading up to Maker Faire is to reach out to interesting people / projects / exhibits ahead of time to learn more about what they’re doing, how they make things, and be sociable, really.  There’s so much to see that even if your Maker Faire enjoyment strategy is to sprint from booth to booth all day long talking to as many people as possible, it’s very easy to miss someone who was only there for just one day or part of the weekend or even someone who’s tucked away in some small corner or behind a booth that gets swamped.1  I reached out to RiseLink about their incredibly cute looking board and workshop and they graciously offered to send me one of these boards for experimentation – with their only request being that I share a short video of whatever I build.

RiseLink.AI’s AI Talking Toy

RiseLink doesn’t seem to be a “maker-facing” business per se, but rather a big chip maker creating some of these development boards to showcase their chips.  From what I can tell, this board packs a huge punch for the $50 price tag – a built in camera, microphone, speaker, LCD display, and wifi capabilities, fully pre-assembled into a very cute little package.

Suffice it to say, I’m having a lot of problems getting this project off the ground.  Here’s how I approached this project:

  1. Locate Documentation
    1. The documentation is somewhat sprinkled throughout the RiseLink website and their Github.  For the moment, I’m just going to dump all the links and sort them out later.
      1. https://docs.bekencorp.com/
      2. https://docs.riselink.ai/arminodoc/bk_app/lvgl_ui_designer/en/index.html
      3. https://docs.riselink.ai/arminodoc/bk_avdk_smp/smp_doc/bk7258/en/v3.1.1/get-started/index.html
  2. Set Up Environment
    1. Install the ARM GNU toolchain
      1. cd /tmp
        wget https://developer.arm.com/-/media/Files/downloads/gnu-rm/10.3-2021.10/gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2
        sudo tar -jxvf gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2 -C /opt/
    2. Clone Core SDK Repo
      1. mkdir -p ~/armino && cd ~/armino
        git clone https://github.com/bekencorp/bk_avdk_smp.git
    3. Compile Base Audio/Voice Firmware
      1. cd ~/armino/bk_avdk_smp
        make bk7258 PROJECT=doorbell_asr
    4. Verify Output
      1. ls -lh build/bk7258/doorbell_asr/package/all-app.bin
  3. Flashing the Board
    1. Find the USB port (likely “/dev/ttyUSB0”)
      1. ls -l /dev/ttyUSB* /dev/ttyACM* 2>/dev/null
    2. Ensure user permissions for serial access
      1. sudo usermod -aG dialout $USER
    3. Flash firmware
      1. cd ~/armino/bk_avdk_smp
        tools/build_tools/armino -p /dev/ttyUSB0 burn -f build/bk7258/doorbell_asr/package/all-app.bin
      2. sudo apt update && sudo apt install -y pipx
        pipx install bk7231tools
      3. sudo ~/.local/bin/bk7231tools write_flash -d /dev/ttyUSB0 -B build/bk7258/doorbell_asr/package/all-app.bin
      4. PLUS hitting the reset button…

By the end of all this2 , I can receive “success” messages when I flash the firmware, but I can’t get the device to do anything useful yet.  I’d really like to get this working and will keep at it.  Wish me luck.

… Uh, as I was getting ready to publish, I figured I’d add some visual interest to this post and looked at the RiseLink.AI’s website and blog.  I found they linked to a Google Doc with a tutorial for getting it working.  When I approach this again with fresh eyes, I guess I’ll start there!

Project Jarvis
  1. Building a Jarvis-inspired voice activated LLM powered virtual assistant
  2. Building a Home PC Lab
  3. Secret Agent Man
  4. Rambling again
  5. Little Desk Voice Assistant
  6. I’m crowded, roll over…
  1. The CrunchLabs booth is always so swamped I’ve never been inside! [↩]
  2. Now, roughly two weeks ago as I get ready to publish this post [↩]
Test