Confessions of a prototyper: USB Infrared Toy

Confessions is a series where we share prototypes that didn’t quite work out. Read previous posts for the Bus Pirate, #twatch, and web platform here.

The USB Infrared Toy took a few tries to get right. We’d like to fill you in on some things that happened behind the scenes before we released the v1 hardware. It went through three revisions before we were happy, and even then there were plenty of bugs in the initial production version.

The USB IR Toy is $20, including worldwide shipping. At the time of this post it’s on back order, but v1a hardware is currently in production.

Continue reading for a look at the early USB IR Toy prototypes.

The first IR Toy prototype had a PCB USB connector ‘tongue’ (seen here). We weren’t sure it would work, so we also included a regular through-hole USB jack too. This was a good move because the PCB we used was too thin to make good contact with the USB port.

A circuit based on outdated datasheets was used for the IR receiver. C4 is a 10uF capacitor, and R2 is a pull-up resistor for very old-style receivers that don’t have one internally.

In this version the PIC drives the IR LED directly without a transistor. The MCLR circuit uses a SOT-23 diode (D1).

An SMD mini-B USB jack was used in the second prototype instead of the PCB and through-hole USB connectors.

The power supply for the IR receiver was updated based on a modern datasheet, and the external pull-up resistor was removed. Part layout at the front of the board was cleaned up a lot.

We decided to try an interrupt pin with a Schmitt trigger to give the receiver better noise immunity. The white wire was added so we could test the new interrupt before committing to another PCB.

Version 1 is a fairly major update from the last prototype.

We connected the IR receiver to both interrupt pins. The current firmware uses the pin with a Schmitt trigger, but the TTL pin is also available for experimentation.

The MCLR diode was changed from an SOT-23 package to DO-323. This change saves some space and reduces the pin count.

We also really wanted the IR LED to be hackable for higher current. The PIC pin can only source 20mA max, so we added a transistor that can handle up to 200mA.

This is the initial production version. It has one major error: the IR LED silkscreen is backwards in the Eagle library. The small tab pointing up and to the right should be on the bottom left. Preorder 1 shipped with the LED backwards, this was corrected in preorder 2.

Version 1a is a minor manufacturing update. The latest files are available in the SVN.

Current back-orders, and future orders, will be filled with v1a hardware.

This version uses a ‘normal’ LED footprint instead of the funky, incorrect SFH-482 from the Eagle part library. We requested that Seeed use a plain IR LED like we used in the prototype, instead of the dated (and expensive) SFH-482. This version will also ship with a 180ohm current limiting resistor for higher-power IR LED transmission.

Onwards

Without a doubt there will be future revisions of the USB IR Toy hardware.

  • We have an all through-hole kit version ready to go.
  • The IR transmitter could be replaced with a proper right-angle module instead of a bent-LED.
  • Most of the IO pins are unused and should be brought to the edge for prototyping and expansion.

You can continue this discussion, ask questions, and make suggestions in the USB IR Toy forum.

The USB IR Toy is $20, including worldwide shipping. At the time of this post it’s on back order, but v1a hardware is currently in production and should ship soon.

Join the Conversation

1 Comment

  1. > Most of the IO pins are unused and should be brought to the edge for prototyping and expansion.

    Yes, please… :-)
    With a switch(off)able softcarrier this would pave the way to adding radio modules as well. Of course LIRC’s irsend SET_TRANSMITTERS (http://www.lirc.org/html/irsend.html) would have to be supported for this to work (unless different outputs could use different softcarriers in parallel).

    How about also making the RS232 (probably with a MAX232 added) an output in normal operation, e.g. to drive displays (cf. http://dangerousprototypes.com/forum/index.php?topic=490.0#msg4568 et seq.) ?

Leave a comment

Your email address will not be published. Required fields are marked *

Notify me of followup comments via e-mail. You can also subscribe without commenting.