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]

Tiny MP3 module is perfect for your next project


If your next project needs the ability to play MP3s but you don’t have a lot of room to spare in your enclosure, [Boris] has just the thing you need. His tiny embedded MP3 module supports playback of up to 65,536 songs or as many as you can fit on a 16GB microSD card, which isn’t bad in the least.

The module relies on a PIC24F for input and control, while a VS1011 handles all of the MP3 decoding responsibilities. He says that the module would be great for voice-enabled vending machines, telephone systems, cars, and more.

With such a wide range of possible applications, he decided that the module should be able to support several different input methods. The board can be controlled via a set of digital input buttons, which is perfect for direct human interaction, while it also supports serial control for scenarios where it is part of a larger embedded system.

Of course, we’ve seen tiny MP3 players like this before, but we like the fact that this module was designed to operate in standalone mode or as a component in a larger device. Of course all of the device’s schematics, code, and a BoM are available, allowing you to build your own if you are comfortable with SMD soldering.

Bounty on Bus Pirate features, get a free v2 PCB


We’re putting a bounty on two high-priority Bus Pirate features. You can get a free PCB for the upcoming Bus Pirate V2 by writing a bit of code. Hack a Day has a varied and talented group of readers, and we know someone out there has the experience to make these changes with minimal difficulty.

  • The latest code integrates the PIC24F bootloader for easy updates without a programmer. We’d like to add a protocol snooper, but that requires interrupts. With the bootloader, however, interrupts are relocated and we’ve yet to fully grasp how that works. We’ll send a PCB and PIC 24F to the first person who modifies the code to demonstrate UART, SPI, or change notification interrupts with the boot loader. Microchip’s 24F bootloader app note is available here. Complete.
  • The current frequency measurement feature is a hack that uses a counter and a timer. Be the first to implement the input capture peripheral instead, and get a free PCB. See the function bpFreq(void) in base.c. Complete.

The latest Bus Pirate code and compiled firmware can be checked-out from Google Code SVN. Submit your code via the comments below or

UPDATE: Both issues were resolved. Thanks for your suggestions.

How-To: Web server on a business card (Part 2)

This mini web server is slightly smaller than a business card. There are a lot of tiny one-board servers out there, but this is probably the smallest you can etch and solder at home. Unlike many embedded web servers, files are stored on a PC-readable SD card, not in a difficult-to-write EEPROM. Read on for the web server design, or catch up on PIC 24F basics in the previous article: Web server on a business card (part 1).

[Read more...]