Assistance Required for ChipWhisperer Nano – Firmware & HEX File

Programming Issues Dear ChipWhisperer Support Team,

  • Description: I recently purchased a ChipWhisperer Nano, and as someone who is completely new to the platform, I’m facing several issues that I would sincerely appreciate your guidance on:
  1. Firmware Update Issue:
    I attempted to update the firmware multiple times, but it seems it is not updating to the latest version. I continue to receive the following warning message:
    (ChipWhisperer NAEUSB WARNING|File naeusb.py:826) Your firmware (0.65.0) is outdated - latest is 0.66.0 See Updating Firmware — ChipWhisperer Documentation for more information
  2. Running Custom HEX Files:
    I am familiar with writing Verilog code using Vivado. However, since I can’t directly use Verilog here, I converted the design into a HEX file. When I try to program the device using that HEX file, I encounter the following error: USBErrorPipe: LIBUSB_ERROR_PIPE [-9]
  3. Programming Command Usage:
    In my code, I used the following line to program the device:
    cw.program_target(scope, prog, “…/…/…/firmware/mcu/simpleserial-base-lab2/simpleserial-base-{}.hex”.format(PLATFORM))
    I replaced it with my own HEX file instead. I’d like to know if this is the correct way to program custom HEX files into the microcontroller.
    If possible, could you please guide me on how to correctly format and load a HEX file into the ChipWhisperer Nano? Even one working example would help me understand and manage my other files effectively.
    Thank you very much for your time and support. I’m excited to learn and work with the ChipWhisperer platform, and your guidance would mean a lot.
  1. Which version of ChipWhisperer are you using? If you don’t know, run: print(cw.__version__). Exactly what are you doing to upgrade the firmware, and what is the output of the firmware upgrade command?
  2. CW-Nano does not have an FPGA, it has an STM32F0 microcontroller. What do you mean by “converted the design into a HEX file”?
  3. Yes that is the correct way to program the Nano. Our Jupyter tutorials teach you how to do this; go through them, starting here.