BusPirate v3
Un piccolissimo adattatore da USB a vari protocolli seriali: 1-Wire, I2C, SPI, JTAG, UART, MIDI, PC keyboard, HD44780 LCDs (con una schedina di interfaccia), ecc.
Quante volte vi siete accorti che vi farebbe molto comodo un piccolo adattatore per potervi interfacciare ad una seriale a 3.3V, o ad un bus 1-wire, o ad altri sistemi, magari utilizzanti un protocollo proprietario con logica (LV)TTL?
Beh, invece di cercare di acquisire o costruire tanti convertitori, procuratevi un BusPirate (per esempio su SeeedStudio)!
L'idea base è molto semplice: un PIC che si interfaccia da un lato alla porta USB ("spacciandosi" per un adattatore USB-RS232), dall'altro rendendo disponibili alcune porte di uscita, ed in mezzo un firmware che "interpreta" semplici comandi testuali che permettono di impostare la modalità desiderata.
Le funzioni attuali sono:
- Interfaccia USB, self powered
- Ingressi a 3.3V, che tollerano fino a 5.5V
- ADC 0-6V
- Frequenzimetro 1Hz-40MHz
- PWM e generatore di frequenza 1kHz – 4MHz
- Pull-up multi-voltaggio integrati
- Uscita a 3.3V e 5V controllabili via software
- Macro per le operazioni più comuni
- Sniffer per bus SPI e I2C
- Aggiornamento del firmware molto semplice via USB (tramite bootloader)
- Modalità bridge seriale trasparente
- Analizzatore logico 10Hz-1MHz
- Supporto custom in AVRDUDE e Flashrom
- Modalità AVR STK500 v2 (richiede un firmware dedicato)
- Scriptabile da Perl, Python, etc.
- Traduzione in italiano
Il progetto è ancora relativamente giovane, ed alcune funzionalità sono ancora in pieno sviluppo (come l'ICSP per i PIC 18, ma quasi sicuramente, tra quando lo ordinate e quando vi arriva è uscito almeno un nuovo firmware).
È comunque un oggettino che può risultare molto comodo e salvare una sessione di lavoro destinata altrimenti ad interrompersi per mancanza dello strumento adatto. Ad una cifra talmente irrisoria (meno di 30$) da non provocare rimorsi di coscienza anche se pensate di usarlo poco.
La modalità JTAG, supportata in OpenOCD è però piuttosto lenta, dato che il BusPirate è nato come tool di studio a "velocità umana". Quindi, se intendete usare pesantemente la programmazione via JTAG vi conviene dotarvi di tool dedicati, oppure dotarvi del BusBlaster (sempre di DangerousPrototypes) appena uscirà.
Dimenticavo: per dare un'idea delle dimensioni, il lato lungo è più corto del lato corto di un biglietto da visita!