Web platform: Introduction to dsPIC33 programming

See the latest version on the documentation wiki.

There are reports of web platform deliveries in the forum, so we thought this would be a good time for an introduction to dsPIC33 programming.

This introduction aims to help you start writing and compiling your own applications for the web platform. We cover lots of basics like toggling pins, configuration bits, clock settings, and peripheral setup.

The example application will allow you to control the web platform indicator LEDs from a serial terminal, but it can be expanded for lots of other uses too.

Assembled web platforms are available at Seeed Studio now for $40, including worldwide shipping.

Continue reading “Web platform: Introduction to dsPIC33 programming”

Write an app, get a SUMP PUMP

We’ve been working on an open source logic analyzer prototype with Jack Gassett of the Gadget Factory. The project is currently known by the code name ‘SUMP-PUMP’, but you can help suggest a name. The design incorporates elements of the Butterfly platform, which is available now at the Gadget Factory.

Update: Michal Demin completed this challenge in less than 24hours. Congratulations!

Here’s your chance to get a SUMP PUMP for free, maybe even a preview unit. We need command line utilities to update the SUMP PUMP FPGA image from Windows, Mac, and Linux. We’re currently using a Perl script, but this is too much hassle for end users. If you develop the best console update utility, we’ll send you the SUMP PUMP hardware.

The update is done over a virtual serial port using a simple protocol. Ideally, the utility would load Intel HEX files directly, but we have raw binary blobs too. The utility must compile on all major platforms (Windows, MacOSX, and Linux). Piotr’s Pirate-Loader utility source code should have everything you need to get started. Here’s a development thread in the forum.

Continue reading “Write an app, get a SUMP PUMP”

Protostack v1.4 28pin AVR development board

Daniel Garcia, a friend of Dangerous Prototypes, released version 1.4 of the Protostack development board for ATMEGA8 and ATMEGA128. We really like the Protostack concept: it’s a general purpose development board that incorporates user feedback. It demonstrates the minimum circuit to get a 28pin AVR chip working, and has a large prototyping area to implement your own designs.

I released a new version of my 28 pin AVR board. The new version (1.4) has 4 improvements over the previous version (1.3):

  • Addition of power supply section
  • ISP-6 interface is now 2×3 pin instead of 1×6 pin
  • Addition of IDC/Double row header section
  • Clearer labeling of power buses

We have a v1.3 board, we’ll demonstrate it with the Bus Pirate soon. The v1.4 board includes a voltage regulator section, which makes it a very well rounded development platform for $15-$20, including shipping.

Bus Pirate script for 8×32 LED matrix

will_j posted a Bus Pirate script that controls a Sure Electronics 8×32 LED marquee:

Here’s a quick and dirty perl script to display ‘BPv3’ on a Sure Electronics 8×32 LEd Matrix display.

You can also use a 16×24 display if you change the second command code to 44 from 40.

Any improvements gratefully received – i.e. a nice character lookup table process would be good!

View a copy in the Bus Pirate scripts folder. We demonstrated a slightly different Sure LED matrix a in a demo: post a few weeks ago.

Thanks for the tip!

Demo: HMC6352 digital compass breakout board

This is an old version, see the latest version on the documentation wiki.

The HMC6352 is a simple compass chip with an I2C interface. If your next unmanned vehicle needs a compass, check out this chip. It has multiple operating modes that balance power use and update frequency. Continuous acquisition provides rapid heading updates, while query acquisitions save power by only measuring only when it’s needed.

Thanks to SparkFun for sending this part to demo. If you don’t want to solder the 24pin lead-less chip yourself, you can get it on a breakout board at SparkFun.

Demo: is a weekly series that demonstrates devices with the Bus Pirate. Come back next Monday for another all new demo.

You can preorder assembled Bus Pirate hardware at Seeed Studio for $30, including worldwide shipping.

Continue reading “Demo: HMC6352 digital compass breakout board”

Free PCB Sunday II: Infrared receiver transmitter

We go through a lot of prototype PCBs, and end up with lots of extras that we’ll never use. Every Sunday we give away a few PCBs from one of our past or future projects, or a related prototype. PCBs by Seeed Studio.

This is the final version of the PCB for the USB infrared remote control receiver/transmitter. This IR hacking tool can visualize infrared signals on a Java logic analyzer, record and replay infrared signals, and decode them.

