Throw Together A Temperature Logger In Minutes

[Rajendra] found an easy way to make a USB temperature logger. He already had a USB to UART adapter that takes care of the heavy lifting. On one end it’s got the USB plug, on the other a set of pins provide a ground connection, 3.3V and 5V feed, as well as RX/TX lines.

To get the hardware up and running all he needed was something to read a temperature sensor and push that data over the serial connection. An 8-pin microcontroller in the form of a PIC 12F1822 does the trick. It runs off of the 5V pin on the USB-UART, and uses the ADC to get temperature data from an MCP9701A sensor.

The sample rate is hard-coded into to the PIC’s firmware, but adding a button, or coding some serial monitoring could easily make that configurable. [Rajendra] used Processing to write an app which displays the incoming temperature info and uses the computer to time-stamp and log the inputs. We could see this as a quick solution to tracking wort temperature during fermentation to make sure your beer comes out just right.

How To Develop For STM32 Discovery Boards Using Linux

Some hard work has gone into making it possible to develop for the STM32 Discovery board using a Linux system. The board boasts an ARM Cortex-M3 processor, which can be programmed via the mini-USB port on the side. But the company only supports development through their IDE’s which don’t run natively on Linux. The stlink project aims to solve this, providing a toolchain, and making it possible to flash the microcontroller via the USB connection.

The github project linked above also includes a tutorial to get you started (pdf). In addition to a walk through on compiling the software packages, it includes a simple blink program that you can use to test out your hardware. GDB, the familiar open-source debugger, is used to flash the chip. This is a bare-bones tutorial so if you end up posting about your experiences using this toolchain with the Discovery boards we’d love to hear about it.

[Thanks Texane]

N64 Controller Input Using An ATtiny85

[Larsim] worked out the timing necessary to read button and joystick data from an N64 controller using an ATtiny85 microcontroller. The project was spawned when he found this pair of controllers in the dumpster. We often intercept great stuff bound for the landfill, especially on Hippie Christmas when all the student switch apartments at the same time.

Instead of cracking the controllers open and patching directly to the buttons, [Larsim] looked up the pinout of the connector and patched into the serial data wire. In true hacker fashion, he used two 5V linear regulators and a diode in series to step his voltage source down to close to 3.6V, as he didn’t have a variable regulator on hand. It does sound like this causes noise which can result if false readings, but that can be fixed with the next parts order.

The controller waits for a polling signal before echoing back a response in which button data is embedded. This process is extremely quick, and without a crystal on hand, the chip needs to be configured to use its internal PLL to ramp the R/C oscillator up to 16Mhz. With the chip now running fast enough, an external interrupt reads the serial response from the controller, and the code reacts based on that input.

It seems the biggest reason these N64 controllers hit the trash can is because the analog joystick wears out. If you’ve got mad skills you can replace it with a different type.

Electronic Die Rolls Up To 100

If you’re gaming on the road, or just don’t have a die with the right number of sides on hand, an electronic polyhedral die will be quite handy. [Marcus] built this using a printed circuit board of his own design, and we think an electronically simple project like this is a great way to get your feet wet with PCB fab house techniques. He suggests Seeed Studios’ service, or the DorkBotPDX group PCB order. But this would not be a hard project to build on perfboard as well.

The concept is simple. A two-digit 7-segment display shows the value of the top face of your die. when it’s time to roll, just pick up the box and tip it over. A tilt switch senses this action and rolls the die by displaying the next pseudo-random number. The single button, seen here with a pyramid die glued to it, lets you select between die with different number of sides; from 2 (like a coin flip) all the way up to 100.

We like [Marcus’] projects. He’s the same guy that built a scoring system in a game storage box.

Ultrasonic Rangefinder As Scanning Radar

Ultrasonic rangfinders are a cheap and easy way to gather obstacle avoidance data. When added to a servo motor they form something of a scanning radar for near-proximity objects.

In this implementation, [Rui Cabral] is driving the servo, and collecting data from the sensor using a PIC 18F4520. The servo rotates 180 degreees, taking sensor measurements in increments of nine degrees. If it discovers obstacles, the distance and orientation are recorded. Feedback is displayed on a 20-LED bar graph display which shows a moving LED to track the sensor orientation, with LEDs remaining lit whenever an object is found. Right now the obstacle data is pushed over a serial connection with a PC, but could easily be injected into navigation logic for a robot in order to triangulate a path around the obstruction. You can see [Rui’s] project in action after the break.

We looked in on the same concept with a different display technique a couple of years back. That hack used an Arduino and Processing to map sensor data with a traditional green sweep display.

Continue reading “Ultrasonic Rangefinder As Scanning Radar”

Tinywrench Controls Motors With ATtiny24 Chips

Tinywrench is [Tanjent’s] take on a motor controller board. It aims to replicate all of the functions that a standalone motor controller chip offers at as low a cost as possible. Early results are in. It works, and as seen can be assembled for about $8.

The top of the device offers a terminal block for connecting motors, ground, and 24V input. A pin header on the bottom has all the connections you would expect to find with a stepper motor driver board. Looking back on top there’s also a pair of ATtiny24 chips, each with its own trimpot for balancing the constant current output. Hiding on the underside of the board are two H-bridges built using high and low-side MOSFETs along with some diodes for protection, and various passive components for driving them.

As it stands, each of those H-bridges can handle around 9 amps which should be more than enough for projects with small motors. [Tanjent] mentions that one of the main advantages of working with this instead of a single motor-driver chip is that if you fry one of the MOSFETs you can replace it instead of trashing the entire board.

8-pin Micro Plays Pong On Your Widescreen

[Fernando] sent in a tangential project update that uses an ATtiny45 to play Pong on his television. Last time we looked in on his work he had just finished getting the eight-pin chip to display a big number on the TV via the VGA port. This expands on the idea while he continues to wait for parts.

Right now the chip plays against itself, but he’s got one input pin left and we’d love to see a button added for a simple one-player game. We’re thinking the paddle would always be moving in one direction or the other, with a click of the button to reverse that direction. The part that he’s waiting for is a Bluetooth module, which we’d love to see used for 2-player games via a pair of Wiimotes (we’re just wishing at this point and don’t know if that would even be possible). The end goal for the hardware is a Bluetooth connected scoreboard for Android devices.

The code is written in Assembly, and we found it relatively easy to follow what [Fernando] is doing with the game logic. On the graphics side of things he gets away with a 120×96 resolution because Pong is supposed to look pixelated. We love the result, which you can see for yourself after the break.

Continue reading “8-pin Micro Plays Pong On Your Widescreen”