Commodore 64 sound emulation with PIC32MX

A few days ago we asked about open source projects you’ve tailored to suit your own needs. Markus writes:

I don’t know if it counts, but my story is this: There is this PIC32MX open hardware board named CUI32 for which I managed to get some SID (Commodore 64 sound chip) emulation code to compile and run. The problem is, that the PIC32 used has “only” 32 kB RAM whereas the unmodified emulation code uses more than 64 kB RAM. To get it working for all SID tunes, I changed the design to use a PIC32 which has 128 kB RAM, and also made some improvements to the pin headers, USB connector placement on the top side, etc [4]. I am currently trying to get all the parts to build this improved version.

Week in (p)review: June 27, 2010

Last week was full of firmware updates. Here’s some highlights, in case you missed them:

This week should have some new releases and updates too:

  • The USB IR Toy rawIO mode will soon have an experimental GUI made with wxPython. Seeed Studio is testing the next batch of USB IR Toys now, they should be available in a few days.
  • Two new Bus Pirate designs will be revealed and moved to the forum for discussion.
  • More piratePICprog development. We’ve invited a guest coder to consult on the structure of the program so we can add the most PICs as quickly as possible. More about this and the stackable Bus Pirate PIC programming adapter in the forum.

Free PCB Sunday: Bus Pirate demo board

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 professionally-made PCBs from one of our past or future projects, or a related prototype. Our PCBs are made through Seeed Studio’s Fusion board service.

This week we’re giving away the two PCBs from a Bus Pirate demo board prototypes. This board has footprints for 12 common (and sample-able) I2C and 1-wire chips. The I2C IO expander is designed to be used with the Bus Pirate go north LCD library. It has a few problems, such as I2C chips that share the same address (oops!), so it won’t be for sale. You can have a prototype board if you want it though.

Get a Bus Pirate for $30, including worldwide shipping at Seeed Studio. Adafruit also has the Bus Pirate and probe cables in stock and ready to ship.

Continue reading “Free PCB Sunday: Bus Pirate demo board”

DIY USB IR Toy clone

Here’s a DIY, potrable version of the USB IR Toy. It runs the same firmware and bootloader as the IR Toy, but has a few changes:

  • smaller than the original USB IR Toy
  • full integration in a tiny case
  • four IR LEDs for increased range
  • it can be powered with a 9V battery, making it independent of the computer

It’s always great to see a new take on a design. If you’ve ever updated an open source project for your own needs, we want to know.

Universal PIC programming adapter

Development of the Bus Pirate PIC programmer involves testing a bunch of different chips. This $10 universal programming adapter from Sure Electronics will be really handy.

This board doesn’t actually program any chips. It’s an adapter that accepts a lot of different 18-40pin PIC chips and connects the programming pins to a header. The ZIF sockets make it easy to swap chips without damaging pins.

Thanks for the tip Sjaak!

Bus Pirate: Bootloader v4.3/v4.4 upgrade

See the latest version in the documentation wiki.

Bus Pirate developers have been using an updated v4 bootloader for several months. It’s tested really well, so we packaged it in an installer.

Bootloader v4.3/v4.4 is a minor update of v4.1/4.2. It is not a required update. Any v4+ firmware will work with any v4+ bootloader. The upgrade should only be used with an existing v4 bootloader, if you still have v2 bootloader (with P24QP.exe) please upgrade to v4.1 first before upgrading to v4.3.

The new bootloader has these improvements:

  • Proper timeout – if you enter with a jumper you can remove it to go back to the firmware with re-plugging the USB cable. (does not work when you jump from the terminal with $).
  • Supports multiple connects – you can now press the check bootloader button, then download, without having to replug the Bus Pirate.
  • If the bootloader is active and you type into the terminal, the bootloader will display ‘BL4+’ so you know the Bus Pirate is functioning and in bootloader mode, not dead.

Download the upgrade package. Upgrade help is available here.

Continue reading “Bus Pirate: Bootloader v4.3/v4.4 upgrade”

LaunchPad MSP430 development board