You can get an assembled USB IR Toy for $20, including worldwide shipping.

We’re giving away two PCBs this week, this is the second. Just ask for it in the comments.

Continue reading “Free PCB Sunday II: Infrared receiver transmitter”

Free PCB Sunday I: Infrared receiver transmitter

We go through a lot of prototype PCBs, and end up with lots of extras that we’ll never use. Every Sunday we give away a few PCBs from one of our past or future projects, or a related prototype. PCBs by Seeed Studio.

This is the final version of the PCB for the USB infrared remote control receiver/transmitter. This IR hacking tool can visualize infrared signals on a Java logic analyzer, record and replay infrared signals, and decode them.

You can get an assembled USB IR Toy for $20, including worldwide shipping.

We’re giving away two PCBs this week, one now, and one later today. Just ask for it in the comments.

Continue reading “Free PCB Sunday I: Infrared receiver transmitter”

SUMP PUMP testing

We’ve been working on an open source logic analyzer prototype with Jack Gassett of the Gadget Factory. The project is currently known by the code name ‘SUMP-PUMP’, but you can help suggest a name. The design incorporates elements of the Butterfly platform, which is available now at the Gadget Factory.

Jack finished a bunch of tests on the first SUMP PUMP build, check out the pictures and screen shots.

We’ve got the PIC firmware working, but there’s still an issue with the bootloader. You can follow our progress and make suggestions in the forum.

Prototype: USB infrared remote control receiver/transmitter

The most recent documentation is now on the wiki.

UPDATE: there is now a USB IR Toy v2!

Infrared remote controls are ubiquitous, they’re used everywhere but we don’t give them much thought. The goal of this project is to investigate the invisible signals emitted by remote controls.

This IR hacking tool can visualize infrared signals on a Java logic analyzer, record and replay infrared signals, and decode them. USB infrared remote control receiver transmitter is a mouthful, so we just call it the USB IR Toy.

  • Control your computer with a remote using the IR decoder mode
  • Visualize IR remote signals on a PC logic analyzer
  • Raw IR IO mode receives, transmits, and clones IR signals
  • Play the TV-B-Gone TV POWER codes
  • USB upgradable
  • Open source code and hardware

You can get an assembled USB IR Toy for $20, including worldwide shipping. Seeed Studio is currently hosting a preorder. The hardware will be manufactured the first week of February, but it might not get packed and shipped until later in February due to the Chinese New Year holiday.

Read about the design after the break.

Continue reading “Prototype: USB infrared remote control receiver/transmitter”

Bus Pirate v3 case sticker

Keep your Bus Pirate pins straight with this case sticker[PDF!] designed by ecronin:

I made up a sticker for the combo of the seeed case and breakout harness, thought others might find it useful… Unlike in the above picture, I connect the cable with Black to GND, which puts the two EZHook-like hooks on MISO/MOSI. Thought others might find it handy. It also includes the LED names and a gratuitous barcode since the project lacks a real logo.

Thanks for the link!

Pirate Rename – Get a nicely named serial device

Tired of the /dev/tty.usbserial-XXXXXXXX address of the Bus Pirate? Piotr developed a utility to edit the EEROM in the FTDI chip on the Bus Pirate, this gives your Bus Pirate a consistent name on MacOSX. Grab the utility here, and follow this how-to submitted by Piotr. Thanks for the tip!

If you have a few FTDI USB devices in your system it might be confusing which /dev/tty.usbserial-XXXXXXXX points to the correct device, as the default isn’t very meaningful. Luckily with MacOSX and the FTDI USB to serial drivers there’s an easy way to change that!

The FT232R uses an internal EEPROM memory to store chip configuration. Programming it lets you change values such as PID, VID, Required Current, CBUS pins config, … and USB device description, which is what we want to change.

By default your Bus Pirate is detected as FTDI, FT232R USB UART with some random serial number like A600blSc. We can change it to anything, up to 46 ASCII characters, and get our device named the way we want. There are Windows tools for this available on FTDI Chip site, but there was none for MacOSX. Since playing with the EEPROM can render your FT232R useless, or at least make you unsolder it, I thought a simple tool which won’t let you break the device would be useful.

That’s why I wrote the Pirate Rename utility. It uses a modified open source library called libftdi-1.0 to talk to the FTDI chip and libusb-1.0.0. They are both embedded in the application bundle so you don’t need to worry about it.

