Introducing the Octowire - the fastest and most feature-complete hardware exploration tool on the market.
Take your hardware hacking to the next level with the Octowire and its integrated command-line and scripting environment (Octowire Framework).
The embedded MCU, the SAM E70 is based on the high-performance 32-bit ARM Cortex-M7 processor. Running at 240MHz, it powers the Octowire's extensive hardware interfaces.
Most common protocols are already supported:
- UART x2 (up to at least 7372800 baud)
- SPI x2 (master up to 60MHz, slave coming soon)
- I2C x2 (master up to 400kHz, slave up to 3.4MHz coming soon)
- PWM x4 (1Hz to 30MHz)
- USART x2 (coming soon)
- CAN x2 (coming soon)
- GPIO x16 (input / output with internal configurable pull-up / pull-down)
- MCI x1 (4-bit Media Card Interface for SD/MMC)
Additional protocols are under development (JTAG/SWD, CAN/LIN, USART, ...).
Automate any task by interfacing and instrumenting the Octowire from a simple script.
The Octowire Framework includes many modules out-of-the-box allowing you to work efficiently and save time on any hardware engagement. It is fully compatible with Linux and Windows.
The development process to add new modules to the framework is documented.
The Octowire communicates with a host computer through USB-CBC (UART) at up to 7372800 baud. Communication follows a fully-documented protocol. An official open-source Python (3.7+) library is available.
- USB powered
- Communication through USB-CBC (UART) at up to 7372800 baud
- Core: Microchip SAM E70 @ 240MHz (1MB flash, 384KB SRAM)
- 2x buttons (Reset, User)
- 3x LEDs (Power, User, Activity)
- 16x GPIO (with internal configurable pull-up / pull-down)
- 4x PWM outputs (multiplexed with GPIO8-11)
- 2x UART
- 2x USART (coming soon)
- 2x CAN (coming soon)
- 2x I2C
- 2x SPI
- RTC (Real-Time Clock)
- 4-bit MCI (Media Card Interface) for SD/MMC
- Dual VCC outputs: 5.0V and 3.3V
Octowire framework modules
Currently 21 modules are included out-of-the-box:
- device_id: Identify AVR microcontrollers
- flash_dump: Read the flash memory of AVR microcontrollers
- flash_write: Write the flash memory of AVR microcontrollers
- eeprom_dump: Read the EEPROM memory of AVR microcontrollers
- eeprom_write: Write the EEPROM memory of AVR microcontrollers
- read_fuses: Read the fuses and lock bits of AVR microcontrollers
- write_fuses: Write the fuses and lock bits of AVR microcontrollers
- flash_erase: Erase the flash memory of AVR microcontrollers
- eeprom_erase: Erase the EEPROM memory of AVR microcontrollers
- MCI (Media Card Interface):
- detect: Detect Memory Card through MCI interface
- read: Read Memory Card contents through MCI interface
- write: Write Memory Card contents through MCI interface
- baudrate_analyzer: Analyze UART data for multiple baudrate values
- baudrate_ascii: Perform ASCII-based baudrate detection
- passthrough: Enter passthrough mode and open a miniterm session
- flash_id: Obtain identification information of SPI flash devices (RDID)
- flash_dump: Dump generic SPI flash memories
- flash_write: Program generic SPI flash memories
- scan: Scan the I2C bus and detect slave devices
- flash_dump: Dump generic I2C flash memories
- flash_write: Program generic I2C flash memories
- logic_analyzer: Collect samples on 8 GPIO channels (GPIO8-GPIO15) and save the result in a CSV file for analysis in pulseview