HydraBus

contents
HydraBUS - Pin Assignment
HydraBUS - Pin Assignment

Features#

Support many extensions:

External interactions:

Firmware#

Firmware Update#

Detailed steps: hydrafw/Getting-Started-with-HydraBus-flash-and-use-hydrafw-on-linux

  1. Install dfu-util

    git clone git://git.code.sf.net/p/dfu-util/dfu-util dfu-util
    cd dfu-util
    ./autogen.sh
    ./configure
    sudo make install
    
  2. Download the latest release of the firmware

    wget https://github.com/hydrabus/hydrafw/releases/download/v0.11/build_HydraFW_v0.11-12-ga6019f4_HydraBus_HydraNFC.zip
    wget https://raw.githubusercontent.com/hydrabus/hydrafw/master/utils/udev-rules/09-hydrabus.rules -O ~/hydrafw/09-hydrabus.rules
    
  3. Keep pressing UBTN button at PowerON/RESET in order to enter USB DFU

  4. Connect the MicroUSB cable from your PC to HydraBus

  5. Check Linux detection for HydraBus in DFU mode: sudo dfu-util -l

  6. Flash the firmware: sudo dfu-util -i 0 -a 0 -d 0483:df11 -D ./build/hydrafw.dfu

Commands#

  • Basic info: show system

    HydraFW (HydraBus) v0.11-1-g4d74500 2023-05-09
    sysTime: 0x000d82dd.
    cyclecounter: 0x76ac02b9 cycles.
    cyclecounter64: 0x0000000076ac02cb cycles.
    10ms delay: 1680035 cycles.
    
  • Determine the port name: ls -l /dev/tty*

  • Interact witht the HydraBus: screen /dev/ttyACM0

  • Switch to SPI mode: spi

  • Determine the pin for SPI: show pins

Syntax#

ValueDescription
[Chip select (CS) active (low)
]CS disable (high)
rRead one byte by sending dummy byte (0xff). r:1…255 for bulk reads
hdRead one byte by sending dummy byte (0xff). hd:1…4294967295 for bulk reads. Displays a hexdump of the result
wFollowed by values to write byte(s). w:1…255 for bulk writes
0bWrite this binary value. Format is 0b00000000 for a byte, but partial bytes are also fine: 0b1001
0Write this Octal value. Format is prefixed by a 0 (values from 000 to 077)
"Write an ASCII-encoded string
0h/0xWrite this HEX value. Format is 0h01 or 0x01. Partial bytes are fine: 0xA. A-F can be lower-case or capital letters
0-255Write this decimal value. Any number not preceded by 0x, 0h, or 0b is interpreted as a decimal value

Examples:

  • Read Identification (0x9F): [ 0x9F r:3 ]
  • Read Data (0x03) at the address (0x00:3) and read 32 bytes (hd:32) [ 0x03 0x00:3 hd:32 ]

References#