Continue reading “Pirate Rename – Get a nicely named serial device”

Logic analyzer firmware development update

Today we completed an initial PIC firmware for the open source logic analyzer. The PIC has two operating modes: a serial bridge for SUMP to talk to the client on the FPGA, and a ROM programmer that updates the AT45DB041D flash chip with new logic for the FPGA. There’s still some bugs, but the design is coming together. Give your suggestions and follow our progress in the forum.

Major to dos:

  • Finish the USB bootloader port to 18f24j50
  • Clean and comment the PIC source
  • Clean up the PERL updater scripts

Demo: AT45DB041D 4Mbit SPI flash memory

This is an old version, see the latest version on the documentation wiki.

This demo is what the Bus Pirate is all about. A AT45DB041D 4Mbit flash memory stores the FPGA design on the open source logic analyzer project currently known as SUMP PUMP. We’ve worked with EEPROMs in the past, but this chip is a different beast.

Follow along as we use the Bus Pirate to learn about this chip before writing firmware for the logic analyzer.

Demo is a weekly series that demonstrates chips with the Bus Pirate. Come back next Monday for another all new demo.

Continue reading “Demo: AT45DB041D 4Mbit SPI flash memory”

Free PCB Sunday: Bus Pirate PIC/AVR programming adapter

We go through a lot of prototype PCBs, and end up with lots of extras that we’ll never use. Every Sunday we give away a few PCBs from one of our past or future projects, or a related prototype. PCBs by Seeed Studio.

This is a PIC and AVR high-voltage programming adapter for the Bus Pirate (through-hole version). It has a 5pin PIC-ICSP header and a 6pin AVR-ISP header. It also includes a small 13volt boost-converter power supply. A 13volt VPP supply is required to program PIC 12/16/18F microcontrollers, and clear the RESET fuse in AVRs.

We’re giving away two PCBs this week. Ideally these would go to someone who can help with Bus Pirate high-voltage programming support in AVRDude, or the Bus Pirate port of USBPICPROG. Just ask for one in the comments.

Continue reading “Free PCB Sunday: Bus Pirate PIC/AVR programming adapter”

Bus Pirate in a DV tape case

Gatsu made a unique DIY Bus Pirate case for a v2go:

Here is something I cooked up a while as a case for my BP v2.go.  Its a DV tape case.  The inside is  46mm x 68mm so it would fit a v3 as well.

The board is fixed to the bottom with a double layer of double sided tape.  The cut outs were just done with a scalpel as the material is quite soft.

Thanks for the tip! Via the forum.

Bus Pirate: Pirate-Loader for Linux, Mac, Windows upgrades

See the latest version in the documentation wiki.

This how-to describes the Pirate-Loader console program that uploads new firmware to Bus Pirates with bootloader v4+. Piotr whipped up this easy to use console app with versions for Windows, Linux, and Mac (source). The first release is here, though the latest console app will be included in future firmware upgrade archives.

The ds30 Loader v4 bootloader in the Bus Pirate has a GUI update application that works on Windows (.NET), Linux, and Mac (Mono), but it presents problems on some systems and many users would prefer not to install .net or Mono. If you don’t like the GUI updater, now you can use this simple command line application instead.

A demonstration of the Pirate-Loader update utility follows.

Continue reading “Bus Pirate: Pirate-Loader for Linux, Mac, Windows upgrades”

Bus Pirate OpenOCD support update

robots, a new contributor to the Bus Pirate OpenOCD support effort, has taken charge and produced the first working toolchain. A patch for OpenOCD 0.3.0 that adds Bus Pirate support is here. The latest compatible OpenOCD firmware for the Bus Pirate is here, bootloader v4 required.

JTAG programming speed is a paltry 1.4kb/s, about a tenth the speed of a Wiggler. Due to the Bus Pirate’s slow serial port connection, there’s not a lot of room for improvement. We’re going to look at increasing the serial port speed and using interrupt-based data transfers to increase the speed.

We’re looking for additional testers and contributors, please let us know if it works for you.

Continue reading “Bus Pirate OpenOCD support update”

Bus Pirate bootloader/firmware v4 testing complete

Bus Pirate bootloader v4 upgrades have gone great so far. We’d like to invite most users to upgrade now, though if you’re in the middle of a project it might be best to wait.

Resources: