Skip to the content
2 layers33 × 45.7 mmFtdi pic ir, the printed circuit board in 3D

The aim is to have a tiny transmitter which works with the OpenPandora without compromising on its handheld quality.

Size
33 × 45.7 mm
Copper layers
2
Thickness
1.6 mm
Parts
21
Nets
14
Pads
54
Tracks, vias
65, 2
Routed
Yes
KiCad
KiCad 3
Created
30 May 2014
Updated
17 Jan 2016

Overview

Ftdi pic ir is an open-source printed circuit board by HelenFoster, from the HelenFoster/ir-rc repository on GitHub. It is a 2-layer board of 33 × 45.7 mm with 21 parts on 14 nets, routed with 65 tracks and 2 vias.

It is built around the PIC12F683-E/P. Its parts include 6 connectors, 5 resistors, 4 diodes, 3 capacitors and 2 transistors. It belongs with the PIC boards of this library.

Main components

1

README

README.md

Infrared remote control experiments

The aim is to have a tiny transmitter which works with the OpenPandora without compromising on its handheld quality. (For receivers, this is not a problem, because they are generally resting on a solid surface while you send them signals from somewhere else. But for a transmitter, handheld is very useful!)

Currently using very simple descriptions of the waveforms (and two different waveforms per code for the protocols with a toggle bit). Later it would be useful to handle the actual protocols, e.g. integrate with LIRC.

Licensing

C code: MIT License (see code headers) Schematic and PCB files: CC BY-SA http://creativecommons.org/licenses/by-sa/4.0/

rx_dur (Arduino)

Monitors a digital signal on the specified pin, waits for this signal to match the trigger level, and outputs a list of comma-separate durations (in microseconds) on Serial. The first duration is the length of time the signal stays at the trigger level; the second is the length of time it stays at the opposite level after that; and so on. It records data until the buffer is full or until the specified maximum time after the trigger, then it transmits on Serial afterwards.

This can be connected to an IR demodulator device to read remote control signals.

tx_tone (Arduino)

Reads a comma-separated list of durations (in microseconds) from Serial, and outputs the 38kHz modulated version on the specified pin, using the Arduino tone function. The first duration is the length of the first burst; the second duration is the length of the first space; and so on. The bursts seem to come out about 40us shorter than specified (and the spaces about 40us longer), but the devices I have tested are not fussy about this.

From a handheld perspective, the Uno is too big, and the Nano does not seem to work on the Pandora without a hub.

circuits/led_driver_5V

This circuit drives the LED with about 150mA while only drawing a maximum of 23mA from the power supply. It is useful for USB-connected devices like Arduino, on the Pandora's OTG port which can only provide 100mA. The signal output pin from the Arduino is connected to the gate of the MOSFET (signal is active high).

circuits/ftdi_pic_ir

This circuit connects an 8-pin PIC with the LED driver and an FTDI Basic Breakout board. (The FT232R bitbang mode looked promising for making the remote control signals itself, but seems to be not sufficiently accurate. So this design uses serial mode with a PIC instead.) The PCB is not tested yet!

tx_pic (PIC12F683)

This uses duration-based serial messages like the Arduino projects, but using binary data instead of text to save RAM. The first byte is the carrier period (usually 26); the second byte is a multiplier for burst durations; and the remaining bytes are for the durations not yet multiplied, on-off-on-off-etc (all times in microseconds). The program echoes the serial data received, plus an "ok" or error string.

The buffer is currently 80 bytes long, which is enough for most things. Clearing more space for it would probably involve making the code less readable.

The UART timing is somewhat relying on the time taken by instructions, and might be wrong with a different compiler or compiler settings. I wrote that part first on a less capable PIC. It would be better to use Timer2 instead of Timer0 (and abstract out the delay using the wait_T2 function which is already there).

Parts

21
QtyValueFootprintReferences
5CONN_2CHUNKY_AXIAL-2P2, P3, P4, P5, P6
3LEDCHUNKY_RADIAL-2D1, D2, D3
2220RCHUNKY_AXIAL-4R1, R3
2MOSFET_NCHUNKY_2N7000Q1, Q2
11000uFCHUNKY_RADIAL-3C1
1100nCHUNKY_AXIAL-3C3
1100nFCHUNKY_AXIAL-3C2
110KCHUNKY_AXIAL-4R5
110RCHUNKY_AXIAL-4R2
110kCHUNKY_AXIAL-4R4
1CONN_6CHUNKY_SIL-6P1
1DIODECHUNKY_AXIAL-4D4
1PIC12F683CHUNKY_DIP-8U1

Similar boards

  • 2 layers50.8 × 50.8 mmLuminaries, the printed circuit board in 3D

    Luminaries

    dewayne57/Luminaries

    Luminaries (simulated candles) that operate off 12V and have optional CDS photocell control

    41 parts
  • 2 layers28.3 × 39.8 mmLevelShifter, the printed circuit board in 3D

    LevelShifter

    gusmanb/logicanalyzer

    24 channel, 100Msps logic analyzer hardware and software

    21 parts5.1kGPL-3.0
  • 2 layers171.2 × 72.9 mmAmiga gfxcard before pour, the printed circuit board in 3D

    Amiga gfxcard before pour

    mntmn/amiga2000-gfxcard

    MNT VA2000, an Open Source Amiga 2/3/4000 Graphics Card (Zorro II/III), written in Verilog

    21 parts1k
  • 2 layers93.9 × 46 mmRectifier, the printed circuit board in 3D

    Rectifier

    rene-dev/stmbl

    AC Servo Driver for STM32F4

    21 parts990GPL-3.0
  • 2 layers45.5 × 42.9 mmEsphome han reader, the printed circuit board in 3D

    Esphome han reader

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    21 parts915
  • 2 layers31.8 × 14.5 mmEsp prog, the printed circuit board in 3D

    Esp prog

    drandyhaas/KiCadRoutingTools

    A set of Python/Rust tools to aid routing in KiCad

    21 parts744MIT
  • 2 layers23.5 × 15.8 mmQuiverAttachPCB, the printed circuit board in 3D

    QuiverAttachPCB

    Arrow-air/project-quiver

    Project Quiver documentation, designs, and project artifacts.

    21 parts617CERN-OHL-S-2.0
  • 2 layers69.9 × 41.3 mmHeaterMeterLCD, the printed circuit board in 3D

    HeaterMeterLCD

    CapnBry/HeaterMeter

    HeaterMeter and LinkMeter Arduino BBQ Controller

    21 parts557MIT

Questions

How big is the Ftdi pic ir PCB?

It measures 33 × 45.7 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Ftdi pic ir use?

21 parts, built around the PIC12F683-E/P. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Ftdi pic ir KiCad files?

From the HelenFoster/ir-rc repository on GitHub, at the commit this page was made from: the board is circuits/ftdi_pic_ir.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Ftdi pic ir design in my own project?

Its repository states no licence, so its author keeps all rights: ask HelenFoster before reusing the design.