The first place to look for open tasks that you can help with is the Issues List.
The following list will be removed once everything is moved to the Issues List, completed, or obsolete. If you are interested in helping with any of these tasks, coordinate with the person in parentheses. Try IRC first (freenode channel #hydrabus), then email.
HydraFW v1.0 Work In Progress:
- Smart Card support (Big thanks to the contributors Baldanos/sylvainpelissier/Azox)
- pyHydrabus Python bindings
- Auxiliary pin support in binary mode
- ADC trigger mode
- SWD bruteforce
Add new utilities:
- I2C for non intrusive sniffer for SDA line (with support of /CS)
- Multimeter up to 3.3V/7.2MSPS(12bits) with logging in µSD file in real-time.
Bootloader idea using official HydraBus (bootloader) OpenMoko USB ID:
- USB DFU boot like implemented in actual firmware by keeping UBTN pressed during power ON.
- Read a configuration file from SDcard(if present) and boot a custom firmware from SDcard(execution in SRAM).
- other idea TBD.
Protection/Debug features(for developer):
- Implement basic stack overflow/underflow check with canaries between each stack (probably need chibios patch)
- Implement advanced stack overflow/underflow protection using M4F MPU
- I2C binary mode
- I2C sniffer (TODO bbio_i2c_sniff code)
Generate DAC output advanced mode using waveform and DMA to generate Sin, Square ...
- Add Offset and Frequency parameter for waveforms.
- Add overdrive mode
- Slave mode
- Number of bits (7, 8, 10)
- Number of bits (any number)
- Replace the ID filter to a mask filter
- Waveform generator
- Measure time between two pin states using hardware timer
- Parallel Bus (2 to 32bits) with mode sniffer, read and write (with option to log data in realtime to MicroSD) (depending on feedback)
- 1 or 3 Wire with mode sniffer
- Basic Scope up to 3.3V and up to 7.2MSPS/12bits
- [-] Nand Flash x16 support (WILL NOT BE SUPPORTED, see Nand support #12)
- USB 1.x/2.0 LS/FS sniffer mode (using special passthrough mode with logging directly to MicroSD) (see USB sniffer capability #21)
- Auxiliary pin support in CLI mode
Clone Mifare Ultra Light tag (Work In Progress bvernoux)
clone-mf-ulcommand add optional filename (64bytes raw file written to microsd same as
- Read Mifare Ultra Light card then Emulate it
filenameto save Mifare Ultra Light tag data read (64bytes raw data of the Tag) to microSD
- Cleanup files trf7970a/src/trf797x.c & trf7970a/src/trf_spi.c and change license to Apache 2.0
Refactor/Port code from TI NFCLink 1_0_0_3 RFID Files (.cpp/.h) BSD-3 License for TRF7970A driver (see trf7970a\src) (bvernoux)
- Add also clean TRF7970A direct mode support (SDM/DM1 with Parity & CRC-A calculation)
- NFC Sniffer (ISO14443A/MIFARE) command for Wireshark with specific dissector (thanks to NicoHub)
- ISO14443A Emulation (TRF7970A hardware Anticol/UID) see new command emul-3a
- More accurate emulation (it is too fast today and not compliant with ISO14443A ...)
- To be released see https://github.com/NicoHub/Wireshark-RFID-dissector for more details
- support 10-byte UIDs (If someone find Tags with 10 bytes UID)
- implement real anti-collision (be able to detect 2 tags)
- real-time write in SD card to sniff during ultra long session (limited by SD card file size and not by the internal 64KB buffer)
- add optional timestamp global and relative(between data) with at least 73.75ns resolution(for 13.56MHz)
- Mode for ISO14443B and ISO15693 or lot of other mode TBD (raw specific mode)
Emulator mode (Card Emulation) is planned and lot of other modes TBD (like raw mode to modulate even proprietary protocol on 13.56MHz)
- Emulation Tag Mifare One UID in Alpha (timings are not compliant, need more test...) is available https://github.com/hydrabus/hydrafw/blob/master/hydranfc/hydranfc_emul_mifare.c
- Emulation Tag ISO14443A Tag UID in Alpha (need more test...) is available https://github.com/hydrabus/hydrafw/blob/master/hydranfc/hydranfc_emul_14443a_sdd.c
Read MIFARE tag:
- Read MIFARE Classic 1K tag data ...
Extension using EEPROM:
- Implement support of EEPROM extension detection with same hw & content as Beagle bone defined here
- Tutorial for EmBitz to load project and debug it (Windows only)
- Tutorial for Eclipse/ChibiStudio to load project and debug it (Windows only)
- Tutorial for Eclipse to load project and debug it (Linux)
- NAND flash mode. To test with more flash memories
- Wiegand mode
- LIN mode with HydraLINCAN shield
- CAN1 and CAN2 with HydraLINCAN Shield
- 1-Wire scan command with multiple devices
- AVR flash / dump (do more tests)
- Binary mode (to do more tests)
- JTAG (with different MCU/CPU and report what work what do not work ...)