#Buspirate implementation (bus dolphin)

37 messages · Page 1 of 1 (latest)

undone widget
#

On the backburner I have a buspirate clone for flipper's CLI, which will let you read and write raw SPI, I2C and probably USART bytes and/or bitbang stuff from flipper's serial port. The usecase of buspirate (and busdolphin) is to interact with a chip interactively from a command line, instead of repeatedly building and flashing your firmware. Another usecase is reverse engineering and intercepting communication between chips on other hardware.

I recall there was a project already covering this idea at some point, https://twitter.com/ktemkin/status/1528509121862897665

This version currently does I2C, SPI, UART and a few GPIOs.

It could be extended to some exotic use cases, like a MIDI adapter, a ISP6/ISP10 avr flasher, an ICSP flasher for pics, generic JTAG probe, arduino bootloader 'programmer', esp8266/esp32 field flasher, etc.

I'm not a great fan of the BP syntax, but it's ok for what it does. Ideas?

@zhovner @flipper_zero I'm glad my work has been helpful. 💜

The goal of the BP mode is to have a little interface for quickly writing I2C/SPI/UART/JTAG/etc commands on-device / via the CLI, using the Bus Pirate syntax.

The syntax is pretty nice for quick exchanges: e.g. https://t.co/POrbMRywn2

undone widget
#

release coming soon, not a ton of things to show off for a cli app, updated first post for a short demo though

undone widget
#

quick release package against api 7.0 (fw vanilla 0.70.1), sorry for icons and random cursing, still gotta clean it up before uploading it, saw someone playing with a BMP180 earlier

#

for BMP180 you can do bd EE D0 r: TX one byte, EE - device address, TXread address D0 (chip signature), RX one byte which should return 55. Reading actual pressure data idk but should be in the datasheet

#

Also do bd .i2c first

#

@wraith vapor will spam here, not sure if #software is the best place for playing with chips

#

Buspirate implementation (bus dolphin)

wraith vapor
#

This is awesome, thanks. I will try it tomorrow.

zinc light
zinc light
#

just tried with the official firmware and this works flipper_clap

azure solar
#

Hi, Im interested in flashing ATmega8 chip with Flipper and Arduino IDE. Can this app be used to achieve that? since in Arduino IDE i do not have 'Programmer' connected.

#

i have all electronic components but but not arduino nor CH340G USB To TTL Converter. I am unable to burn bootloader and I taught that we can use Flipper for that.

azure solar
#

such silence, much activity, wow...

undone widget
#

to flash an avr chip preloaded with arduino bootloader you can do it with the usb-uart converter stock app

#

to flash a blank avr chip you need an isp6/10/hv programmer which is not implemented (but is planned to, someday) in this app

#

the tutorial you are following uses a second arduino with a working bootloader as an ISP6 programmer

azure solar
#

Thank you for your response, it just makes me sad to come on threads and conversation is dead even before it started. I do appretiate your free time to do this. I hope with time there will be more tutorials to follow.

undone widget
#

well, to be fair, there wasn't really any conversation, i just made a "look what i did maybe it helps someone" thread. will get back to it soon

#

most of the input parsing library is pulled off something else i made (which I have to at least adapt and make pretty if it's gonna be foss, or perhaps rewrite it heh) - which was running on a avr

#

but i'll bump it up my list

zinc light
#

Hey I was looking to use the flipper to read my bios (spi) but I am not sure where I should plug the CS (chip select, I think) pin from my bios to the flipper zero. Please do you have an example ?

undone widget
obtuse oasis
#

@undone widget is there a public repository for it?

undone widget
#

eventually

obtuse oasis
#

oh, thought this was a yes/no question.

undone widget
#

it can now also read the ADCs

#

careful cause i'm using the 2.5V ref, don't push 3v3 down the analog pins

undone widget
#

playing a bit with a onewire implementation

stable aurora
#

@undone widget where is the app's code repo? Did I miss the info somewhere?

undone widget
#

sorry, just binaries right now

#

code's a mess and input parser lib is being extracted from something else

low sphinx
undone widget
#

i was looking to implement a dedicated vsp for it someday, prefixing commands on the regular command line is odd

#

i've got a BT port kindof-working, but it kindof randomly crashes too at times. no bueno