Handheld 2.4 GHz Spectrum analyzer

Here is a 2.4GHz spectrum analyzer Miguel built into a Nokia 3410 case.

His design is based on the CYWM6935 2.4 GHz radio module. It’s controlled by the ATMega8 microcontroller. This project scans the 2.4 GHz range and displays the bands currently used on an LCD.

The really cool thing about this project is that the whole thing fits inside the original mobile phone case, and makes use of the original phone’s LCD and battery. Check out the pic of a fully assembled prototype below.

Continue reading “Handheld 2.4 GHz Spectrum analyzer”

Breadboard limitations

We love breadboards, they make prototyping easy, but they have their limitations. The way breadboards are built imposes a low maximum frequency to the design, typically  less then 50 MHz.  This is due to the high parasitic inductance and capacitance on solderless breadboards.

For designs that work at low frequencies, breadboards are the ideal tool for fast prototyping. For any design above a few MHz they become too noisy, so custom PCBs, or development boards are required.

Via the forum.

Image by oskay: CC BY-SA

Arduino code emulation object for Parallax Propeller


If you regularly use the Arduino, but want to explore the versatile multi-core environment of the Parallax Propeller, here’s a code project of interest. Perry Harrington has written a Propeller SPIN code object to emulate many of the functions found in the Arduino SDK.

Perry describes his code:

This is a basic _light_ implementation of the Arduino SDK for the Propeller. It is intended for newbies to get acquainted with the Propeller. There are many useful SDK functions implemented, things like PWM, tones, shiftIn/shiftOut, bit setting routines and math routines. This object is intended as an easy way for Arduinites to explore the Propeller, it is not intended as a substitute for the many great SPIN/PASM objects that implement much of these functions in a more robust and thorough manner. 

To clarify, a review of the code confirms that this object provides a number of functions using “Arduino terminology” which you can use with the standard Parallax Propeller IDE. It is not an Arduino GUI that you can fire up and use with Propeller as if it were an Arduino. Nevertheless, it can help to ease Arduino users into the broader SPIN coding environment.

Visit the Arduino LIGHT object page for more information or to download the object’s code.

DIY Ultrasonic range finder clone

Erdabyz made a DIY clone of the SRF04 ultrasonic range finder. He used pictures of the SRF04 and some intuition to make the PCB. His project is the exact clone of the device and uses these ultrasonic sensors. He was kind enough to provide the PCB source files, as well as some source code for an example project with the Arduino.

Via the forum.

Rescuing an ArduinoBT board with the Bus Pirate


Rohit de Sa has used the Bus Pirate with STK500v2 firmware to rescue a damaged ArduinoBT board.

A few days ago I help a friend recover his ArduinoBT board. He had somehow managed to mess up the Bluetooth bootloader on the Arduino, and with wireless comms being the only way to program the board, he was stuck. I used my DIY BP Bus Pirate along with the STK500 firmware found on DangerousPrototype’s website to reflash the ATmega328 on the board.

Read the how-to on his NutsAndBoltsAndFlyingSparks website.

Via the contact form.

Stereo FM transmitter

Here is a stereo FM transmitter design, based around the BA1404 integrated circuit.

If you want to get rid of those pesky audio wires leading from your computer to your amplifier here is a simple circuit that will enable you to do just that. Simply atach the audio-out cables to the circuit and tune your FM tuner until sound starts playing on your speakers.

This stereo transmitter circuit is based around the BA1404 fully integrated FM transmitter. Only a few discrete components are required to get it going. You can find the schematic, as well as a comprehensive guide on how to build your own, at the Electronics-DIY blog.

Via Electronics-DIY.

App note: Reading two bytes of data over I2C

Some I2C sensors and devices store more then one byte of data that needs to be read by a microcontroller. Many of these devices change the data once a stop bit has been received.

Problems might occur if the data is read by the microcontroller in two consecutive 1byte transactions. If so, the microcontroller will send a stop bit between two data transmissions, thus prompting the device to update it’s data and corrupt the second byte.

Here is a app note from Maxim explaining how to properly read two bytes without any data corruption. Instead of sending a stop bit after the first byte is received, a repeated start should be sent by the master, thus insuring no data corruption will occur.

Nyan cat running on a Parallax Propeller


We haven’t had a Sunday Silliness post in quite a white, so here goes. The above video depicts an animated Nyan cat running across the galaxy. The video and accompanying audio are generated by a single Parallax Propeller microcontroller. This demo was created by Doug Dingus. Video generation is accomplished using the NTSC 4×2 colorburst TV driver” object by Eric Ball for video generation and the Retronitus sound engine by Johannes Ahlebrand for music generation. Check out the posts in the Parallax forums for discussion and links related to this project.

Yes, the cat keeps running for three minutes to hypnotic retro-tech music. No, it doesn’t do anything else. But it’s funny, it’s three weeks before Christmas, and it illustrates the video and sound capabilities of the Propeller.

Free PCB Sunday: Pick your PCB

We go through a lot of prototype PCBs, and end up with lots of extras that we’ll never use. Every Sunday we give away a few PCBs from one of our past or future projects, or a related prototype. Our PCBs are made through Seeed Studio’s Fusion board service.

This week two random commenters will get a coupon code for the free PCB drawer tomorrow morning. Pick your own PCB.

You get unlimited free PCBs now – finish one and we’ll send you another!

