OctaBeat
Usage
Construction
Circuit Description
For the official kit from
OmberTech
By Kevin Koster
2019
Contents
Introduction
|
|
|
Usage
|
|
|
Master
|
4
|
|
Slave
|
5
|
|
Dumb
|
5
|
|
Basic Connections
|
5
|
|
Mounting
|
7
|
|
Socket & Amp. Add-On
Board
|
7
|
|
Construction
|
|
|
OctaBeat Components
|
9
|
|
Socket & Amp. Add-On
Board Components
|
10
|
|
OctaBeat Components by Row
|
12
|
|
Socket & Amp. Add-On
Board Components by Row
|
13
|
|
Step-By-Step Assembly -
Master
|
15
|
|
First Test and Calibration
- Master
|
25
|
|
Step-By-Step Assembly -
Slave
|
27
|
|
First Test - Slave
|
37
|
|
Firmware In-Circuit
Programming
|
37
|
|
Step-By-Step Assembly -
Dumb
|
38
|
|
Step-By-Step Assembly -
Socket & Amp. Add-On Board
|
45
|
|
Circuit Description
|
|
|
Master
|
46
|
|
Slave
|
47
|
|
Dumb
|
48
|
|
Master Extensions
|
49
|
|
Slave Extensions
|
49
|
|
Using Different LEDs
|
50
|
|
OctaBeat is a music
visualiser board based on an improved colour organ circuit, that can also
be chained in order to produce a unique effect by using microcontrollers to
add a time delay.
The board contains 80
LEDs of the colours Red, Green, and Blue. The brightness of these colours
is controlled according to the frequency and volume of the audio signal, so
that low frequency sounds (below around 160Hz) light the Red LEDs, high
frequencies (above around 1100Hz) light the Blue LEDs, and sounds that fall
between this range light the Green LEDs. Following boards can use a
microcontroller to store the resulting pattern and repeat it after a short
delay, such that further visual effects can be observed.
This booklet describes
for users, and constructors of the OmberTech kit, all aspects of the
OctaBeat music visualiser.
Features Summary
*
Power
supply: 12VDC 500mA/board (peak)
*
For
use with standard line-level input audio signal (~1V)
*
Two-stage
analogue filtering for improved reactivity to the audio signal
*
90mA
"High", "Mid", "Low", active-low outputs
available at the output headers
*
Slave
boards can be added for variable delay effect
*
Slave
board microcontroller can be reprogrammed via ICSP header. Source code is
available for the default firmware
*
Shared
bus for audio and control signals allows additional features to be added
via Add-On Boards, including digital control of Slave boards (not supported
in current firmware)
*
Dumb
boards can be added to extend the display area
The OctaBeat circuit
board can be constructed in one of three configurations: Master, Slave, or
Dumb. The master board contains the analogue colour organ circuit which
filters the input audio signal in order to determine the LEDs to light, and
their intensity. Slave boards are intended to be used in combination with a
Master board, and store the LED on/off states at a clock rate controlled by
the Master board, simultaneously outputting previously stored LED states
from their buffer after a delay determined by an analogue "Delay"
voltage also set by the Master board. The "Clock" and "Delay"
signals are shared by all Slave boards connected before and after any
individual one, however the LED state signals at the board's outputs
correspond to the state of the LEDs on that particular board. As a result,
the delay effect is cumulative as additional Slave boards are chained
together.
"Dumb" boards
perform no such delay effect. as their LEDs are controlled directly by
their input signal from the previous board in the chain.
Master
All adjustments for the
display are controlled from the master board. Trimpot RV1 can be adjusted
to increase or decrease amplification of the input signal in order to allow
for different audio levels/volumes. Adjacent are RV2 and RV3, which can be
adjusted for calibration of the Low and High frequency sensitivity.
The delay timing can be
adjusted either by selecting from the DIP switches (higher numbered
switches correspond to an increased delay), or using trimpot RV4 after
selecting switch number one on the DIP switch. This setting will affect all
connected slave boards, and they may flicker as the setting is adjusted.
When no DIP switches are selected, no delay is added and Slave boards
behave the same as Dumb boards.
Short delay settings
give the appearance of beats in the music rippling from the Master over the
connected slave boards (this effect is best observed where three or more
boards are connected sequentially). Longer delays can make multiple beat
patterns in the music visible at the same time.
All installed pin
jumpers should be inserted for normal operation. The jumper on J3 should
short between pin 1 (indicated by the circle on the silkscreen) and pin 2.
The input audio signal can be supplied to the microcontrollers on slave
boards by moving the J3 jumper to short pins two and three, but currently
the firmware does not support this feature.
Slave
The eight pin header
socket on slave boards connects with any of the male headers around the
perimeter of a Master board, or another Slave board. All installed jumpers
should be left connected for normal operation.
Dumb
These boards are
connected in the same way as slave boards, and have no jumpers to set.
Basic Connections
The boards connect via
an eight pin header, the pin-out for which is shown below. They are powered
by 12VDC and current of 500mA per board (peak current with all LEDs on).
This, and the audio input, can be connected directly to the header.
Alternatively, the Socket and Mic. Add-On board can be connected to the
male header on one board in order to provide convenient sockets and also
buffer the audio signal. The audio signal can be connected to a header on
any Slave board as well as on a Master board, because the signal is shared
between all of the boards.
Note: Always ensure correct orientation of the header connectors
or damage may result. Socket boards should be connected with their
components facing outwards (same side as the LEDs on OctaBeat boards).
Input header pin-out.
Facing the connector, pin 1 is at the bottom left.
Output header pin-out.
Facing the connector, pin 1 is at the bottom left.
Boards are joined by
connecting their input header socket with any of the male output headers on
another board. Multiple boards can be connected on multiple output headers.
Boards can also be connected via a cable between the two pin headers,
however note the current that is required on the power pins.
In larger arrangements,
multiple connections to the 12VDC supply may be required to avoid problems
due to resistance on the power lines over multiple boards and header
connections. The mounting holes are plated and connected to GND, so they
can optionally be connected to a metal backing in order to provide better
grounding to all of the boards. 12VDC can be connected to any of the
headers, with the aim being to minimise the number of boards that power has
to pass through to get to other boards not directly connected to the
external power supply.
Mounting
There are three mounting
holes in the circuit board, of a diameter suitable for use with 3mm or 1/8"
bolts. These can be used to attach to a board or other surface. Spacers
should be used on the bolts to allow the mountings to be tightened without
pressing the components on the underside of the board against the mounting
surface. 15mm long spacers are suitable for Master boards, and therefore
connected Slave and Dumb boards should use the same spacer length so that
they are all at an equal level.
There is not enough room
for a nut between the LEDs around the centre mounting hole, so the bolt
head should be at this end, and the nut attached at the other side of the
mounting surface. Take care not to over-tighten bolts as this could cause
damage to the solder mask on the circuit board which may lead to shorts
between different signal lines.
Socket & Amp.
Add-On Board
This connects to any of
the male Output headers in the arrangement and supplies the audio signal to
the Master board, as well as a DC socket for the 12VDC power connection.
The power socket is
centre-positive. The two screw mounting holes also connect to 12VDC and GND
as marked on the board, and might be used for wired connections instead of
using the socket.
The audio signal can be
connected to the 3.5mm stereo audio sockets, which are connected in
parallel so that a male-to-male audio cable can be run into one socket, and
another run out to eg. an amplifier. Alternatively, a splitter
cable/adapter can be used so that only one cable has to run to the board.
The signal is buffered so as to prevent the input picking up audible noise
as the audio signal bounces around all of the OctaBeat boards. J1 should be
inserted in the position closest to the edge of the board (marked "EXT.
IN") for this function to be used.
Alternatively the
onboard electret microphone can be used as the audio input by moving J1 to
the other position marked "MIC". However note that there is an
issue with this operating mode. Due to the high gain of the microphone
amplifier, and it controlling relatively large pulses of current to the
LEDs, it tends to oscillate when the board with the mic. is powered from
the same supply as the OctaBeat arrangement. This problem causes some of
the LED colours to get stuck on.
The solution is to use a
separate supply for the mic. board, and cut the 12VDC pin on the male
header of the OctaBeat board that it will plug into. The supply voltage can
be within the range of 5V - 12V, under 50mA, from a different power supply
to the one powering the OctaBeat boards.
Also the frequency
response of the electret microphone is biased towards picking up higher
pitched sounds. As such, RV1 - RV3 should be adjusted for increased
sensitivity in the Low range, and perhaps reduced sensitivity in the High
range. Direct connection to the audio signal is still preferred for best
results.
OctaBeat kits contain
the following components:
Component
|
QTY. Master
|
QTY. Slave
|
QTY. Dumb
|
10nF Cap.
|
1
|
0
|
0
|
100nF Cap.
|
8
|
3
|
0
|
10uF Cap.
|
0
|
2
|
0
|
22uF Cap.
|
1
|
1
|
0
|
47uF Cap.
|
1
|
0
|
0
|
LM324 IC
|
2
|
0
|
0
|
PIC24EP32GP202 IC
|
0
|
1
|
0
|
78L33 Voltage Reg.
|
0
|
1
|
0
|
78L09 Voltage Reg.
|
1
|
0
|
0
|
BAT86 Schottky Diode
|
4
|
3
|
3
|
1N4148 Silicon Diode
|
1
|
0
|
0
|
BC54x NPN Transistor
|
3
|
3
|
0
|
BC55x PNP Transistor
|
4
|
3
|
3
|
100R Resistor
|
2
|
0
|
0
|
180R Resistor (1W, 1/4W size)
|
2
|
2
|
2
|
270R Resistor (0.6W, 1/4W size)
|
2
|
2
|
2
|
383R Resistor (0.6W, 1/4W size)
|
2
|
2
|
2
|
464R Resistor (0.6W, 1/4W size)
|
2
|
2
|
2
|
470R Resistor
|
0
|
1
|
0
|
560R Resistor (1/8W size)
|
2
|
2
|
2
|
680R Resistor
|
3
|
3
|
3
|
1K Resistor
|
5
|
0
|
0
|
1K5 Resistor
|
2
|
0
|
0
|
2K2 Resistor (1/8W size)
|
6
|
5
|
3
|
3K9 Resistor
|
1
|
0
|
0
|
4K7 Resistor
|
1
|
0
|
0
|
6K8 Resistor
|
2
|
0
|
0
|
10K Resistor
|
10
|
7
|
3
|
18K Resistor
|
1
|
0
|
0
|
47K Resistor
|
2
|
0
|
0
|
56K Resistor
|
1
|
0
|
0
|
82K Resistor
|
1
|
0
|
0
|
180K Resistor
|
1
|
0
|
0
|
330K Resistor (1/8W size)
|
7
|
0
|
0
|
470K Resistor
|
1
|
0
|
0
|
1M Resistor (1/8W size)
|
1
|
0
|
0
|
2M2 Resistor (1/8W size)
|
1
|
0
|
0
|
3M3 Resistor (1/8W size)
|
1
|
0
|
0
|
20K Trimpot, Vertical-Mount
|
4
|
0
|
0
|
Red LED, High Brightness (clear lens)
|
26
|
26
|
26
|
Green LED, High Brightness (tinted lens)
|
27
|
27
|
27
|
Blue LED, High Brightness (tinted lens)
|
27
|
27
|
27
|
SIL Straight Header Pin
|
7
|
9
|
0
|
Pin Jumper
|
3
|
2
|
0
|
2X4PIN Male Header (right-angle)
|
7
|
7
|
7
|
2X4PIN Female Header (right-angle)
|
1
|
1
|
1
|
108x108mm Octagonal PCB V1.2
|
1
|
0
|
0
|
108x108mm Octagonal PCB V1.1
|
0
|
1
|
1
|
Table 1, OctaBeat components list
Component
|
QTY.
|
220nF Cap.
|
3
|
22uF Cap.
|
1
|
LM358 IC
|
1
|
Electret Microphone
|
1
|
1K Resistor
|
5
|
10K Resistor
|
2
|
82K Resistor
|
1
|
330K Resistor
|
1
|
1M Resistor
|
1
|
SIL Straight Header Pin
|
6
|
Pin Jumper
|
1
|
2X4PIN Female Header (right-angle)
|
1
|
3.5mm PCB-Mount Stereo Audio Socket
|
2
|
PCB-Mount DC Socket, 2.5mm
|
1
|
Table 2, Socket & Mic. Add-On Board
components list.
1
|
D4 (BAT86), RV1 (20K)
|
2
|
R8 (10K), R7 (10K), Q3 (BC54x), RV3 (20K)
|
3
|
R21 (1K), R50 (560R), R63 (10K), RV2 (20K),
D3 (BAT86)
|
4
|
IC2 (LM324), R20 (10K), R51 (680R)
|
5
|
R29 (330K)
|
6
|
R22 (10K), C4 (100nF), R52 (180R), Q2
(BC54x), R53 (470R), R46 (10K), Q8 (BC55x), R44 (2K2)
|
7
|
R27 (330K), C7 (10nF), Q1 (BC54x), Q4 (-)
|
8
|
R49 (56K), C11 (100nF), IC1 (LM324), R23
(10K), R25 (330K)
|
9
|
R18 (100R), R26 (330K), R19 (1K), R57
(390R), R54 (680R), R6 (10K), R43 (2K2)
|
10
|
R3 (18K), R2 (6K8), R56 (270R), R55 (680R),
Q7 (BC55x)
|
11
|
R13 (1K), C2 (100nF), R1 (82K), C3 (100nF),
R58 (390R)
|
12
|
J5 (2PIN), R5 (47K), R4 (47K), R14 (1K5),
R60 (560R), R59 (470R), R37 (-), R45 (2K2), Q9 (BC55x)
|
13
|
R10 (1K), R24 (330K), C6 (100nF), R12 (1K5),
R11 (6K8), J1 (-), R38 (-), R34 (-), D2 (BAT86)
|
14
|
R16 (4K7), R15 (3K9), R9 (2K2), R17 (100R),
C1 (100nF), C17 (-), C15 (-), R48(10K)
|
15
|
REG1 (78L09), C5 (100nF), Q10 (BC55x), R61
(270R), R62 (180R)
|
16
|
C10 (100nF), REG2 (-), J2 (-), C13 (-), D5
(BAT86), C8 (47uF), J4 (2PIN), R42 (-), IC3 (-), Q6 (-)
|
17
|
D6 (-), R28 (330K), J3 (3PIN), R39 (470K),
R36 (-)
|
18
|
C9 (22uF), R40 (180K), C14 (-), C16 (-)
|
19
|
C12 (-), R33 (3M3), DIPSW (DIPSW), RV4
(20K), R47 (10K), H1 (-)
|
20
|
R32 (2M2), R31 (1M), R41 (-), Q5 (-), R35 (-)
|
21
|
R30 (330K)
|
Table 3, Master board
components by row. "(-)" means component not fitted.
1
|
D4 (BAT86), RV1 (-)
|
2
|
R8 (-), R7 (-), Q3 (-), RV3 (-)
|
3
|
R21 (-), R50 (560R), R63 (-), RV2 (-), D3
(BAT86)
|
4
|
IC2 (-), R20 (-), R51 (680R)
|
5
|
R29 (-)
|
6
|
R22 (-), C4 (-), R52 (180R), Q2 (-), R53
(470R), R46 (-), Q8 (BC55x), R44 (2K2)
|
7
|
R27 (-), C7 (-), Q1 (-), Q4 (BC54x)
|
8
|
R49 (-), C11 (-), IC1 (-), R23 (-), R25 (-)
|
9
|
R18 (-), R26 (-), R19 (-), R57 (390R), R54
(680R), R6 (-), R43 (2K2)
|
10
|
R3 (-), R2 (-), R56 (270R), R55 (680R), Q7
(BC55x)
|
11
|
R13 (-), C2 (-), R1 (-), C3 (-), R58 (390R)
|
12
|
J5 (-), R5 (-), R4 (-), R14 (-), R60 (560R),
R59 (470R), R37 (10K), R45 (2K2), Q9 (BC55x)
|
13
|
R10 (-), R24 (-), C6 (-), R12 (-), R11 (-),
J1 (2PIN), R38 (470R), R34 (10K), D2 (BAT86)
|
14
|
R16 (-), R15 (-), R9 (-), R17 (-), C1 (-),
C17 (100nF), C15 (100nF)
|
15
|
REG1 (-), C5 (-), Q10 (-), R61 (270R), R62
(180R), R48(10K)
|
16
|
C10 (-), REG2 (78L33), J2 (2PIN), C13
(10uF), D5 (-), C8 (-), J4 (-), R42 (2K2), IC3 (PIC24EP32GP202), Q6 (BC54x)
|
17
|
R28 (-), J3 (-), R39 (-), R36 (10K)
|
18
|
C9 (-), R40 (-), C14 (100nF), C16 (10nF)
|
19
|
C12 (22uF), R33 (-), DIPSW (-), RV4 (-), R47
(10K), H1 (5PIN)
|
20
|
R32 (-), R31 (-), R41 (2K2), Q5 (BC54x), R35
(10K)
|
21
|
R30 (-)
|
Table 4, Slave board
components by row. "(-)" means component not fitted.
The diagram and tables
above provide a way of more quickly referencing component values by reading
in an approximate left-to-right order across the circuit board. Note that
the V1.1 PCB is used for Slave boards, and a few component locations may be
different.
Step-By-Step Assembly - Master
Diodes and Flat-Mounted Resistors: 4xBAT86
(D2 - D5), 2x180R (R52, R62), 2x270R (R61, R56), 2x383R (R57, R58), 2x464
(R53, R59), 2x560R (R50, R60), 2x680R (R51, R54), 2x10K (R46, R48), 1x56K
(R49)
Start the assembly by
installing the flat-lying diodes and resistors. The image above shows only
the components that need to be installed when building the Master version
of the board.
Check the orientation of
diodes according to the silkscreen image. Note that some resistors should
be positioned around the holes for LED leads, so that these can be
installed easily later. R62 should be positioned clear of the any other
solder joints, because the body of the high-wattage resistor type used can
conduct to touching solder.
Pin Headers: 2x2PIN (J4,
J5), 1x3PIN (J3)
A temporary adheasive
(eg. sticky tape) may be required to hold the pin headers in position as
the board is rotated to rest them on a surface while soldered from the top
side of the board. To avoid forgetting later, the jumpers may be fitted now
in the default configuration, which is shorting J4 and J5, pins one and
two shorted on J3 (pin one indicated by the circle on the silkscreen).
Transistors and Voltage Regulator: 3xBC54x
(Q1 - Q3), 4xBC55x (Q7 - Q10), 1x78L09 (REG1)
Install the transistors
required for the Master build, making sure that the orientation matches the
silkscreen image.
Vertically-Mounted
Resistors and Polyester Capacitors: 8x100nF (C1 - C6, C10 - C11), 1x10nF
(C7), for resistors see table 5
The vertical resistors
are installed with values according to table 5. Also see table 3 at the
start of the chapter for row-by-row value listings which might be quicker
to use at this stage. Be careful not to accidentally insert resistors into
the holes for LEDs - check the orientation line on the silkscreen image to
determine the correct hole. LED solder pads are also visibly wider than
resistor pads.
Identifier
|
Value
|
R1
|
82K
|
R2
|
6K8
|
R3
|
18K
|
R4 - R5
|
47K
|
R6 - R8
|
10K
|
R9
|
2K2
|
R10
|
1K
|
R11
|
6K8
|
R12
|
1K5
|
R13
|
1K
|
R14
|
1K5
|
R15
|
3K9
|
R16
|
4K7
|
R17 - R18
|
100R
|
R19
|
1K
|
R20
|
10K
|
R21
|
1K
|
R22 - R23
|
10K
|
R24 - R29
|
330K
|
R30
|
330K
|
R31
|
1M
|
R32
|
2M2
|
R33
|
3M3
|
R34 - R38
|
-
|
R39
|
470K
|
R40
|
180K
|
R41 - R42
|
-
|
R43 - R45
|
2K2
|
R46 - R48
|
10K
|
R49
|
56K
|
R50
|
560R
|
R51
|
680R
|
R52
|
180R
|
R53
|
464R
|
R54
|
680R
|
R55
|
680R
|
R56
|
270R
|
R57 - R58
|
383R
|
R59
|
464R
|
R60
|
560R
|
R61
|
270R
|
R62
|
180R
|
R63
|
10K
|
Table 5, Resistor values (includes resistors
installed in previous steps).
Right-Angle Headers: 7x2X4PIN-MALE,
1x2X4PIN-FEMALE (optional)
It's time to start adding parts to the
top side of the board. The female "INPUT" header is only useful
if the board is likely to be plugged into a Slave board in order to act as
a secondary Master board within a large arrangement. If only one Master
board is going to be used, the female header can be omitted. Similarly any
of the male "OUTPUT" headers can be omitted, as may be required
so that boards can be placed alongside each other without connecting as
part of an arrangement (otherwise the two male headers facing each other
will get in the way).
To solder the headers first insert them all
from the top side of the board, then place a piece of cardboard on top of
them and hold this to keep the headers in place as the board is rotated and
placed on the bench in order to solder them in place.
Under-IC LEDs: 2xRED, 1xGREEN, 1xBLUE
Now the four LEDs above the two Op-Amp ICs
are soldered in place on the top side of the board. Check the orientation
of the notch at the base of each LED with the flat part of the silkscreen
image, as well as the colour indicated by the letter "R", "G",
or "B". Cut off the leads close to the board so that they don't
obstruct the ICs being installed in the next step. After soldering, make
sure that the LEDs are pointing upright and if one can't be bent into
the correct position it's solder joints may need to be heated with the
soldering iron while lightly pushing the LED into the correct alignment.
Check the LED solder joints for any shorts
or other mistakes, they won't be accessible after the next step has
been completed.
Op-Amp ICs: 2xLM324 (IC1 - IC2)
Now the Op-Amp ICs are installed over the
top of the LED solder joints. If the ICs won't go in far enough for
their legs to poke out the other side of the board, the LED solder joints
may have to be trimmed down some more. Ensure the IC orientation matches
the silkscreen image.
Trimpots, DIP Switch, and Electrolytic
Capacitors: 4x20K (RV1 - RV4), 1x47uF (C8), 1x22uF (C9)
The capacitors can be bent over before
soldering. The DIP switch and trimpots RV1 - RV3 can optionally be mounted
on the top side of the board for easier access, in which case delay
soldering them in until after the next step when the remaining LEDs are
soldered. If this is done, note that the DIP switch numbering will be
reversed.
Remaining LEDs: 24xRED, 26xGREEN, 26xBLUE
Now is time to check over the top side of
the board for any missing, or shorted, solder joints, as well as missing
components or any that are the wrong way 'round. After this step the
joints may be covered by an LED.
Insert the LEDs while holding the board in
the air (by hand or with a vice), following the colours marked on the
silkscreen as "R", "G" or "B". Solder joints
under LEDs may need to be trimmed down to enable them to sit flat
(sometimes it will not be possible to have them flat against the board, but
the should be vertically aligned). Before soldering, carefully check that
the colours are correct. The different colours can be seen to form lines by
looking at the board in some orientations, making it easier to identify any
LEDs that have been inserted in the wrong position.
The technique of using a piece of cardboard
to hold the components against the board as it is rotated can be used again
here. This avoids needing to bend the leads of all the LEDs, which also
makes it easier to cut them off. When soldering around tightly packed areas
of the board, it may be helpful to bend vertically mounted resistors away
from the LED leads to be soldered, remembering to bend them back again
afterwards to make sure that no shorts are caused by them touching other
parts.
First Test and Calibration
Now that assembly is complete, check over
the LED solder joints on the bottom of the board for any that have managed
to become shorted or were missed entirely.
With any visible problems fixed, now use a
multimeter to check that there is no short between any of the Output header
signal pins and GND or 12VDC. Also check that there is no short between pin
4 of IC1 (9V) and GND. Only one header needs to be checked.
Connect power and check that there is a
square wave at the output of the clock oscillator (probe at J5 or the
header), if not check the 9V supply and the oscillator components shown at
the bottom left of the schematic.
The circuit's reference voltages can
also be checked to identify any shorts. Pin 6 of IC1 should be
approximately 4.9V, pin 1 (emitter) of Q10 should be approximately 2.7V,
and the exposed lead of R17 should be approximately 4.5V.
Connect a line-level audio signal (an audio
file with a sweep from 50Hz to 1,500Hz (beginning of High range) is
available from the the OctaBeat web page, and is recommended for use during
initial calibration). Adjust RV1 so that the Green LEDs begin to light to
sounds within their frequency range (between Red and Blue). Now RV2
(High/Blue) and RV3 (Low/Red) can be adjusted so that their active range
corresponds to the correct part of the audio sweep. There should be a brief
overlap during the transition from the Low to the Mid range, and from the
Mid to the High range, otherwise some sound frequencies might be missed.
Further adjustment of RV1 may be required at this stage.
Once the Low, Mid, and High stages
transition with only a brief overlap range, music may be connected and any
further adjustments made to taste.
Troubleshooting
If some LEDs are slightly lit all of the
time, this may indicate that an LED anode has been shorted with another
part of the circuit. Check the connections of all the affected LEDs.
Similarly, the LED GND connection might be shorted with another component
causing other circuit behaviour to be incorrect. Check affected areas of
the circuit with a multimeter for conductivity to GND.
If one stage, or all stages, fail to react
to the input audio signal regardless of any trimpot adjustments, use an
oscilloscope to check the output of the comparator stages (IC1 pin 8 (MID),
IC 1 pin 7 (HIGH), IC2 pin 7 (LOW)). There should be sharp pulses high that
correspond with the input audio signal and turn on the LEDs via the
connected transistors. If these are present, but the LEDs do not light,
check the transistors and connected resistors.
Failing that, check for the audio signal at
different stages of the circuit. Check for the input audio signal at pin 12
of IC1, and the output at pin 14. The MID comparator input at pin 10 of
IC1. The HIGH filter amplifier input at pin 2 of IC1, and its output at pin
1. The High comparator input at pin 5 of IC1. The LOW filter amplifier at
pin 2 of IC2, and its output at pin 1. The LOW comparator input at pin 5 of
IC2.
If the audio signal signal stops at a
certain stage, check the surrounding components in that part of the circuit
for shorts, incorrect values, or any that are missing.
Step-By-Step Assembly - Slave
Diodes and Flat-Mounted Resistors: 4xBAT86
(D2 - D4), 2x180R (R52, R62), 2x270R (R61, R56), 2x383R (R57, R58), 2x464
(R53, R59), 2x560R (R50, R60), 2x680R (R51, R54)
Start the assembly by
installing the flat-lying diodes and resistors. The image above shows only
the components that need to be installed when building the Master version
of the board.
Check the orientation of
diodes according to the silkscreen image. Note that some resistors should
be positioned around the holes for LED leads, so that these can be
installed easily later. R62 should be positioned clear of the any other
solder joints, because the body of the high-wattage resistor type used can
conduct to touching solder.
Pin Headers: 2x2PIN (J1,
J2), 1x5PIN (H1)
A temporary adheasive
(eg. sticky tape) may be required to hold the pin headers in position as
the board is rotated to rest them on a surface while soldered from the top
side of the board.
Transistors and Voltage Regulator: 3xBC54x
(Q4 - Q6), 4xBC55x (Q7 - Q9), 1x78L33 (REG2)
Install the transistors
required for the Slave build, making sure that the orientation matches the
silkscreen image.
Vertically-Mounted
Resistors and Polyester Capacitors: 3x100nF (C14, C15, C17), 4x10K (R34 -
R37), 1x470R (R38), 2x2K2 (R41 - R45), 1x680R (R55)
Now the remaining resistors are installed at
the same time as the polyester capacitors.
Right-Angle Headers: 7x2X4PIN-MALE,
1x2X4PIN-FEMALE
It's time to start adding parts to the
top side of the board. The female header is used for "INPUT"
while the male headers are used for "OUTPUT". Any of the male
"OUTPUT" headers can be omitted, as may be required so that
boards can be placed alongside each other without connecting as part of an
arrangement (otherwise the two male headers facing each other will get in
the way).
To solder the headers first insert them all
from the top side of the board, then place a piece of cardboard on top of
them and hold this to keep the headers in place as the board is rotated and
placed on the bench in order to solder them in place.
Under-IC LEDs: 2xRED, 2xGREEN, 3xBLUE
Now the seven LEDs above the microcontroller
IC are soldered in place on the top side of the board. Check the
orientation of the notch at the base of each LED with the flat part of the
silkscreen image, as well as the colour indicated by the letter "R",
"G", or "B". Cut off the leads close to the board so
that they don't obstruct the ICs being installed in the next step.
After soldering, make sure that the LEDs are pointing upright and if one
can't be bent into the correct position it's solder joints may
need to be heated with the soldering iron while lightly pushing the LED
into the correct alignment.
Check the LED solder joints for any shorts
or other mistakes, they won't be accessible after the next step has
been completed.
Microcontroller IC: 1xPIC24EP32GP202 (IC3)
Now the microcontroller IC is installed over
the top of the LED solder joints. If the IC won't go in far enough for
its legs to poke out the other side of the board, the LED solder joints may
have to be trimmed down some more. Ensure the IC orientation matches the
silkscreen image.
Electrolytic Capacitors: 1x22uF (C12),
2x10uF (C13, C16)
The capacitors can be bent over before
soldering.
Remaining LEDs: 24xRED, 25xGREEN, 24xBLUE
Now is time to check over the top side of
the board for any missing, or shorted, solder joints, as well as missing
components or any that are the wrong way 'round. After this step the
joints may be covered by an LED.
Insert the LEDs while holding the board in
the air (by hand or with a vice), following the colours marked on the
silkscreen as "R", "G" or "B". Solder joints
under LEDs may need to be trimmed down to enable them to sit flat
(sometimes it will not be possible to have them flat against the board, but
the should be vertically aligned). Before soldering, carefully check that
the colours are correct. The different colours can be seen to form lines by
looking at the board in some orientations, making it easier to identify any
LEDs that have been inserted in the wrong position.
The technique of using a piece of cardboard
to hold the components against the board as it is rotated can be used again
here. This avoids needing to bend the leads of all the LEDs, which also
makes it easier to cut them off. When soldering around tightly packed areas
of the board, it may be helpful to bend vertically mounted resistors away
from the LED leads to be soldered, remembering to bent them back again
afterwards to make sure that no shorts are caused by them touching other
parts.
Pull-Up Resistors: 3x10K (R46 - R48)
These resistors are not included on the V1.1
PCB, but are required to prevent reverse leakage current through D4 - D5
from causing the LEDs to be dimly lit all of the time when a following
Slave stage is connected to one of the Output headers. If no following
stages are to be connected, this step can be skipped.
The resistors are connected between pin 3
(collector) of Q1 - Q3 (which are unpopulated) and 12VDC on pin 5 of an
Output header, as shown in the diagram. Care should be taken so that the
leads do not short with any other components or solder joints.
First Test
Now that assembly is complete, check over
the LED solder joints on the bottom of the board for any that have managed
to become shorted or missed entirely.
With any visible problems fixed, now use a
multimeter to check that there is no short between any of the Input or
Output header signal pins and GND or 12VDC. Only one Output header needs to
be checked.
Jumpers J1 and J2 are inserted for normal
use.
Following these checks, the board can be
connected to a Master, or another slave in a larger arrangement, and power
applied. The board should briefly flash all of its LEDs before going dark.
If it is stuck with one colour on, check the power pins to the
microcontroller - pins 13 and 28 should be to 3.3V, pins 8 and 19 should go
to GND. Also check the Clock input connection (pin 16) to pin 2 of the
input header via R41.
Supply audio to the Master board and the
Slave should light in the same pattern after the selected delay. If not, as
well as the power connections mentioned previously, check the output buffer
transistors Q4 - Q6 and associated resistors. Also check diodes D2 - D4 on
the board that this Slave is connected to.
Firmware In-Circuit Programming
To program a new firmware to the device,
remove the J1 jumper and connect a PIC Low-Voltage programmer with the same
pin-out as the Microchip PICkit programmers to the five-pin ICSP header.
Connect 12VDC power to the board unless the programmer supplies its own
3.3V power via the ICSP header.
Step-By-Step Assembly - Dumb
Diodes and Flat-Mounted Resistors: 4xBAT86
(D2 - D5), 2x180R (R52, R62), 2x270R (R61, R56), 2x383R (R57, R58), 2x464
(R53, R59), 2x560R (R50, R60), 2x680R (R51, R54), 2x10K (R46, R48), 1x56K
(R49)
Start the assembly by
installing the flat-lying diodes and resistors. The image above shows only
the components that need to be installed when building the Dumb version of
the board.
Check the orientation of
diodes according to the silkscreen image. Note that some resistors should
be positioned around the holes for LED leads, so that these can be
installed easily later. R62 should be positioned clear of the any other
solder joints, because the body of the high-wattage resistor type used can
conduct to touching solder.
Transistors: 4xBC55x (Q7 - Q9)
Install the transistors
required for the Dumb build, making sure that the orientation matches the
silkscreen image.
Vertically-Mounted
Resistors: 3x2K2 (R43 - R45), 1x680R (R55)
Install the remaining
resistors.
Wire Connections:
3xInsulated Wire
To connect the LED
driver transistors to the input LED state signal, three wires must connect
from the unpopulated microcontroller (IC3) pin holes, to unpopulated
transistor collector holes (Q4 - Q5). As shown in the diagram, pin 4 of IC3
is wired to Q4 collector, pin 5 to Q5, and pin 6 to Q6.
Right-Angle Headers: 7x2X4PIN-MALE,
1x2X4PIN-FEMALE
It's time to start adding parts to the
top side of the board. The female header is used for "INPUT"
while the male headers are used for "OUTPUT". Any of the male
"OUTPUT" headers can be omitted, as may be required so that
boards can be placed alongside each other without connecting as part of an
arrangement (otherwise the two male headers facing each other will get in
the way).
To solder the headers first insert them all
from the top side of the board, then place a piece of cardboard on top of
them and hold this to keep the headers in place as the board is rotated and
placed on the bench in order to solder them in place.
LEDs: 26xRED, 27xGREEN, 27xBLUE
Now is time to check over the top side of
the board for any missing, or shorted, solder joints, as well as missing
components or any that are the wrong way 'round. After this step the
joints may be covered by an LED.
Insert the LEDs while holding the board in
the air (by hand or with a vice), following the colours marked on the
silkscreen as "R", "G" or "B". Solder joints
under LEDs may need to be trimmed down to enable them to sit flat
(sometimes it will not be possible to have them flat against the board, but
the should be vertically aligned). Before soldering, carefully check that
the colours are correct. The different colours can be seen to form lines by
looking at the board in some orientations, making it easier to identify any
LEDs that have been inserted in the wrong position.
The technique of using a piece of cardboard
to hold the components against the board as it is rotated can be used again
here. This avoids needing to bend the leads of all the LEDs, which also
makes it easier to cut them off. When soldering around tightly packed areas
of the board, it may be helpful to bend vertically mounted resistors away
from the LED leads to be soldered, remembering to bent them back again
afterwards to make sure that no shorts are caused by them touching other
parts.
Pull-Up Resistors: 3x10K (R46 - R48)
These resistors are not included on the V1.1
PCB, but are required to prevent reverse leakage current through D4 - D5
from causing the LEDs to be dimly lit all of the time when a following
Slave stage is connected to one of the Output headers. If no following
stages are to be connected, this step can be skipped.
The resistors are
connected between pin 3 (collector) of Q1 - Q3 (which are unpopulated) and
12VDC on pin 5 of an Output header, as shown in the diagram. Care should be
taken so that the leads do not short with any other components or solder
joints.
Socket & Amp. Add-On Board: 3x100nF
(C1, C2, C4), 1x22uF (C3) 5x1K (R1, R2, R6, R7, R9), 2x10K (R4, R8), 1x82K
(R5) 1x330K (R10), 1x1M (R3), 2x3PIN (J1, H2), 1x2X4PIN Socket (H1),
1xLM358 (IC1), 2x3.5mm Audio Socket (CON2, CON3), 1xDC Socket (CON1),
1xElectret Mic. (MIC1)
This is a relatively simple board to
assemble so it will not be detailed step-by-step. The electrolytic
capacitor, C3, can be bent over before soldering. Note the limitations that
apply to use of the microphone input, as described in the Usage chapter.
Master
The circuit for the
master boards is a development of earlier "colour organ"
devices, which originated in the 1970s for use with large incandescent
lights with coloured lenses. These filtered the input audio signal using
common Resistor-Capacitor filter circuits, with different filters to select
Low, Medium, and High audio frequencies. The signal from these filters
controlled SCRs (Silicon Controlled Rectifiers), which would turn on for
half of a mains cycle if the signal was high enough. As such, different
lights would turn on depending on the volume of sound at the frequencies
passed by the different filter stages.
Later development of
Op-Amps and LEDs permits a design to be built with much more accurate
response, as well as better variation of brightness in proportion to sound
volume. The circuit used for the OctaBeat includes two stages of
Resistor-Capacitor filtering, separated by Op-Amps IC1A and IC2A (the gain
of which may be adjusted via RV2 and RV3 in order to calibrate the
sensitivity) in the high and low frequency detection stages. The output
from these filters is fed to Op-Amp comparators IC1B and IC2B which turn on
their corresponding colour of LEDs via Q3 and Q9 only when the filtered
audio signal voltage is greater than their reference of 4.9V set by the
voltage divider R15 and R16.
While conventionally
another filter stage is used to detect the mid-range frequencies, here some
components are saved by using the filtered input signals for the low and
high range comparators. IC1A and IC2A are used in inverting configuration,
so their AC output waveforms are opposite in voltage to the input audio
signal. By mixing these filtered, inverted, signals with the original input
signal, the waveforms that passed through the high or low filters are
cancelled out in the signal fed to the Mid comparator, IC1C. The audio
signals that do make it through are therefore the ones between the
thresholds of the low and high filters - the mid-range frequencies. The
mixer is composed of R3, R4, and R5.
The amplification of the
non-inverting input amplifier, IC1D, is set by RV1. The audio input is
passed through C1, and referenced to a 4.5V virtual ground which is also
used by all of the amplifier stages later in the circuit. This virtual
ground reference is half of the 9V supply voltage for the Op-Amps, which is
regulated from the 12VDC supply by REG1. The voltage divider of R17 and R18
sets the virtual ground reference voltage.
The remaining Op-Amps
from the IC2 quad op-amp chip, are used to generate the control signals for
the slave boards. IC2C is configured as a square-wave oscillator to produce
a clock signal that controls the rate and timing of the slave boards as
they sample data. IC2D buffers the delay voltage which is set by a voltage
divider formed by R28 and the resistor selected by the DIP switch (R30 -
R33), or alternatively by trimpot RV4 if it is selected. Alternatively, J3
can be used to select the input audio signal to be supplied on the Delay
line, thereby enabling the microcontroller on slave boards to process the
audio using its own ADC. In this case the voltage is reduced using the
voltage divider R39 and R40 to below 3.3V so that the microcontroller
inputs are protected.
R9 and R10 similarly
provide a reference voltage of 2.7V which is used as the maximum voltage
level of the Clock and Delay signals. Q10 buffers the clock signal because
the positive swing of the Op-Amp oscillator IC2C's output is to its 9V
supply.
The signals at the
collectors of Q1 to Q3 not only pull Low the base of Q7 to Q9, permitting
the LEDs to turn on, but also connect with the output headers via D2 - D4
(shown on the "slave" side of the schematic) to supply the
active-low signal read by the salve boards, or directly controlling Q7 to
Q9 on "dumb" boards that are connected. R46 - R48 pull these
signals high in order to supply enough reverse current through diodes D2 to
D4 and into the microcontroller inputs, otherwise the amplified current via
Q7 - Q9 is enough to cause a dim glow in the high brightness LEDs.
Slave
Slave boards do away
with all of the Op-Amps and associated analogue circuitry, while keeping
the LED driver transistors Q7 - Q9 which are now driven by a PIC24EP32GP202
microcontroller (16bit, 4KB RAM) via Q4 - Q6. This microcontroller includes
an internal RC oscillator which is used as its clock source. The
microcontroller samples the LED state inputs (port B) from the stage
connected to its header socket on every cycle of the clock signal, writing
the three bits of data to RAM. The data that was previously in that RAM
location is written to the outputs (port A), and with each pair of
three-bit state values (two states are stored per 8bit byte) a pointer
variable is incremented so that the next RAM address is used following the
next clock cycle. The analogue voltage value read from the Delay signal
using the ADC is scaled to set a maximum address value for the LED state
data. When this highest address is reached, the process begins again from
the starting address. As a result, a buffer of LED state values is created,
and written values are only read from it after the program has advanced
over the full range of RAM addresses that it spans. The equivalent in
digital logic is a massive SISO (Serial-In, Serial-Out) shift register,
with thousands of stages.
Brightness control is
achieved by sampling the input data fast enough that the width of the short
pulses, where the Op-Amp comparators in the Master board go High as the
peak of their input waveform exceeds the threshold voltage, is recorded.
This is somewhat similar to software PWM (Pulse-Width Modulation), because
the volume of the audio increases the time during which the waveform is
above the comparator threshold, and therefore the output pulse width,
turning the LED on for longer and appearing brighter. Though the actual PWM
frequency varies depending on the frequency of the individual sound
waveforms.
The input LED state
signals are actually active-Low due to the inversion of Q1 - Q3 on the
master board, or Q4 - Q6 on the slaves, so they are inverted by the
microcontroller before being written to the outputs.
Dumb
These boards simply
connect their LED driver transistors (Q7 - Q9) in parallel with those on
the board in the previous stage. They are driven directly by the LED state
input signals, and therefore by either Q1 - Q3, or Q4 - Q6 depending on
whether the previous stage is a Master or a Slave board.
The LED state signals at
the inputs and outputs are joined, so following Dumb stages can also be
connected, as well as Slaves, still being driven by the transistors in the
previous Master or Slave stage.
Master Extensions
By disconnecting the J4
jumper, an external delay voltage input can connected at any of the headers
on a connected board, eg. for easier manual adjustment. At a minimum, this
can be a potentiometer with the wiper connected to the Delay signal, and
the other connections to GND and a voltage safely under 3.3V (2.7V is used
in the Master circuit). Connecting a voltage higher than the
microcontroller's supply could easily cause damage, though R42 on the
Slave board is intended to provide some degree of protection against this
by limiting the input current.
Slave Extensions
The hardware design
allows for additional functions by the microcontroller firmware, though
these are not currently implemented.
The microcontroller
inputs connected to the Clock and Delay signals, which are shared by all
connected boards, can be configured in firmware to be used by the internal
UART. As such they can be used as a serial bus for communication. This
allows adding support for lighting control protocols such as DMX, with an
Add-On board connecting one of the input headers in order to provide the
required connectors and level conversion.
To aid such digital
control of the Slave boards, microcontroller outputs that can be configured
for use with the internal hardware PWM module are connected in parallel
with the port A connections which are normally used for controlling the
LEDs from software.
The two data connections
to the ICSP header could also be used with the microcontroller's
programmable pull-up/down function in order to provide configuration inputs
using jumpers. For example, the presence of a jumper between pins 3 and 4
could be detected, and used to cause a modified firmware to enter an
alternative operating mode. With the two inputs available, four individual
settings can potentially be configured.
The ADC could be used
for digital processing of the audio signal as an alternative to the
analogue filtering used by the Master board.
Source code for the
PIC24 microcontroller firmware is available from the OctaBeat webpage and
can be compiled with the free version of the XC16 C compiler available from
the Microchip website.
Using Different LEDs
The LED brightness is
determined by current-limiting resistors R50 - R62. In the standard kits
from OmberTech, high brightness LEDs are used so that the total current
required is kept reasonable while still producing a bright display.
If LEDs of different
brightness ratings are used, find the current/LED at which they produce a
suitable brightness for this application without excessive total current
draw.
The LEDs on the board
are connected in parallel within thirteen banks, each current limited by a
corresponding resistor R50 - R62. In order to allow for an efficient PCB
layout the number of LEDs per bank varies between four and nine. The
following table shows the banks associated with each current-limiting
resistor:
Resistor
|
No. LEDs
|
Range
|
R50
|
4
|
HIGH
|
R51
|
6
|
MID
|
R52
|
8
|
LOW
|
R53
|
5
|
HIGH
|
R54
|
6
|
MID
|
R55
|
6
|
MID
|
R56
|
5
|
LOW
|
R57
|
6
|
HIGH
|
R58
|
7
|
HIGH
|
R59
|
5
|
HIGH
|
R60
|
9
|
MID
|
R61
|
5
|
LOW
|
R62
|
8
|
LOW
|
Table
6, LED banks.
Take the current
required per LED determined earlier and multiply it by the number of LEDs
in each bank for that colour (range) to get the total current required for
that bank. Subtract the voltage drop over the LED (usually around 2V) from
the 12V supply, and divide that voltage by the total current to get the
resistance value required for each LED bank.
Adjusting the input
amplifier via RV1 also allows for some minor adjustment of overall
brightness after the board has been assembled.