HydraBus v1.0 is an open source multi-tool hardware for anyone interested in Learning/Developping/Debugging/Hacking/Penetration Testing for basic or advanced embedded hardware.
The MCU is one of the fastest Cortex M4F on the market and is more than 40X faster than an Arduino (STM32F405, 32bits@168MHz=210DMIPS vs Arduino Uno, 8bits@16MHz=5.2DMIPS).
HydraBus can be also used as Test Bench for hardware validation/test with help of embedded python script or native C/C++ firmware and it is a perfect tool for hardware pentesting for 1-wire, 2-wire and 3-wire, SWD & JTAG, SMARTCARD, NAND flash, Wiegand, LIN, CAN, Logic Analyzer, SPI, I2C, UART, ADC(0 to 3.3V), DAC (0 to 3.3V, triangle, noise), PWM (1Hz to 42MHz, Duty Cycle 0 to 100%), GPIO (In/Out/Open-Drain)
HydraBus is evolutive with the help of “Shield” hardware extensions (first Shield is HydraNFC).
See HydraBus_1_0_HydraFW_Default_PinAssignment_A4
HydraBus v1.0 Rev1.5 Board
HydraBus v1 Rev1.5 (in stock worldwide on digikey.com HYDRABUS_V1 / 3792-HYDRABUS_V1-ND) is produced using components with Operating Temperature -40°C / +85°C (or more) , previous revisions was produced with components Operating Temperature -20°C / +70°C.
Caution HydraBus v1 Rev1.5 is an Electrostatic Sensitive Devices Do Not Handle Except at a Static Free Workstation.
Buy Online:
HydraBus/HydraNFC open source firmware:
See github: https://github.com/hydrabus/hydrafw
See github release (for pre-built version): https://github.com/hydrabus/hydrafw/releases
For more info on open firmware or hardware for HydraBus see
https://github.com/hydrabus/hydrafw/wiki/Getting-Started-with-HydraBus
Package content:
- 1x HydraBus board v1.0 Rev1.5 (fully tested)
- Flashed Firmware: HydraFW (HydraBus) v0.11-1-g4d74500 2023-05-09
- 1x HydraBus case (Transparent plexiglass case with hex/screws to be assembled)
Overview:
- Standard Dangerous Prototypes PCB size DP6037_v1 (see http://dangerousprototypes.com/docs/Sick_of_Beige_basic_case_v1) (very small 60mm x 37mm size).
- Features of the HydraBus board:
- Programming firmware through USB DFU (without any debugger) with USB1 FS.
- Debug/Programming through low cost SWD Debug connector (can be programmed/debugged using a low cost NUCLEO F401RE or STM32F4 Discovery board for less than 15 Euros).
- HydraBus v1 Rev1.5 Two USB-C ports (1 OTG and 1 Device/Host) with ESD protections.
- Older HydraBus v1 < Rev1.5 Two USB Micro-B ports (1 OTG and 1 Device/Host) with ESD protections.
- MicroSD slot with 4bit SD and SDIO mode support in hardware (up to 48MHz about 24MB/s).
- Reset & User Button (Enter USB DFU at PowerOn supported in HW with V1.0 Revision 1.2) with User Led (can be disabled to reuse I/O for other stuff).
- Breakout of all 44 I/O (some are used by MicroSD and USB 1&2).
- All GPIO Pins, are 5V tolerant (Except PA4 and PA5 and UNLESS they are in analog mode and used as ADC input. When used as ADC, the maximum input voltage is 3.3 V)
- MCU ARM 32-bit Cortex M4+FPU up to 168MHz (can exceed 200MHz with overclocking if required) & 1MB Embedded Flash (with power consumption of less than 100mA/3.3V with all peripherals enabled).
- Ultra low power mode (down to less than 2mA for specific treatment).
- Hardware doc, schematic/board, pinout, template are available on github: https://github.com/hydrabus/hydrabus/tree/master/hardware
- Hardware license CC BY-NC 4.0 (for commercial license contact info@hydrabus.com)
- Features of the HydraBus embedded firmware (hydrafw):
- Fully open source software, main software Licensed under the Apache License, Version 2.0 and linked part:
- STM32CubeF4 HAL open-source BSD license,
- ChibiOS 3.0 licensed as GPL3/Apache 2.0 and other commercial license if required,
- tokenline licensed as GPL 2.0 or later,
- FatFs license BSD
- Virtual Serial Port access through USB with VT100 terminal/shell (compatible with any hardware supporting USB Virtual Serial port).
- 2 USB port can be used (managed by multi-task OS), useful to test multiple protocols, gpio/adc/dac… in 2 terminals
- Support of microSD (FAT16/FAT32) card up to 32GB (tested with SanDisk Extreme 32GB and lot of other cards).
- Multiple protocol supported (console and binary mode see hydrafw v0.9 or more):
- MMC mode (since Dec 2020 in master)
- 1-wire, 2-wire and 3-wire mode (up to 1MHz)
- SWD & JTAG mode (with brute force up to 12 pins) (like JTAGulator)
- See also JTAG/SWD OpenOCD guide
- SMARTCARD mode
- NAND flash mode
- Wiegand mode
- LIN mode
- CAN1 or 2 mode (up to 2M)
- Logic Analyzer mode (up to 1MHz 16chan with SUMP support)
- SPI1 or 2 mode (master & slave up to 42MHz)
- See also flashrom guide
- See also AVR programming guide
- I2C mode (master up to 1MHz)
- UART1 or 2 mode (up to 10.5Mbps)
- UART Baud rate detector
- ADC (up to 3.3V, can read internal Temperature, VrefInt, VBAT)
- DAC1 or 2 (up to 3.3V, triangle, noise)
- PWM (Frequency from 1Hz to 42MHz, Duty Cycle 0 to 100%)
- GPIO (In/Out/Open-Drain) up to 44 I/O configurables (PA0-15, PB0-11, PC0-15 support range & wildcard)
- flashrom native serprog protocol SPI
- See Wiki for more details: https://github.com/hydrabus/hydrafw/wiki
- Planned features / Task List:
- Fully open source software, main software Licensed under the Apache License, Version 2.0 and linked part:
- Alternative firmware for HydraBus:
- HydraFW for HydraNFC Shield v2
- Open source firmware for HydraBus board with support of HydraNFC Shield v2
- Micro Python firmware ported to HydraBus
- see HydraBus Micro Python github
- Supported also in official MicroPython github
- To build/flash it see https://github.com/hydrabus/hydrabus/blob/master/README.md#official-micro-python-port-for-hydrabus
- BlackMagic (JTAG/SWD Debugger) firmware ported to Hydrabus
- see BlackMagic HydraBus port github
- For more details on hydrabus port see: https://github.com/bvernoux/blackmagic/tree/master/src/platforms/hydrabus
- To build/flash it see https://github.com/hydrabus/hydrabus/blob/master/README.md#official-black-magic-jtagswd-debugger-port-for-hydrabus
- HydraFW for HydraNFC Shield v2
For more details on HydraBus Hardware see http://hydrabus.com/hydrabus-1-0-hw-detailed/
HydraBus is equipped with ESD protection on USB Data+VUSB (±15kV ESD IEC 61000-4-2 (Air)/ESD IEC 61000-4-2(Contact)), but the I/O pins are not protected against ESD / Overvoltage (>5V on GPIO except ADC mode max 3v3).
Given its sensitivity to electrostatic discharge (ESD), ensure that you adhere to ESD precautions during usage. Follow these guidelines:
-
- Work in an ESD-protected area with grounding measures.
- Wear ESD-protective clothing, including wrist straps.
- Use ESD-safe tools and handle boards carefully.
- Ground yourself before touching components.
- Store boards in antistatic packaging and avoid low-humidity environments.
- Utilize ESD-safe work surfaces and cables.
- Educate personnel on ESD awareness.
- Regularly inspect and maintain ESD protection equipment.
- Use ESD-protected power supplies to minimize risks.
HydraBus use case which requires an USB Isolator:
- Electrical Isolation for Debugging and Testing:
- When interfacing with sensitive or high-voltage devices, using an USB isolator ensures electrical separation between your computer and the target system.
- By isolating the USB connection, you protect your computer from potential voltage spikes, ground loops, or noise generated by the connected hardware.
- This is especially crucial during debugging, testing, or reverse engineering tasks, where accidental electrical interference could damage your computer or the HydraBus itself.
- Secure Communication with Isolated Devices:
- Some devices, such as industrial controllers, medical equipment, or power inverters, require isolated communication interfaces.
- An USB isolator acts as a barrier, preventing any direct electrical connection between your computer and the isolated device.
- By using an isolator, you can safely communicate with these devices without risking damage to your computer or compromising its safety.
- Noise Reduction in Audio and Measurement Applications:
- When working with audio interfaces, sensors, or data acquisition systems, noise interference can degrade signal quality.
- An USB isolator helps eliminate ground loops and reduces electromagnetic interference (EMI) between the computer and the connected device.
- By isolating the USB connection, you achieve cleaner audio signals or more accurate measurements.
- Protection Against Surges and Transients:
- In industrial environments or outdoor fieldwork, electrical surges and transients are common.
- An USB isolator shields your computer from voltage spikes caused by lightning, motor startups, or other transient events.
- By preventing these surges from reaching your computer, you safeguard both the HydraBus and your PC.
- Compliance with Safety Standards:
- Some applications, such as medical devices or automotive diagnostics, require compliance with safety standards (e.g., IEC 60601-1 for medical equipment).
- Using an USB isolator ensures that your testing or development setup adheres to safety regulations.
- It provides an extra layer of protection, especially when dealing with patient-connected devices or hazardous environments.
Remember that the HydraBus is an immensely capable tool, and combining it with an USB isolator enhances safety, reliability, and accuracy in various scenarios. Whether you’re a hobbyist, researcher, or professional, isolating your USB connections can prevent costly mistakes and protect your equipment.