ARM-based debugging tool aims to improve on the Bus Pirate performance

The Bus Pirate is a fantastic development tool. It does an amazing job at a lot of different things. And as it has matured, community support has driven it to new areas beyond the original design. This is where its hardware holds back performance a little bit. For instance, as an I2C or SPI sniffer it has limited capture speed. That’s the type of thing that this board could improve upon. It’s a debugging tool based on an STM32 F4 microcontroller. That’s an ARM Cortex-M4 chip which runs at 168 MHz, and has 192 KB of SRAM.

[TitanMKD] has been working on the design but it is still just in digital form. Since there’s no prototype there is also no firmware for the device. That’s a tall mountain to climb and it’s one of the reasons we’re featuring the project now. [Titan's] plan is to model this after the Bus Pirate interface. We think it’s a good idea since a lot of folks have already learned the syntax. We didn’t see a contact form on his site, but if you’re interested in contributing to the project you might want to leave a comment here or on his project page (linked above).

Using your bench tools to test a new display

It usually takes a bit of work to gain confidence when it comes to using new parts. [Glitch] got his hands on this OLED display which is manufactured by Sabernetics and wanted to give it a whirl before building a project around it. He grabbed his Bus Pirate to help learn the ins and outs of the new part.

The 96×16 Dot-Matrix display uses the i2c protocol, keeping the pin count really low (six pins for: ground, reset, clock, data, chip select, and voltage). Since the Bus Pirate gives you command-line-like access to i2c it’s a natural choice for a first test. In fact, the tool has been our go-to device for that protocol for most projects.

The first commands sent are configuration values for the SSD1306 that drives the display. These configure contrast, voltage conversion, and other important values necessary to power on the display. It sprung to life, showing random pixels since the RAM had not yet been initialized. With that success [Glitch] moved on to the Bus Pirate’s scripting capabilities and ended up with a Python script that drives the demo seen above. Now that he knows the commands he needs, it’ll be a lot easier to write code for a microcontroller driver.

Reprogramming promotional USB dongles to launch custom URLs


The teachers at [Jjshortcut's] school were each given a Webkey by the administration as a promotional item of sorts, but most of the staff saw them as useless, so they pitched them. [Jjshortcut] got his hands on a few of them and decided to take one apart to see what made them tick.

He found that the device was pretty simple, consisting of a push button that triggers the device to open the Windows run prompt, enter a URL, and launch Internet Explorer. Since the microcontroller was locked away under a blob of epoxy, he started poking around the onboard EEPROM with his Bus Pirate to see if he could find anything interesting there. It turns out he was able to read the contents of the EEPROM, and since it was not write protected, he could replace the standard URL with that of his own web site.

While it’s safe to say that without a new microcontroller the Webkeys probably can’t be used for anything more exciting than launching a browser, [Jjshortcut] can always reprogram the lot and drop them in random locations to drive some fresh traffic to his web site!

[Thanks, Wouter]

Microcontroller based audio volume level compressor

In an effort listen to his music on shuffle without the need to touch the volume knob [Mike] build his own automatic volume leveling hardware. He knows what you’re thinking right now: there’s software to do that for you. But building the feature in hardware is a great stepping off point for a project.

He started the prototype using LabVIEW along with a Mobile Studio development board and a Bus Pirate. This project will be a mix of digital and analog components and it’s a bit easier starting off the exploration with these tools rather than jumping right into the AVR code.

The circuit will sample the incoming audio, modify it accordingly, and output the result. The output side is where the Bus Pirate really shines. He’s using some MCP42010 digital potentiometer chips to make the necessary changes to the levels. They communicate via SPI and it’s nice to have the Bus Pirate’s terminal to issue commands without the need to reflash a microcontroller.

[Mike] made a video showing an audio waveform with and without the hardware leveling. Sound quality is still great, and each clip is played at a reasonably comfortable listening level. We’ve embedded that demonstration after the break.

[Read more...]

Using an ATmega8 to program PIC24FJ chips

[Fezoj] likes to play around with microcontrollers and decided that he wanted to try a Bus Pirate as a new tool in his adventures. Since it’s open hardware he had his own board made and populated it himself. The trouble is, he works only with AVR chips and doesn’t have a PIC programmer. No problem, he figured out how to flash the PIC24FJ using an ATmega8.

To get started, he grabbed a copy of the flash programming specifications from Microchip. Once he had implemented the protocol in the AVR code, it was just a matter of getting the downloaded PIC firmware to the AVR. An RS232 chip gives him the serial connection he needs, with the help of his own programming software written with Visual Studio.

It’s not a robust solution for prototyping on the PIC platform, but maybe it could be developed for that purpose. For now, all he needed was a bootloader so that he could flash the Bus Pirate via a USB connection.

[via Dangerous Prototypes]

CEE is a swiss army knife for analog electronics

The team at nonolith labs announced their CEE, a device for billed as, “an analog buspirate” that is meant to control, experiment, and explore the world of analog electronics. Nonolith labs started a kickstarter campaign for the CEE.

The CEE is capable of sub-millivolt and milliamp sampling at 44.1k samples/second, and sourcing 2 channels of 5V @ 2A with a little bit of soldering. This allows for precise control of motors and sensors with the web-based UI. We’re thinking this would be a great way to teach high schoolers the art of electronics, and would be great combined with a few lectures from Paul Horowitz.

The CEE ties into nonolith labs Pixelpulse, a pretty handy tool for visualizing analog and digital signals. You can check out a demo of Pixelpulse simulating a charging capacitor here.

We’re hoping this focus on education on analog electronics catches on – you can learn a lot more by building a 555-based mini Segway than you can slapping a microcontroller in every project. This would go under the same theory as, “any idiot can count to one.”

Check out the video of the CEE on the kickstarter campaign page.

Hacking a hack: disassembly and sniffing of IM-ME binary

It’s fun to pick apart code, but it gets more difficult when you’re talking about binaries. [Joby Taffey] opened up the secrets to one of [Travis Goodspeed's] hacks by disassembling and sniffing the data from a Zombie Gotcha game binary.

We looked in on [Travis'] work yesterday at creating a game using sprites on the IM-ME. He challenged readers to extract the 1-bit sprites from an iHex binary and that’s what got [Joby] started. He first tried to sniff the LCD data traces using a Bus Pirate but soon found the clock signal was much too fast for the device to reliably capture the signals. After looking into available source code from other IM-ME hacks [Joby] found how the SPI baud rate is set, then went to work searching for that in a disassembly of [Travis'] binary. Once found, he worked through the math necessary to slow down communication from 2.7 Mbit/s to 2400 bps and altered the binary data to match that change. This slower speed is more amenable to the Bus Pirate’s capabilities and allowed him to dump the sprite data as it was sent to the LCD screen.

[Thanks Travis]