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]

Build a binary wall clock for just a few bucks

The weekend is almost here and if you’re looking for an afternoon project consider building your own binary wall clock. [Emihackr97] built the one you see above using parts on hand, but even if you put in an order for everything, it won’t cost you much.

He used a cardboard box as the housing for the clock, marking a grid for the LEDs on the face and drilling holes to house them. Two columns for hours and another two for minutes let the clock display 24-hour time with alternate firmware for 12 hour time. Since there are two buttons – one to set hours, the other to set minutes – a little coding would make it possible to select between the two either by clicking both buttons at once, or holding down one button.

[Emihackr97] is driving the display with an ATmega48, which is a pin-compatible replacement for the ATmega168/328. Those chips are the type most commonly found on Arduino boards an indeed this project is running the Arduino bootloader, but uses an ISP programmer and breadboarded circuit to keep the costs low. There are plenty of pins to drive the 13 LEDs directly, making the soldering quick and painless. Check out a demo clip after the break.

If you’re successful at this build and get the itch for something with more style, there’s a ton of ways to spice up the look of a binary clock.

Continue reading “Build a binary wall clock for just a few bucks”

A beginner’s guide to burning Arduino bootloaders

When it comes to learning about microcontrollers, everyone has to start somewhere. [Lady Ada] recently posted a tutorial on burning the Arduino bootloader to standalone chips for those just getting started with the micro.

The tutorial cites a common situation, where someone is working on a project using an Arduino chip but they don’t want to sacrifice their dev board when just the micro and a few other components would do just fine. A short list of supplies is required, including an Arduino, a proto shield kit, a ZIF socket, and a blank ATmega chip.

The process is probably pretty straightforward and likely familiar to many of you out there. The ZIF socket is soldered to the board and handful of wires are added for powering and programming the new chip. The protoboard is installed on top of the Arduino like any other shield, and using a sketch that [Lady Ada] has made available, the bootloader burning process is a cinch.

It’s a useful tip for newcomers, and definitely a skill that seasoned Arduino users should have under their belts as well.

Bootloader burning basics

[Charles Gantt] and a few others were having trouble burning the Sanguino bootloader to an ATmega644 chip. With some help from the [Nils Vogil] via the RepRap IRC [Charles] got it worked out and wrote a guide for burning the bootloader using an Arduino as an ISP programmer.

We’re not familiar with the specifics of the Sanguino bootloader, but [Charles] mentioned that he was unable to flash it onto the AVR chip without a resonator. The resonator serves as an external clock source for the chip. We’d bet the programming process changes the fuse settings on the chip to use an external source. Without that source, you won’t be able to communicate with the chip afterwards.

The solution just adds the resonator to the programming circuit. This should be useful when burning any bootloader using an Arduino. But it does make us wonder if there isn’t an alternative method that would let you draw the clock signal from the Arduino itself?

Circuit design for multiple UART connections

[Bill Porter] has a tip for designing circuits that have multiple connections to a single microcontroller UART. This stemmed from a review of a friend’s circuit design that used the UART in the project, but also called for an FTDI chip in order to reprogram via USB and a bootloader. Unlike the schematic above, the circuit called for straight connections without any resistors. With that design, a conflict will occur if two devices are connected and attempting to communicate at the same time.

The fix is easy. [Bill] discusses how to prioritize the connection by adding the pair of current limiting resistors seen above. This helps to ensure that damage will not occur, and that the FTDI chip will take precedence. Now the external hardware will not preclude the FTDI chip from accessing and programming via the bootloader. The tutorial is intended for those rolling their own boards out of an Arduino-based prototype, but it will work in any situation where you need multiple connections to a single set of UART pins.

Gitbrew brings OtherOS back to the PS3

otheros

Instead of simply watching the days pass by while the PSN network continues to be unavailable, why not do something useful with your PS3 console? [MS3FGX] wrote in to share some news regarding efforts to bring the OtherOS option back to the PS3.

The team at gitbrew.org have been diligently working to bring Linux back to the console for a little while now, and have released a dual-boot firmware they are calling OtherOS++. This firmware has two huge benefits over Sony’s original attempt at Linux support for the console. It can be run on the original “fat” PS3s as well as the newer “slim” models – something that was not possible until now. Additionally, it gives the Linux install full access to the PS3’s hardware rather than running the OS inside a virtual machine.

The project is relatively new, so the installation procedures and associated documentation are not suitable for the less experienced individuals out there, so consider yourself warned.

We love that there are people doing all they can to bring this awesome feature back to the PS3 – it’s a huge step in the right direction.

[Image via gitbrew]

Automated chip burning

[Alexsoulis] needed to burn the Arduino bootloader to a slew of ATmega328 chips. Instead of sitting there and plugged the chips into a programmer one at a time, he build a robotic microcontroller programmer.

It starts with the DIP package microcontrollers in a tube, with a servo motor to dispense them one-by-one. An arm swings over and picks up the chip with a fish pump powered vacuum tweezers similar to the pick-and-place head we saw recently. From there the chip is dropped into a ZIF socket and programmed by an Arduino. Once the process is complete it is moved to the side and the process repeats.

We’ve reported on using an Arduino as an AVR programmer but we’ve never actually done it ourselves (we use an AVR Dragon programmer). Take a look at the video after the break and let us know if you think the actual programming seems incredibly slow.

Continue reading “Automated chip burning”