MSP430 Bit Banged USB 1.1

msp430-usb-hardware

Here’s a rather exciting development for those who work with MSP430 microcontrollers. [M-atthias] worked out a way to implement USB 1.1 on a MSP430G2452. He’s bit banging the communications as this hardware normally doesn’t support the Universal Serial Bus. This is much like using the V-USB stack for AVR micros.

The test hardware seen above uses an 18Mhz crystal to get the timings just right. As this squeezes the most out of the chip it should come as no surprise that the firmware is written in assembly. This is still quite early on in development but the core features are mostly there, having been implemented and debugged over several versions already. Currently the base functionality can be loaded using under 2k of flash memory. You can download the Mecrisp package from [M-atthias’] sourceforge page. If you want to lend a hand testing or developing it would be greatly appreciated.

[via 43oh blog]

PhatIO Uses File System To Control External Hardware

[Andrew Smallbone] wrote in with a link to his latest open source project. This is phatIO, a USB I/O device that uses a mass storage file system for control. The idea is that any operating system can manipulate files on a USB storage device. This enumerates as mass storage, and any alterations you make to its file system will result in pin manipulation on the I/O header.

We’ve long been Linux advocates and enjoy the fact that everything on a *nix system is a file. This simply extends the idea across multiple platforms. [Andrew’s] guide for the hardware gives an overview of how the system is structured. The top ‘io’ directory contains sub-directories called mode, pins, status, and a few others. Inside the directories are files for each pin. Writing to these files has much the same effect as writing to a data direction register, port register, or reading a pin register on a microcontroller.

The board is not yet in production and the github link to his hardware files gives us a 404 error. But there is code available for several software demos. After the break we’ve included video of the phatIO driving a Larson scanner.

Continue reading “PhatIO Uses File System To Control External Hardware”

USB Keyboard Becomes An AVR Programmer

[Steve] created an AVR programmer using an old USB keyboard. We feature a bunch of AVR programmers, but this one is made from parts that many people will have lying around. There are two components: the controller PCB from a USB keyboard, and an optocoupler for emulating key presses.

In order to send data to the AVR, [Steve] used the LED outputs on the keyboard. These LEDs can easily be toggled according to the HID device specification. They provide a 5 volt output with current limiting resistors, which means they can be connected directly to the target AVR.

Reading data is a bit more complex. The optocoupler tricks the keyboard into believing that a single key has been pressed, firing off a data transfer. The MISO pin on the AVR is connected to the row and column of the shift key, which is read by the driver.

On the software side [Steve] created an avrdude interface driver. This allows the programmer to be used with avrdude, just like any other programmer. [Steve] does point out that it isn’t the fastest programmer since the keyboard tries to debounce the MISO input, greatly limiting the speed. However, since it’s made from stuff you might have in your junk bin, it’s a neat hack.

MSP430 Launchpad Game Of Life Shield

[100uf] built an LED matrix shield for the MSP430 launchpad. His goal with this design was to have it play Conway’s Game of Life. It does just that, as you can see in the clip after the break. But it’s just waiting to learn some more tricks. After he tires of watching the cellular automaton he can try his hand at making some LED pendant animations.

As you can tell, the board was made in his home workshop. It’s not etched, but milled using the CNC machine shown in this image gallery. This is a single-sided PCB, which works well enough for the surface mount components and the downward facing pin sockets. But we wonder how difficult it was to solder the legs of that 8×8 LED matrix. It does have plastic feet at each corner that serve as standoffs to separate the body from the copper layer. But it still looks like a tight space into which he needed to get his iron and some solder.

Continue reading “MSP430 Launchpad Game Of Life Shield”

AVR Minecraft Server Lets You Toggle Pins From The Virtual World

Wanting to test his skills by building a webserver [Cnlohr] decided to also code a Minecraft server which allows him to toggle pins from inside the game. The rows of switches seen above give him direct access to the direction register and I/O pins of one port of the ATmega328.

The server hardware is shown in the image above. It’s hard to tell just from that image, but it’s actually a glass substrate which is [Cnlohr’s] specialty. He uses an ENC424J600 to handle the networking side of things. This chip costs almost twice as much as the microcontroller next to it. But even in single quantities the BOM came in at under $20 for the entire build.

In the video after the break [Cnlohr] and a friend demonstrate the ability for multiple users to log into the Minecraft world. The simulation is fairly bare-bones, but the ability to affect hardware from the game world is more exciting than just pushing 1s and 0s through some twisted pairs.

Continue reading “AVR Minecraft Server Lets You Toggle Pins From The Virtual World”

In-depth Comparison At STM32 F3 And F4 Discovery Boards

The STM32 F3 and F4 Discovery boards have been around for a while now. We’ve looked at both separately and they’re impressive dev boards for the price. Now can get a closer look at each from this in-depth comparison of the two Cortex-M4 development tools.

To start off, both of the boards have the same size and footprint (there are two dual-row pin headers which break out the connections to the ARM chip). Fundamentally the F3 and F4 chips have a different level of features, but the boards themselves are aimed at different applications as well. The F3 series of microcontrollers looks to be more affordable than the F4, containing less program memory, no Ethernet capability, and only one USB port. But both have hardware floating-point abilities and they’re blazing fast. The boards offer a MEMS accelerometer for prototyping. But the Discovery-F3 also contains a gyroscope while the Discovery-F4 provides audio hardware like a microphone, and DAC.

If you want to use a Linux box to develop with these tools you might find this guide helpful.

Variometer Build For Gliding Aircraft

If you’re flying through the air in a non-powered vehicle your rate of descent is something that you want to keep any eye one. With that in mind, [Adrian] decided to design his own Variometer (translated) what will have a place in the cockpit next to the other instrumentation. It emits a pitch whose frequency is dictated by the rate at which altitude is being lost or gained.

He went with a PIC 24FJ64 microcontroller to drive the device. It’s reading data from an MS5611 barometric pressure sensor. This measures changes in air pressure associated with a change in altitude. As a user interface he chose one of SparkFun’s Nokia 5110 LCD screen breakout boards. He also went with one of their boost converts which lets him power the device from just one battery cell. The case itself is cut from several layers of plastic using a CNC mill.

In the video after the break you can see how sensitive the device is. Moving it just a few feet up or down has an immediate effect on the sound and the displayed data.

Continue reading “Variometer Build For Gliding Aircraft”