You might already have the hardware on hand to easily interface I2C and SPI devices with Python scripts on your computer. The board seen above is an FT-2232 breakout board. These chips are often used to facilitate JTAG programming via USB, but they have other features that might be useful to you as well. The chip has a Multi-Protocol Synchronous Serial Engine (MPSSE) which can speak the I2C and SPI protocols, you just need to know how to active them in your code.
[Craig] makes this easy with his MPSSE Python wrapper. Simply install his module, and you’ll be able to import all the commands you need. He demonstrates reading the data out of a 1 MB SPI flash memory chip. This could be used for a lot more, including debugging peripherals à la the Bus Pirate, or reprogramming chips to add to your projects (we’re thinking font arrays and sprites for displays, or look-up tables).
If you’re not aware, these FTDI chips were the go-to for USB support for a long time. We’ve got a guide for bit-banging using this hardware. Lately more chips have become available with USB hardware built-in. They’re quite useful and cost-effective, especially with the availability of open-source stacks like the LUFA project.
[Parker Dillmann] is nearing the end of the prototyping process for his Propeller development board. He wanted a tool that let him work on projects without the need for a bunch of equipment, while still maintaining the ability to extend the hardware when necessary. His last dev board used a large piece of protoboard to host through hole components including the Propeller chip, 3.3V and 5V regultors, an SD card reader, and female pin headers. This version migrates to a PCB from a fab house and mostly surface mount components.
He decided to use a USB-stick design having been happy with some of TI’s prototyping tools. The Parallax branded development boards use an FTDI 232RL chip for easy programming and that’s what he’s gone with as well. A P8X32A chip in the QFP package was chosen for easier soldering than the smaller QFN option. There’s also a 64kb EEPROM on board to give you plenty of room for your SPIN programs. All the pins are broken out to DIL female headers and there’s a power header on the end opposite the USB plug. [Parker] plans to do a bit of testing to make sure there’s no problems with signal routing below the 5Mhz crystal footprint. This run of prototypes came from the Seeed Studios Fusion PCB servcie–he got more than 10 boards for a total of $13… that’s almost unbelievable.
[Jack Gassett] is developing a new breakout board for an FPGA. The chip comes in a ball grid array (BGA) package which is notoriously difficult to solder reliably. Since he’s still in development, the test boards are being assembled in his basement. Of the first lot of four boards, only one is functional. So he’s setting out to rework the bad boards and we came along for the ride.
To reflow the surface mount components he picked up a cheap pancake griddle. The first thing [Jack] does is to heat up the board for about two minutes, then pluck off the FPGA and the FTDI chips using a vacuum tweezers. Next, the board gets a good cleaning with the help of a flux pen, some solder wick, and a regular soldering iron. Once clean, he hits the pads with solder paste from a syringe and begins the soldering process. BGA packages and the solder paste itself usually have manufacturer recommended time and temperature guidelines. [Jack] is following these profiles using the griddle’s temperature controller knob and the timer on an Android phone. In the video after the break you can see that he adjusts the timing based on gut reaction to what is going on with the solder. After cleaning up some solder bridges on the FTDI chip he tested it again and it works!
Continue reading “Reworking Ball Grid Array circuit board components at home”
[SunWind] developed his own version of the Phillips Ambilight system (translated) which he is calling LiveLight. We’ve seen more than a few of these hacks, many of them are based around Arduino, and most use LED strip lighting. [SunWind] is using strip lighting as well, but his design is clean and polished quite a bit more than anything else we’ve seen. In our minds this would be welcomed by even the most discriminating of A/V enthusiasts.
He found just the right size of project box and managed to fit everything in on a nicely milled PCB. The enclosure itself has also been milled to allow the mini USB B connectors for each of the nine RGB LED strips. But he didn’t stop there, the top of the enclosure has labels milled into it to help when hooking everything up.
An ATmega32 addresses the LED strips based on data pushed in from a computer. An on-board FTDI chip adds USB connectivity and [SunWind] used a hack to rewrite the EEPROM on that chip so that it enumerates with the name “LiveLight USB Interface”. A program called Boblight gathers the data from the currently playing video. You can see the final project in the video embedded after the break.
Continue reading “LiveLight is an expertly crafted ambilight clone”
[Albert] has made a few PC IR transmitters and receivers using the traditional connection of RS232 serial, and that is fine, but as we are all aware, not every computer has serial ports standard. Searching though normal USB <> RS232 dongles didn’t meet his requirements. Deciding on making it himself, he whipped up this FTDI bit-bang IR receiver / transmitter.
While FTDI makes a range of chips most (if not all) support a bit-bang mode where you can manually control the IC’s pins. The FTDI chip handles the timing, and when paired up with libFTDI makes it pretty painless to control. The software is a work in progress, but [Albert] already has a driver that connects to LIRC, which lets you control a wide array of remote devices and a test program for carrier generation.
Schematics, source, and a few pages of good information are available on his site.
We see Arduino boards used in a lot of projects but we’ve never thought of using one as a USB crossover cable. That’s basically what [Jack the Vendicator] did to get his broken laptop running. When his video card stopped working he found himself unable to access the laptop. Newer machines don’t have a serial connector, which could have been used for a serial terminal, so he was at a bit of a loss since neither SSH nor VNC were installed. But he thought he might be able to use the Arduino as a serial terminal connector over USB. He plugged the Arduino into the laptop, and connected a USB serial converter from his desktop computer to the Arduino’s serial pins. In effect he’s just taking advantage of the FTDI chip, translating those signals back into USB on either end. Once he booted the headless laptop it took just a couple of blindly typed commands to get SSH running in order to regain control.
[Becky Stern] shows how to take an old electronic knitting machine and interface it with a computer. After seeing the Brother KH-930E knitting machine in the video after the break it looks like the controls function quite like a CNC milling machine. Patterns can be programmed in and stored on a floppy disk. Since we don’t want to use those anymore (unless they’re hacked as an SD card carriage) it is nice to see that this is how the machine is connected to a computer. Using an altered FTDI cable and a floppy-drive emulator written in Python a blank design file can be saved on the knitting machine, manipulated in the computer to add your own pixel art, then loaded back onto the machine for production. At the very least, it’s interesting to watch the knitting happen, but fans of knitted apparel and geek paraphernalia must be salivating by now.
We’ve never given up our dream to transition from Hack-A-Day to Craft-A-Day, this just fuels the fire for that cause.
Continue reading “Make a knitting machine print pixel art”