Texas Instruments is putting out a $4.30 development platform for the 16bit MSP430 microcontroller. The LaunchPad is aimed at beginners and hobbyists. It accepts several different through-hole chips from the MSP430 value line.

We like to use the MSP430 in simple low power designs, but the 4K and 8K size limits on the compiler can be annoying for bigger projects. Mspgcc is an open source compiler for the MSP430 without size limits, but it’s not a friendly alternative for the Arduino crowd.

TI already sells a $20 USB development dongle that they give away at MSP430 Day junkets.

Via Hack a Day.

Logic Sniffer upgrade v2.1 released

Package v2.1 is the first official upgrade release for the Logic Sniffer. Download it now at the Gadget Factory. This version has a lot of updates that should fix a bunch of problems in the initial release:

  • FPGA bitstream v2.1 with high-speed SPI connection between the PIC and FPGA. This eliminates most ‘hardware not found’ problems with all bitstream configurations. Sample download speed is increased on some operating systems, future SUMP client upgrades will increase the speed for everyone.
  • PIC firmware v0.5/v0.6 supports the SPI connection and has updated USB descriptors. v0.6 is more aggressive about queuing data into packets. v0.6 should provide a speed increase over v0.5, but some people report errors so we included both.
  • Updated, stand-alone SUMP client for Windows. Includes self-test and other updates.

Here are the upgrade instructions for the FPGA bitstream and PIC firmware. If you have a preorder 1 Logic Sniffer, please check for the bootloader before upgrading. Discuss the upgrade in the forum.

Logic Sniffer upgrade procedure

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

The Logic Sniffer is an open source logic analyzer. It’s designed to support the SUMP logic analyzer software at the lowest possible cost. This project is a collaboration between the Gadget Factory and Dangerous Prototypes.

The Logic Sniffer has two parts that can be upgraded over USB.

  • The ROM chip (IC2) holds bitstreams that are loaded into the FPGA (IC3) at startup. The bitstream is code that tells the FPGA how to act like a logic analyzer. New bitstreams are loaded in ROM update mode.
  • The PIC chip (IC1) contains firmware that provides the OLS’ USB connection and ROM update mode. New firmware is loaded via a USB bootloader in the PIC.

This post demonstrates how to update both parts.

Continue reading “Logic Sniffer upgrade procedure”

Bus Pirate: Firmware v5.0

Bus Pirate firmware v5.0 is now available for download. This is the first release with Sjaak’s newterm overhaul. This version has a completely reworked core with lots of new features to make prototyping easier than ever.

We encourage you to take a walk around the new interface, go further north, and explore it. As with any major new release, there are bound to be a few bugs, please let us know if you find any via the v5.0 release party.

Here’s a short list of changes. There are screenshots of the development version here. Over the next few weeks we’ll release new feature guides and update the manual for v5.

  • h – see a history of recent commands and replay them
  • s – a script mode that runs simple BASIC-like commands
  • i – an updated info menu with probe color hints, mode specific pin labels, and pin direction/state display
  • ? – updated, reformatted help screen
  • Completely revamped command line processor that gives more feedback about syntax errors
  • Accepts strings of commands at once (configure a mode in one line)
  • Removed sub-menus for pull-up resistor configuration (now uses P/p, like power W/w)
  • ASCII values can be sent to directly to a bus using “quotes”
  • A few secrets and hidden treasure :)
  • Too many other improvements to list

Read about the firmware update process for the ds30 Loader GUI (Windows/Linux) and pirate-loader console app (Windows/Linux/Mac). This firmware requires the v4+ bootloader, be sure you upgrade to the v4 bootloader first if you still have bootloader v2.

Package includes firmware for Bus Pirate v3 and v1a. Use the v3 firmware for v2go Bus Pirates. v0a and v2a are no longer supported, but there’s an end-of-life v3 release somewhere here.

Get a Bus Pirate for $30, including worldwide shipping at Seeed Studio. Adafruit also has the Bus Pirate and probe cables in stock and ready to ship.

Free PCB Sunday: Bus Pirate demo board

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 professionally-made PCBs from one of our past or future projects, or a related prototype. Our PCBs are made through Seeed Studio’s Fusion board service.

