content/opentally.rst

Thu, 10 Nov 2022 20:55:51 +0100

author
David Douard <david.douard@sdf3.org>
date
Thu, 10 Nov 2022 20:55:51 +0100
changeset 147
6b6c2254dac1
parent 128
aba381b2bac9
permissions
-rw-r--r--

Enable image_process pugins again

125
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
1 ================
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
2 OpenTallyLight
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
3 ================
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
4
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
5 :Author: David Douard
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
6 :Category: Electronics
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
7 :Tags: ITC100, Tally Ligth, Arduino, Firmata
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
8
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
9
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
10 A month ago, a friend of mine called me to ask for help with a technical device
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
11 that seemed not to work properly.
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
12
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
13 He was testing with a friend some video recording setup. They use vMix_ to mix
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
14 (live) video streams from 4 (or more) vide cameras (Panasonic GH5 if I'm not
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
15 mistaken). They also have a DataVideo ITC100_ intercom system. Now the problem
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
16 was: how to control tally lights via the ITC100_ from vMix_?
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
17
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
18 Surprisingly there are not so many affordable solutions on the market.
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
19 Eventually, they found one device, made by a small US company, that would fit
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
20 the needs. It's the setup of this very device that was not working properly
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
21 when they called me.
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
22
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
23 TL;DR;
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
24 ======
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
25
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
26 Go to the `project's gitlab page`_ if you want the kicad project files.
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
27
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
28 _`project's gitlab page`: https://framagit.org/douardda/opentallylight
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
29
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
30
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
31 The non working tally light controller
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
32 ======================================
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
33
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
34 The device itself is a small-factor plastic box with a USB B connector, a LED
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
35 indocator, plus a pair of HD15 connectors (for the connection with the
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
36 ITC100_).
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
37
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
38 The first unsual fact was the LED indicator was not on. But that not the only
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
39 bizarre stuf:
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
40
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
41 - the USB device was sometimes identified by the PC, sometimes not (and no it
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
42 was not a bad contact),
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
43
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
44 - when plugged to the ITC100, some tally lights immediately lighed up but quite
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
45 dimly,
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
46
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
47 - and no attempt to change the current and preview streams did not change
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
48 anything on the tally light side.
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
49
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
50 So I grabbed the device home, opened it up and tried to identify a possible
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
51 problem. At that time, we knew the PCB had a problem (because of the LED
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
52 staying off), and the seller sent a new PCB (without the case to save a bit on
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
53 the shipment), so I was not too worried of hacking the dead PCB.
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
54
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
55 I discovered a short circuit between the pads of the LED, and this was
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
56 disturbing the 5V USB supply. In fact, depending on the hability for the USB
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
57 ports used on the PC to deliver enought current to actually power the
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
58 microcontroller or not, the device was seen by the PC or not.
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
59
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
60 I though this was the problem, so I just removed the LED and it's limiting
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
61 current resistor: no more over current on the 5V rail, the device was now
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
62 properly recongnized by the PC every time weplugged it in.
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
63
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
64 I also tried to understand a bit the circuit which was in fact dead simple: a
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
65 PIC18F4553 microcontroller is presented as a HID device to the PC and control
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
66 directly (via a resistor) the pins of the HD15 connectors.
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
67
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
68 So I tried to 'reverse engineer' the "control" protocol and since it was a
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
69 simple HID device, I just wrote a small Python script to try all the possible
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
70 addresses on the first 2 bytes, using pyhidapi_. And I quickly discovered how
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
71 to control individual pins connected controlling the tally lights (via the
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
72 ITC100_). On my Linux machine with a simple LED connected directed to the HD15
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
73 connector, it was looking like it was working.
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
74
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
75 .. _pyhidapi: https://github.com/apmorton/pyhidapi
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
76
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
77 But once plugged on the ITC100_, it was still not working. Same erratic
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
78 behavior, same total absence of actual control of the tally lights.
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
79
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
80 This time I had a multimeter with me, so I took measurments on the ITC100_
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
81 side: each tally light signal was at 12V! and had to be pulled down to ground
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
82 to light the corresponding tally light on.
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
83
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
84 Since the device was attempting to control directly these signals from the PIC,
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
85 no way this could have ever worked. And this was sold something like 650US$
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
86 plus shipment...
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
87
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
88 A first prototype
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
89 =================
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
90
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
91 So I explained to my friends there was no possible way of making this device
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
92 work as intended: it was just not designed correctly. Meanwhile, one of them
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
93 told me that vMix also have support for controlling tally light via
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
94 Arduino-based setups using the Firmata_ protocol.
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
95
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
96 .. _Firmata: https://firmata.org
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
97
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
98 Since the fiasco with the "professional" device they bouight, they were really
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
99 on the urgent need for a working solution, like for the day after, so I spent
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
100 the evening building a very rough prototype.
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
101
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
102 I wanted to provide them a better solution, besides a working one. Like with
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
103 proper galvanic isolation between the microcontroller and the ITC100_ part of
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
104 the circuit.
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
105
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
106 Since I had no time nor enough optocouplers in my stash of junk parts, so I
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
107 just used regular non isolated 2N2222 to control the ITC100_ tally light lines.
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
108
128
aba381b2bac9 Fix several inter-document links
David Douard <david.douard@sdf3.org>
parents: 125
diff changeset
109 .. image:: {static}/images/opentally/proto.jpg
125
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
110 :alt: A very rough protoype of OpenTallyLight
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
111
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
112 It's a very crude protoype, but i worked! Believe it or not, but they have been
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
113 able to record several events with this board!
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
114
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
115 A (slightly) better protoype
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
116 ============================
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
117
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
118 Since we validated the Arduino and Firmata based approach, I proposed them to
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
119 design and build a better device.
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
120
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
121 At first, I kept the idea of using an existion arduino compatible board and
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
122 only design a daughter board for the optocouplers and the connectors.
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
123
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
124 I chose the Sparkfun Pro Micro: it was one of the smallest board with enough
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
125 pins to drive the 8 tally lights (each with 2 LEDs, the green for preview
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
126 signaling, and the red for signaling the recording in progress).
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
127
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
128 So I designed a first PCB (in fact several of them, but meh) using Kicad_.
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
129
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
130 In the mean time, I also spent quite some time looking for a nice aluminium
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
131 enclosure for the PCB. I finally found a small extruded one for a 80x50mm PCB
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
132 on aliexpress. It was perfect, so I ordered 5 of them.
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
133
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
134 I also decided to replace the HD15 connectors by RJ45 ones, then assemblng
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
135 custom cables from shielded RJ4 Cat6 ones.
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
136
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
137 So I ended up with this design:
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
138
128
aba381b2bac9 Fix several inter-document links
David Douard <david.douard@sdf3.org>
parents: 125
diff changeset
139 .. image:: {static}/images/opentally/opentally-pcb-1.jpg
125
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
140 :alt: A slightly better design of OpenTallyLight
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
141
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
142
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
143 Looks neat, but... I did not realize I put the RJ45 socket backwards! Doh!
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
144
128
aba381b2bac9 Fix several inter-document links
David Douard <david.douard@sdf3.org>
parents: 125
diff changeset
145 .. image:: {static}/images/opentally/proto2.jpg
125
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
146 :alt: A (not so) better proto of OpenTallyLight
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
147
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
148 In order to test is nometheless, I put the Pro Micro on the back side of the
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
149 PCB (otherwise I was not able to plug the RJ45 cable in).
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
150
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
151 Unfortunately, if this board worked fine on Linux (I mean the Firmata protocol
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
152 part, since vMix does not work on Linux), the Firmata protocol on Pro Micro is
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
153 not working on Windows. vMix was not able to establish the connection with the
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
154 Pro Micro, neither did the Firmata test program available on the Firmata_ web
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
155 site. I'm not sure why it did not work on Windows, but I had no time nor the
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
156 desire to debug this Windows evil misbehavior.
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
157
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
158 I looked in my tray of development boards, and found a few Nucleo ones that are
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
159 supported by the Arduino environment and have almost compatible pinout with the
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
160 Pro Micro. I had to budge a pair of tracks on the PCB, but I could make it work.
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
161
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
162 OpenTallyLight
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
163 ==============
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
164
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
165 So I designed a new version of the board. This time I stick to a good known
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
166 working pair: an ATmega328P + FT232RL based solution (the Pro Micro is based on
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
167 the ATmega32U4 which embeds the USB controller).
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
168
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
169 I wanted to use a USB B connector rather than a micro USB one (too fragile for
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
170 this kind of environment), and since I also wanted the design to stay small
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
171 enough to fit in my cute little enclosures, I decided to implement the arduino
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
172 on the PCB itself.
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
173
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
174 The PCB design looks like:
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
175
128
aba381b2bac9 Fix several inter-document links
David Douard <david.douard@sdf3.org>
parents: 125
diff changeset
176 .. image:: {static}/images/opentally/opentally-v3.jpg
125
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
177 :alt: A better design for OpenTallyLight
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
178
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
179 Which gives, in real life:
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
180
128
aba381b2bac9 Fix several inter-document links
David Douard <david.douard@sdf3.org>
parents: 125
diff changeset
181 .. image:: {static}/images/opentally/front.jpg
125
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
182 :alt: Front side of the PCB
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
183
128
aba381b2bac9 Fix several inter-document links
David Douard <david.douard@sdf3.org>
parents: 125
diff changeset
184 .. image:: {static}/images/opentally/back.jpg
125
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
185 :alt: Back side of the PCB
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
186
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
187 And the result once installed in the enclosure:
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
188
128
aba381b2bac9 Fix several inter-document links
David Douard <david.douard@sdf3.org>
parents: 125
diff changeset
189 .. image:: {static}/images/opentally/complete-unit.jpg
125
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
190 :alt: The completed OpenTallyLight
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
191
128
aba381b2bac9 Fix several inter-document links
David Douard <david.douard@sdf3.org>
parents: 125
diff changeset
192 .. image:: {static}/images/opentally/enclosure.jpg
125
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
193 :alt: The completed OpenTallyLight (enclosure front)
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
194
128
aba381b2bac9 Fix several inter-document links
David Douard <david.douard@sdf3.org>
parents: 125
diff changeset
195 .. image:: {static}/images/opentally/enclosure-2.jpg
125
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
196 :alt: The completed OpenTallyLight (enclosure back)
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
197
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
198
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
199 The good news is it worked immediately. The bad news is I forgot to put an ICSP
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
200 connector on this PCB. So I had to burn an Arduino bootloader on the ATmega
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
201 chip before I soldered it on the PCB.
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
202
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
203
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
204
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
205
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
206
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
207
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
208
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
209
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
210
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
211
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
212 .. _vMix: https://www.vmix.com/
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
213 .. _ITC100: https://www.datavideo.com/eu/product/ITC-100
669eb33e410b Add a log post on opentallyligt
David Douard <david.douard@sdfa3.org>
parents:
diff changeset
214 .. _kicad: https://kicad.org

mercurial