ARM Powered Rack Mount USB Test Equipment

developing-rack-mount-pcb-testing-tools

This is a device which [Limpkin] has been developing at his day job. It’s a high-speed testing interface for use with Physics experiments. We find it interesting because it uses an ARM microcontroller to implement CDC and MSD over USB.

The design is in two parts to make it work in a rack-mount situation. That big white connector allows cards to be swapped out. You can see the board on the right has a USB-A connector. When plugged in this enumerates as a control device (CDC) and a mass storage device (MSD) using fat32 as a file system.

The platform is being developed with open hardware and open source software in mind. If you’re working on a project that uses either of these USB functionalities this makes a swell reference. The ARM Cortex-M3 chip that he’s using is an AT91SAM3U but it should not be too hard to port the code for other similarly-capable ARM processors.

Python Can Be Your Best Friend When It Comes To Binary Math

python-binary-math

If you’re into microcontrollers you know the ability to think and perform math in binary is a must. [Joe Ptiz] has been looking for a way to keep from being distract by the math when coding while still keeping the binary strings in the forefront of his mind. The solution he came up with is to use the Python interpreter as a binary math aide.

We knew that you could use Python to convert between decimal, hexadecimal, and binary. But we failed to make the leap to using it for troubleshooting bit-wise operations. We can see this being especially useful when working with sixteen-bit I/O ports like those found on STM32 chips. For us it’s easy to do 8-bit math in our head, but doubling that is another story.

The image above is one screenshot from [Joe’s] tutorial. This illustrates a few different bit-wise operators given decimal inputs but displaying binary as output. He also illustrates how you can use python to test out equations from C code by first setting the variables, pasting the equation, then printing the result to see if the output is what was expected.

Rooting Your AT&T U-verse Modem

Unhappy with the performance of his U-verse modem [Jordan] decided to dig in and see if a bit of hacking could improve the situation. Motorola makes this exclusively for AT&T and there are no other modems on the market which can used instead. Luckily he was able to fix almost everything that was causing him grief. This can be done in one of two ways. The first is a hardware hack that gains access to a shell though the UART. The second is a method of rooting the device from its stock web interface.

We think the biggest improvement gained by hacking this router is true bridge mode. The hardware is more than capable of behaving this way but AT&T has disabled the feature with no option for an unmodified device to use it. By enabling it the modem does what a modem is supposed to do: translate between WAN and LAN. This allows routing to be handled by a router (novel idea huh?).

Macro Assembly For AVR Chips

avr-macro-assembly

Here’s an interesting tip that can help improve your ability to write assembly code. In an effort to remove the complexity of assembly code for an AVR project [Quinn Dunki] figured out how to use macros when writing AVR code with the GNU toolchain. Anyone using AVR-GCC should keep this in mind if they ever want or need to pound out a project in assembly language.

If you look at the code snippet above you’ll see two commands that are obviously not assembly; PulseVRAMWrite and DisableVRAMWrite. These are macros that direct the assembler to roll in a hunk of code. But avr-as, the assembler used with this toolchain, lacks the ability to handle macros. That’s too bad because we agree with [Quinn] that these macros make the code easier to read and greatly reduce the probability of error from a typo since the code in the macro will be used repeatedly.

The answer is to alter the makefile to use GNU M4. We hadn’t heard of it, but sure enough it’s already installed on our Linux Mint system (“man m4” for more info). It’s a robust macro processor that swaps out all of her macros based on a separate file which defines them. The result is an assembly file that will play nicely with avr-as.

Her implementation is to help in development of the GPU for her Veronica computer project.

Twitter Radio

twitter-radio

This anthropomorphized wood bowl will read Tweets out loud. It was built by [William Lindmeier] as part of his graduate work in the Interactive Telecommunications Program (ITP) at New York University. View the clip after the break to see and hear a list from his Twitter feed read in rather pleasant text-to-speech voices.

The electronics involved are rather convoluted. Inside the upturned bowl you’ll find both an Arduino and a Raspberry Pi. But that’s not the only thing that goes into this. The best sounding text-to-speech program [William] could find was for OSX, so there is a remote computer involved as well. But we think what makes this special is the concept and execution, not the level of hardware inefficiency.

The knob to the left sets the volume and is also responsible for powering down the device. The knob of the right lets you select from various Twitter lists. Each turn of the knob is responded to with a different LED color in the nose and a spoken menu label. You can get a quick overview of the project from this summary post.

Continue reading “Twitter Radio”

LiPo Internal Resistance Measurement Tool

lipo-internal-resistance-meter

This is a scratch-build meter for measuring the internal resistance of Lithium Polymer cells. [Bleuer Csaba] uses the LiPo cells for RC vehicles and thet take quite a beating from the motors  they’re supplying. This means that he only gets about 100-200 cycles out of each cell. To figure out where one is in its life cycle you can measure the internal resistance where a rising resistance indicates greater age. [Bleuer] mentions that you can buy a meter to do this for you, but what fun is that?

Since he’s rolling his own tool he defined his own parameters for the readings. After experimenting with different loads driven for different test periods he was able to extrapolate an equation that estimates the resistance measurement. As you can see in the clip after the break, this happens very fast. All he has to do is connect the cell and press one button. The measurements are made and various data points are displayed on the quartet of 7-segment displays.

Continue reading “LiPo Internal Resistance Measurement Tool”

Super Slim Wristwatch Build

super-slim-wristwatch-build

This slmwtch lives up to its name. When the LCD screen is folded back onto the PCB the entire thing comes in at just 2.35mm. That’s including a coin-cell battery not shown above. Wow!

Part of what makes this possible is the specialized PCB design. [Anders] didn’t want to add more thickness than the screen and battery so he make a cutout in the PCB design to accept each component. In this image it’s easiest to see on the two SMD resistor in the upper left. They’re held in a void by the two solder connections. Admittedly this is not going to be a mass-production friendly design. And we have concerts about the long-term stability of suspending components by their leads. But as a one-off it’s fantastic! See for yourself in the video after the break.

The control for the watch uses two touch sensitive pads on the back of the PCB. There is no backlight for the display which can be a problem when trying to read the time while outdoors. We wonder if an ePaper display with similar dimensions is available?

Continue reading “Super Slim Wristwatch Build”