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).
HydraBus v1 Rev1.4 (Available 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.4 is an Electrostatic Sensitive Devices Do Not Handle Except at a Static Free Workstation.
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.4 (fully tested)
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).
- Two MicroUSB port (1 OTG and 1 Device/Host) with ESD protection.
- 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 microUSB with VT100 terminal/shell (compatible with any hardware supporting USB Virtual Serial port).
- 2 micro USB port can be used (managed by multi-task OS), useful to test multiple protocols, gpio/adc/dac… in 2 terminal
- 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 (like JTAGulator)
- 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)
- 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/