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
 
 
Introduction
 
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)
*
80LEDs, 3 colours
*
108mm diameter
*
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
 
Usage
 
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).
<IMG>
Input header pin-out. Facing the connector, pin 1 is at the bottom left.
<IMG>
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.
Construction
 
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.
<IMG>
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
 
<IMG>
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.
<IMG>
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).
<IMG>
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.
<IMG>
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).
<IMG>
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.
<IMG>
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.
<IMG>
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.
<IMG>
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.
<IMG>
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
<IMG>
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.
<IMG>
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.
<IMG>
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.
<IMG>
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.
<IMG>
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.
<IMG>
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.
<IMG>
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.
<IMG>
 
Electrolytic Capacitors: 1x22uF (C12), 2x10uF (C13, C16)
The capacitors can be bent over before soldering.
<IMG>
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.
<IMG>
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
<IMG>
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.
<IMG>
Transistors: 4xBC55x (Q7 - Q9)
Install the transistors required for the Dumb build, making sure that the orientation matches the silkscreen image.
<IMG>
Vertically-Mounted Resistors: 3x2K2 (R43 - R45), 1x680R (R55)
Install the remaining resistors.
<IMG>
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.
<IMG>
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.
<IMG>
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.
<IMG>
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.
<IMG>
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.
Circuit Description
 
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.