This week we’re giving away the two PCBs from a Bus Pirate demo board prototypes. This board has footprints for 12 common (and sample-able) I2C and 1-wire chips. The I2C IO expander is designed to be used with the Bus Pirate LCD library. This board has a few problems, such as I2C chips that share the same address (oops!). This board won’t be for sale, but you can have a prototype board if you want it.

You can get a Bus Pirate for $30, including worldwide shipping at Seeed Studio. Adafruit also has the Bus Pirate and probe cables in stock and ready to ship.

Continue reading “Free PCB Sunday: Bus Pirate demo board”

Week in (p)review: June 20, 2010

Here’s some highlights from the past week, in case you missed them:

  • The Bus Pirate PIC programmer has rescued a couple more Logic Sniffers. No problems have been reported so far.
  • Pirate-loader is an application that loads firmware updates into the Bus Pirate. We got it to compile with MinGW and wrote a short tutorial.
  • Bonybrown’s uIP port for the web platform is quickly developing into an awesome code base. The latest version has SD card access, telnet, and more. We’ve even heard grumblings about a TFTP client. Say tuned. We’ll try to release a source and executable package next week for people who don’t like SVN.

This week should have some new releases and updates too:

Public SVN activity mailing list

SVN commit logs for Dangerous Prototypes SVN and the Bus Pirate project SVN are available on a developers mailing list. Sign up to get email notifications or daily digests of SVN activity, there’s currently 10-20 commits per day. This is mostly useful for developers, but you can also follow progress on your favorite project, or see new projects before they hit the website.

WordPress 3.0 is out, the site will probably be down for a few minutes at some point while we make backups and upgrade.

Web platform: uIP TCP/IP stack with SD card

The uIP TCP/IP stack for the web platform now lists and reads files from an SD card.

You can now read files and list directories from the SD card.

There’s also a ‘sddump’ command that will dump sectors from the sd card in the same way that  memdump dumps memory, for troubleshooting.

The latest uIP port source is in the SVN. Previous updates here.

Seeed is making a small second batch of web platforms. You can probably backorder one at Seeed, they should be available in a few weeks.

Intro to MinGW: Compile pirate-loader

MinGW is a Windows port of the open source GCC compiler. It will compile native Windows executables from C, C++, and a few other languages. In this post we document our experience compiling the pirate-loader bootloader application.

Pirate-loader, originally written for Microsoft Visual C, is a C program that uploads a new firmware to the Bus Pirate. We’re going to recycle the code in a cross-platform PIC programmer. Pirate-loader has everything we need to get started: serial port read/write routines, a HEX file parser, and a command line options handler to interpret user settings.

Continue reading “Intro to MinGW: Compile pirate-loader”

Bus Pirate PIC programmer release

PiratePICprog executable and source are available on the Bus Pirate Google Code page. PiratePICprog is a new application that uses the Bus Priate to program PIC microcontrollers. V1 only supports the PIC 18F24J50 in the Open Logic Sniffer, but is has 18F and 24F script modes for prototyping other chip protocols. It requires Microsoft’s .net framework, but is should also work with Linux/Mono.

We’ve been working on the programmer in the Bus Pirate development forum.

Open Logic Sniffer bootloader rescue

Some Logic Sniffers shipped without a bootloader, and will require a firmware flash before USB upgrades are possible. This post describes how to program the OLS bootloader using a Bus Pirate. It’s also possible to program the bootloader with a PIC programmer like a PICkit or ICD2. If you don’t have a Bus Pirate or a PIC programmer, we’ve arranged repair centers worldwide to reflash the Logic Sniffer, please contact us for the address nearest you. Update: Seeed Studio has also offered to reprogram your OLS.

The bootloader rescue package also includes the latest version of the bitstream (2.04) for the FPGA and the firmware (v05/06) for the PIC. The update implements an SPI connection between the PIC and the FPGA that eliminates the most prevalent reliability issue in the first release. The updates are still beta, but there will be a final version soon. This update will require a firmware upgrade using the bootloader, so now is a good time to check if your bootloader is present and reprogram it if needed.

Continue reading “Open Logic Sniffer bootloader rescue”