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

The aim is to have a tiny transmitter which works with the OpenPandora without compromising on its handheld quality.
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.
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.
C code: MIT License (see code headers) Schematic and PCB files: CC BY-SA http://creativecommons.org/licenses/by-sa/4.0/
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.
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.
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).
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!
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).
| Qty | Value | Footprint | References |
|---|---|---|---|
| 5 | CONN_2 | CHUNKY_AXIAL-2 | P2, P3, P4, P5, P6 |
| 3 | LED | CHUNKY_RADIAL-2 | D1, D2, D3 |
| 2 | 220R | CHUNKY_AXIAL-4 | R1, R3 |
| 2 | MOSFET_N | CHUNKY_2N7000 | Q1, Q2 |
| 1 | 1000uF | CHUNKY_RADIAL-3 | C1 |
| 1 | 100n | CHUNKY_AXIAL-3 | C3 |
| 1 | 100nF | CHUNKY_AXIAL-3 | C2 |
| 1 | 10K | CHUNKY_AXIAL-4 | R5 |
| 1 | 10R | CHUNKY_AXIAL-4 | R2 |
| 1 | 10k | CHUNKY_AXIAL-4 | R4 |
| 1 | CONN_6 | CHUNKY_SIL-6 | P1 |
| 1 | DIODE | CHUNKY_AXIAL-4 | D4 |
| 1 | PIC12F683 | CHUNKY_DIP-8 | U1 |

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

gusmanb/logicanalyzer
24 channel, 100Msps logic analyzer hardware and software

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


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

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

Arrow-air/project-quiver
Project Quiver documentation, designs, and project artifacts.

It measures 33 × 45.7 mm and has 2 copper layers, 1.6 mm thick.
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.
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.
Its repository states no licence, so its author keeps all rights: ask HelenFoster before reusing the design.