Don’t forget there’s free PCBs three times every week:

  • Tweet-a-PCB Tuesday. Follow us and get boards in 144 characters or less
  • Facebook PCB Friday. Free PCBs while you wait for the weekend
  • Free PCB Sunday, right here on the blog

Continue reading “Free PCB Sunday: Pick your PCB”

How to make a CheerLights controller with Arduino and ioBridge

CheerLights is an ioBridge Labs project that allows people’s lights all across the world to synchronize, stay linked based on social networking trends. It’s a way to connect physical things with social networking experiences and spread cheer at the same time. We are all connected.

The Arduino is used to generate the PWN signal to control the lights, and an IO-204 bridge allows the Arduino to interface with the Internet. Visit the CheerLights website for details on building your own CheerLights controller.

The project is versatile, and doesn’t to involve a massive Christmas light display. It could be something as simple as having three different colored LEDs on your desk which display a color coordinated with other displays across the world. CheerLights expressed idea behind the project is for your display to be something synchronized with the rest of the world. This synchronicity comes at a price however: the IO-204 Monitor and Control Module used lists for $119.

Looks like a job for the $40 DP Web Platform!

App note: LIN Firmware Base for LIN/UART Controller

Here is a app note from Atmel with a comprehensive reference for implementing the Local Interconnect Network on a ATmega, or ATtiny microcontroller.

LIN is a slow sub-network of the CAN bus used to integrate sensors, and devices, in modern-day cars. One master can interface with up to 16 slaves at a maximum bandwidth of 19.2 Kb/s. The basic functionality is as follows, a master starts communication and a per-scheduled slave responds. The scheduling is stored on tables inside both the master and slave.

This app note is a comprehensive guide on how to write firmware for ATmega32/64/M1/C1 or ATtiny167 devices with hardware LIN transceivers.

Nokia 3310 LCD breakout

Here is a breakout board Arup designed for the Nokia 3310 LCD. He built the breakout on a perf-board, and added two LEDs as backlight. You can find a how-to of this build on his blog.

Nokia 3310 LCD can be bought for a few bucks in a local mobile phone repair shop, or by buying used, or broken 3310 phones. The LCD uses the standard SPI interface with 1 additional pin, which controls if data, or control signals are send over the SPI.

Via the forum.

App note: Pushbuttons Control Regulated Switching Converter

Here is an app note from Maxim describing how to implement a digital potentiometer to adjust the output of a boost converter. Digipot is controlled through two push buttons. One controls the direction of the wiper, while the other moves the digipot wiper in the selected direction.

The digipot is implemented on the DC/DC boost converter’s feedback loop, adjusting one of the resistors in the loop.

Connecting the wiper of IC1 via a 10k resistor to the FB node of IC2 sets that feedback according to the voltage on IC1’s wiper. The equation for setting the output voltage precisely is a complex one that includes the resistances of the feedback resistors and of the digipot, but it can be simplified by calculating voltages at the extremes of the wiper setting.

For a more in-depth explanation check out the app note.

Parallax laser range finder / Game Boy printer hack


Joe Grand, developer of the Parallax Laser Range Finder (LRF) presents this hack interfacing the LRF with a vintage Game Boy printer. The project uses the LRF’s onboard camera, along with a few circuit and firmware mods, to allow the user to take snapshots and have them printed by the Game Boy.

Complete source files for this hack along with the description of Joe’s development of the LRF can found on his Grandideastudio website.

App note: Implementing bidirectional interface with a single common LED

Here is an app note from Mitsubishi Electric Research Laboratories describing how to implement short-range low-bandwidth bidirectional communication using common LEDs.

It’s called LEDComm and requires only two pins of a microcontroller and a current limiting resistor to function. It works by making use of the fact that LEDs, once reverse biased, are also pretty efficient photodiodes, or light sensors.

Continue reading “App note: Implementing bidirectional interface with a single common LED”

PSOC3 custom board development

We wrote about Kmmankad effort to build a custom PSOC3 development board. After the initial design, he consulted Cypress engineers about his board. They advised him how-to improve his design. Here are the latest revisions:

  • Added additional vias between the top and bottom layers to improve return paths.
  • Crystal routing improved(Capacitors on same side,traces shorter).
  • Added reverse polarity protection diode across Unregulated DC Input(VIN).
  • Added Fuse to USB supply.
  • Added LED for Bootloader Status.
  • Widened Power tracks for better stability.
  • Differential Routing for SWD and USB tracks.
  • Changed back to Type B USB connector,easier to solder.

It is pretty cool to see the industry help out DIYers.

Via the forum.

Week in (p)review: December 02, 2011

Here’s a summary of major developments over the last week:

Coming this week:

  • App notes on the weekend
  • Free PCB Sunday
  • Free PCBs via Twitter on Tuesday
  • New designs on Thursday
  • Free PCBs via Facebook on Friday
  • Weekly roundup and preview every Friday

What are you hacking this week?

Real 3.3volt LCD displays

Most cheap character displays are built to work at 5V, and this can be a problem if your circuit is designed around lower voltages. Here are some reasonably priced 3.3volt displays that range from 1X8 to 3×16 displayed characters.

You can interface with them over three protocols: 8bit, 4bit, and SPI. The displays are sold without a backlight, but stackable LED backlight modules are sold as well.

Via Electronics-Lab.