Model Electronic Railway Group

The Leading Society for Model Railway Electronics

Over 50 years of Innovation: 1967-2020

The SuperBloc Concept and the BC3 Controller

John Matthews [M976] & Bob McGregor [M1070]

Last update: 18 February 2005

This is an html version of MERG Technical Bulletin T33/01 originally produced in draft form titled ‘An Introduction to Block Control with SuperBloc BC3’ as a handout for the authors’ presentation at the MERG meeting on 18 May 2002. The authors gratefully acknowledge the constructive comments from members, and in particular from Mike Hodgson. A pdf version suitable for printing is available to members on the Member's pages of this site.


The term 'SuperBloc' refers to a system of wiring and operating a model railway layout to implement automatic block interlocking simply by interconnecting 'block controllers' and without the use of computers. The SuperBloc BC3 controller can be configured for either N or OO gauges, and can be adapted for larger gauges.

The BC3 is based on the original 'BloNg' (Block Oriented N-Gauge) controller developed by the South-West Area Group of the N-Gauge Society. The BC3 resulted from a collaboration between the SW Area Group and the Oxford MRS, who also model in OO. The BC3 now replaces the BloNg controller, with which it is electrically compatible.

Other TBs in the T33 series will give the BC3's circuit diagram, its electrical specification, details of and circuits for power supplies and auxiliaries such as turnout and signal controls, and examples of how to design and connect up different styles of layout for SuperBloc Control.

Prototype Block Control

Before Telegraphy was introduced to the railways, trains were kept apart by allowing the driver of a following train to proceed a short time after the previous train had departed. Breakdowns, delays, and the increasing speeds of passenger trains relative to freight inevitably led to collisions. Block Control prevented such collisions by replacing the time interval with a space interval and allowing only one train to be in any one section of track (known as a 'Block Section') at a time. Block working is discussed in books such as 'Signalling in the Age of Steam' by Michael A Vanns (Ian Allan 1995), 'Modern Signalling Handbook' by Stanley Hall (Ian Allan 1996), and 'Two Centuries of Railway Signalling' by Geoffrey Kitchenside & Alan Williams (OPC 1998), or on-line at

In the prototype, each Block Section is under the control of a Signalman who communicates with drivers using signals - see Fig. 1.

Signalling a Block Section

Fig. 1. Signalling a Block Section

The most essential signal is the 'Home Signal'; when it is set at 'Danger' a train driver must stop there because it may indicate that the Block Section ahead is occupied. Trains take so long in stopping that a Distant (or warning) Signal is normally provided a full braking distance 'in the rear' of the Home Signal. The two signals can only be cleared when the signalman in the 'Block Section ahead' sends a message by 'Bell Telegraph' that his section is free to accept a train.

As an extra precaution against brake failure or driver misjudgement, it is British practice to add an 'overlap' - typically ¼ mile - after the Home Signal, which must also be empty before a train can be accepted from the Block Section in the rear. At the end of the Block Section there might also be a Starter Signal, especially where there is a station platform into which a halted train could be allowed to proceed, slowly. At least as far as the end of the overlap will be track circuited and the different parts of the section may be track circuited separately. Further discussion of Block Control and track circuits, and especially their modelling in SuperBloc will appear in a separate TB.

The main difference between SuperBloc Control and Block Control in the prototype is that the BC3 controller actually stops trains where the Home Signal would be, rather than depending on the manual control of a 'driver'. It might be argued that there is then no need for signals. However, the purpose of modelling is to make it appear that the train has been stopped at a signal.... Meanwhile, we can see how SuperBloc Control works through a simple example.

A SuperBloc Example

Fig. 2 shows the 'Down Line' of a twin-track main line as far as the first station platform. In the model, the track emerges from a fiddle yard F at the left and the line has three Block Sections A, B, C, each long enough to accommodate a train, plus its stopping distance and overlap, before the station block S is reached. Imagine that a train is already in the station, but it is late. Another train is waiting in Block C and, already, it is time for a third train to depart the fiddle yard. How is this controlled?

SuperBloc Control of the Down Line

Fig. 2. SuperBloc Control of the Down Line

The solution is as follows. Each Block Section A, B, C, the fiddle yard F, and the station S (and any sections X, Y, Z ahead of the station) is electrically isolated from its neighbours and fed by its own BC3. (Because we are going to power all the BC3s from the same DC supply, it is necessary always to put breaks in both rails.) Trains are then controlled by interconnecting the BC3s.

Introducing the BC3

At this point we need to introduce the BC3 and explain what it can do. Each BC3 has 15 terminals (see Table 1). However, its design is such that any terminal whose function is not required can be left disconnected - it can simply be ignored. We can therefore use each BC3 to provide only those functions that we need. We can also describe its functions by adding connections one at a time and explaining the result.


T1 Track + Red Note 1: The 20V here is only nominal. BC3 is designed to work from the '16V AC' terminals of a commercial controller or a typical 'model railway' transformer such as a Gaugemaster T1. When rectified and smoothed, 16V AC produces up to 24V DC on open circuit, and may fall to as low as 18V DC on load. BC3 will operate throughout this range.
T2 Track - Blue
T3 0V Power IN Green
T4 +20V Power IN [Note 1] Pink
T5 /SENSOR [Note 2] Black/Yellow Note 2: Link LK1 defaults T5 to 0V COMMON. When a sensor is used, the link should be removed. The purpose of link LK1 is not described until the section on 'Precision Stops'. Until then, assume that the link is left in place.
T7 0V COMMON [Note 3] Green
T8 /SHUNT Orange
T9 SPEED (manual)
Brown Note 3: Terminal T7 is connected internally to T3.
Together they form the 0V COMMON reference for all control voltage inputs and outputs in the whole layout. In other words, all the green wires throughout the whole layout are connected in COMMON. COMMON should be used as the 0V reference for voltage measure-ments (e.g. by connecting it to the multimeter COM terminal). However, T3 should be used for the 0V connection to the power supply, while T7 should be wired to BC3's control functions.
T10 /LED Mauve
T11 /BUSY (or /TIBO) Grey
T12 REMOTE (speed) White
T13 /STOP (or /TIB1) Grey
T14 Vout Yellow
T15 Vin Yellow

Table 1: SuperBloc BC3 Interface Connections

In passing, note that there is a recommended colour code for each wire. There are several reasons for this. First, since each wire is associated with a function, it is easier to speak of 'the pink wire' than 'the power input positive supply wire'. Second, when looking for a fault under the layout, it is easier to trace a wire having the function that isn't working. Third, when wiring up a layout, you don't have to trace every wire back to check where it came from. (The colours are compatible with those originally adopted for the 'BloNg system' and they just happened.)

Block Control

So far we have made the absolute minimum necessary connections: T1 and T2 to the track, and T3 and T4 to the power supply. With only these connected all the trains would run at full speed and out of control. How do we control them?

The most important terminal is T11, /BUSY (previously called /TIBO for 'Train-In-Block OUT' in the BloNg system). It carries a logic signal that indicates whether the BC3 is supplying current to its block, which will (normally!) happen only when there is a loco in it. It is labelled with a '/' to indicate that a logic 'low' output corresponds to 'busy' or 'occupied', while 'high' means 'clear'. As with all logic, the exact voltages of high and low need not be specified so long as they are high and low enough - and they are (see TBs T33/11 and T33/12 for details).

By measuring current, BC3 effectively has a built-in track circuit function or 'Train on Track Indicator' (ToTI).

The second most important terminal is T13, /STOP (previously called /TIB1 in the BloNg system). If /STOP is 'high' when a train arrives in the block, it has no effect: BC3 becomes an ordinary DC controller. When /STOP is low, any train arriving in the block will have its speed ramped down, if necessary to a stop, or until /STOP goes high again. Thus, if the /STOP of each BC3 is connected to the /BUSY of the corresponding BC3 ahead (in grey), a train entering any block will automatically be slowed to a stop if the block ahead is occupied, making collisions impossible. When the block ahead becomes clear, the speed will automatically be ramped up again and the train will proceed to the next block. 'Trimmers' on the BC3 (RV1 and RV2 - see 'Precision Stops' below) adjust the ramp rates.

In our example - with a train in the station and another in block C - another train can be released from the fiddle yard. It will automatically travel as far as block B before slowing down and stopping.

Default Speed

With the connections made so far, locos will ramp up to a speed corresponding to a track voltage of 12V. The purpose of the REMOTE speed T12 input is to restrict the maximum speed to something more related to 'scale speed'.

T12 needs to be connected to a voltage source variable from 0-12V relative to 0V COMMON. A suitable circuit is shown in Fig. 3. Its control knob forms a 'Master Speed Control' that limits the maximum speed for the whole layout, which is 'remote from' rather than 'local to' this block.

Simple REMOTE speed controller

Fig. 3. Simple REMOTE speed controller

To begin with, the Remote Speed Control source should be connected (in white) to the T12 on every BC3 in the layout. This will ensure that a loco will ramp up to the same controlled speed in every block.

Of course, some blocks may involve speed restrictions. One could wire separate Remote Speed Control circuits for each BC3 (or for groups of BC3s). However, temporary restrictions can be enforced using a manual speed control; for how to achieve this, see ‘Shunting’ below.

BC3 provides an option to run REMOTE from a 0-5V Remote Speed Control source to facilitate control by a computer; but also for compatibility with BloNg (details in a future TB). With computer control, it would be possible to consider adjusting the REMOTE speed value separately for every block (making it 'local'), and even for every loco, provided that loco identities are 'known' to the computer, thus simulating Progressive CAB Control. But that is for another day....

Speed Matching

A problem arises when different blocks are adjusted to operate at different REMOTE speeds. A loco leaving one block will need to adopt the new block's speed as it crosses the block boundary: it should do so smoothly. A similar problem arises if a loco, having been slowed or stopped for a signal, has not yet reached the REMOTE speed by the time it leaves a block.

Terminals T14 and T15 provide for speed matching between blocks. Each BC3's T14 is connected to the T15 of the BC3 controlling the block ahead (in yellow). (T14 carries a copy of the track voltage.) While the block is unoccupied, the T15 input over-rides REMOTE. As soon as the loco moves into the new block, its speed ramps automatically towards the REMOTE value.

Control Panels

A control panel can be introduced at each signal box position: in our example, this means one per BC3. In practice, there may be up and down main lines or several adjacent blocks all controlled from the same box/control panel. Whatever, the panel is likely to include a mimic diagram of the block(s) it controls.

Terminals T10 (/LED) and T4 can be wired back to an LED in the mimic diagram to indicate occupancy: the LED -ve (the shorter lead, also denoted by a flat on the LED casing) should be wired to T10 (in mauve). Note that only one pink wire (from T4) need be wired back to the control panel to power the LEDs from several BC3s. The LED illuminates when the corresponding /BUSY goes low.

Manual Stops

The train in the station may have been stopped by a signal, even though the block X ahead is clear; or the train may need to be held in the station until the guard blows his whistle even when the block ahead becomes clear. A station (or any manual) stop can be achieved by wiring /STOP and 0V COMMON back to a SPST 'STOP' switch on the control panel. When the switch is 'on' it will force a 'low' to /STOP, causing the train to stop whether or not the /BUSY ahead requires it.

Again, all control switches will have one side wired in common to 0V (because controls are 'active low') and so only one green '0V COMMON' wire needs to be wired back for all control functions from one BC3. You may find it convenient to use grey/black for STOP switches to distinguish their wiring from the primary (grey) interconnections of /BUSY to /STOP.

Fault Protection

The astute will observe that the STOP switch may short-circuit the signal from /BUSY ahead. In a simple layout this doesn't matter. Except for the track connections (T1 and T2), any terminal of BC3 may be shorted to any voltage between 'pink' and 'green' with impunity - no damage will be done to BC3. We can take advantage of this feature to build simple OR functions, as here - the train is stopped 'IF the block ahead is occupied OR the station stop switch is on' - simply by wiring switches to 0V COMMON in parallel with logic outputs.

(In a complex layout it may be desirable not to short /BUSY ahead, for signalling reasons, because it tells us when the block is actually occupied. A future TB will explain how to achieve this by adding diodes externally. Here we are concerned only with how block control works at the simplest level.)

T1 or T2 are special because connecting them to +20V POWER IN could damage a loco or short the power supply. It is therefore strongly recommended that the 20V power supply should be adequately protected against shorts. Details of how this might be done will appear in a future TB.

There is, however, no problem with shorting T1 and T2 together (a track short) or in shorting either to 0V POWER IN or 0V COMMON. BC3 will withstand such a short indefinitely without tripping out, and will recover immediately when the track short is removed. An overload LED on BC3 indicates when a track short exists.

Protecting the Rear

In a similar way, you can wire a 'STOP COMING' switch between COMMON and the /BUSY to the control panel for any block and switch it on to stop a train in the previous block. It may be needed, for example, when vehicles with no loco occupy the track, or a derailment causes a loco to stop drawing current, or in any other case of 'track circuit failure'. Again, grey/black is suggested.

Shunting (and manual speed control)

Everything so far relates to operation of blocks on a main line. Fig. 4 shows a new scenario: the station block is lengthened and a bay platform is added. The BC3 track feed must now, of course, be to the toe of the turnout.

Shunting into a bay platform

Fig. 4. Shunting into a bay platform

Suppose that a train arrives in the platform with a parcel van behind the loco and it is required to drop the van in the bay platform before the train proceeds. This will obviously involve shunting - a manual operation. The method of uncoupling and coupling the van and loco is not a part of this discussion - use whatever method you are familiar with.

The control panel now needs two more SPST on-off switches and a 10k pot. One side of each switch and the centre of the pot are wired to 0V COMMON (green). The switches are labelled SHUNT and REVERSE, while the pot is labelled SPEED. REVERSE and SPEED are, of course, the controls of a conventional controller. The other side of the SHUNT switch is wired (in orange) to T8 (/SHUNT) on BC3, the REVERSE switch (in black) to T6 (/REVERSE), and one side of the pot (in brown) to T9 (SPEED). (If you wire to the wrong side of the pot, speed will increase when you turn the pot the wrong way - this is the only sure way to discover which way to wire the pot!)

For normal main line operation, SHUNT and REVERSE will be off and SPEED set to maximum, allowing REMOTE to set the speed.

The block's STOP switch will have been operated to ensure that the loco stops in the station irrespective of the occupancy of the block ahead. Once it has stopped, STOP COMING should also be operated to hold the next train at the Home signal in the rear.

With the train already stopped, we turn the SPEED pot to zero so that it corresponds with the train's speed and switch on SHUNT. With SHUNT on, BC3 behaves like an ordinary controller with a SPEED control: you can 'drive' the loco even if the block ahead is occupied, i.e. BC3 no longer responds to /STOP. Ramping is also turned off because shunting is easier without it. The shunting operation can now be performed by operating the turnout and using SPEED and REVERSE as you would normally.

Once the loco is coupled back to its train, first make sure that the turnout is normal and REVERSE is off, then turn both SHUNT and STOP COMING off, and finally return SPEED back to maximum. When the guard blows his whistle, turn off STOP and, if the block ahead is clear, the speed will ramp up to its REMOTE value and the train will proceed on its way.

In this simple example, use of STOP COMING would strictly be unnecessary because BC3 automatically performs a STOP COMING whenever SHUNT is on. However, the use of STOP COMING is encouraged in case the shunting operation takes the loco into a different block. Having SHUNT force STOP COMING enables you to attempt to shunt a stuck or misbehaving loco in an emergency without having to remember first to operate STOP COMING!

In the preferred wiring option for BC3 assumed above, diode D16 (rather than D15) is fitted (see TB T33/11). D16 allows manual SPEED to over-ride REMOTE speed when SPEED is lower, i.e. the actual speed at the end of ramping will be the lower of the two settings SPEED and REMOTE. This is why it is necessary to set SPEED to maximum for REMOTE speed control. The advantage is that slacks and other local speed restrictions can be implemented by using the SPEED control locally. With the SHUNT switch off, speed matching and ramping will operate to ensure that speed changes smoothly from block to block whichever knob is in control.

The D16 option therefore also allows you to shunt using the manual speed control without operating the SHUNT switch, although speed ramping will then still be in force. You may prefer it that way. SuperBloc BC3 is intended to give as much flexibility in methods of operation as possible.

Precision Stops

We have now covered all the terminals except T5 (/SENSOR). Its function facilitates precision stops.

With the arrangement so far (and BC3's link LK1 in place), a loco normally enters a block at the speed set by REMOTE and, if the block ahead is occupied, or a STOP switch is set, its speed is ramped down until it stops. The ramp rate can be adjusted (with trimmer RV2) so that, for a given loco and a given input to REMOTE, the loco will stop where you wish. Normally this will be where a signal will be placed, or at the end of a platform.

Unfortunately not all locos have the same sensitivity, often resulting in a wide range of stopping places. Sluggish locos will stop well short of the signal while sensitive ones will consistently exhibit 'SPAD' (Signal Passed At Danger) tendencies. In addition, a loco may not have reached the REMOTE speed when it enters the block, causing it to stop too soon. Fig. 5 shows how the solution works.

The creep-stop procedure

Fig. 5. The creep-stop procedure

Two ramp rates are now defined: a slow rate (set by BC3's RV1) and a fast rate (set by RV2). The slow rate is adjusted so that all locos would stop short of the signal. However, when the speed falls to a critical value, instead of stopping, the loco travels on at a constant 'creep speed' until it approaches a second location where there is a sensor. When triggered, this initiates a faster ramp down, causing most locos to stop within an inch or two of the intended position.

The first ramp down is initiated by BC3's track circuit function, as before. BC3 will accept a wide range of different sensor types to initiate the second ramp down, including transient ones such as magnets and reeds, Hall switches and optical sensors, or continuous ones such as ToTIs. All these sensors need to do is to input a negative edge signal to the /SENSOR terminal T5.

Readers familiar with transient sensors will know that their indication needs to be latched: BC3 incorporates such a latch and also resets it automatically when the loco eventually leaves the block, i.e. when /BUSY goes high again. However, BC3 is also designed to use the simplest of ToTIs comprising a diode and a relay connected to the REVERSE switch, as shown in Fig. 6. (If no shunting is to be done, the relay can be omitted.) Note that /BUSY still operates over the whole block.

A simple ToTi for BC3's sensor input

Fig. 6. A simple ToTi for BC3's sensor input

If the /SENSOR facility is not used, by default, BC3 includes a link LK1 to disable it. When a sensor is connected this link has to be removed (see TB T33/11 for BC3's circuit) and the behaviour shown in Fig. 5 will be selected.

With LK1 in place, speed matching and acceleration are governed by trimmer RV1, while response to a stopsignal is governed by RV2. With a sensor connected, and LK1 removed, only the ramp down from the sensor position is governed by RV2; all other ramps are set by RV1.

Having RV2 available separately, the modeller is able to make the best compromise between too fast a ramp down and too variable a stopping position.

If there is no /STOP input, and the block ahead is clear, the loco will not stop even when it passes the sensor position: the sensor will simply be ignored.

The creep speed is set, by default, to just less than half the REMOTE speed: this works well for a wide range of locos. However, some locos, particularly N-gauge, have such a high starting threshold voltage that they may stall at 'half speed', particularly when REMOTE is set low. An option is included in BC3 to overcome this (wire D15 instead of D16 - see T33/11). With this option, the 'creep speed' is set by the SPEED control. This allows the creep speed to be adjusted until the loco with the most ‘stiction’ does not stall.

With the D15 option in place, SPEED needs to be set to the creep speed rather than maximum when not shunting. If a sensor is not used, it should be set to zero (which may seem more convenient). However, with SHUNT off, SPEED cannot then be used to set 'slacks' or to perform shunting with ramping in force.

Single Line Working

So far, we have concentrated on how to control and shunt a train on the unidirectional track of a main line. Can BC3 be used for single lines? The answer is 'yes' using the arrangement of Fig. 7.

Connecting BC3 for single line working

Fig. 7. Connecting BC3 for single line working

The arrangement shown is a symmetrical version of Fig. 6. This time, the block may be entered at either end and must receive its /STOP input from the /BUSY coming from the other end, and its Vin from the Vout at the same end. This direction can be controlled by adding extra changeover contacts to the relay operated by /REVERSE in Fig. 6. Similarly, the /SENSOR inputs from a pair of diode detectors at either end can be selected by another pair of changeover contacts, the back contacts of which disable the unused sensor.

With such an arrangement a block can be operated automatically in either direction selected simply by the BC3's reversing switch. Naturally, a separate 'token' system needs to be implemented to prevent signalmen from allowing trains into adjacent blocks in opposite directions, as on the prototype - but devising the logic for that is part of the fun of SuperBloc Control!


We have now described all the functions of BC3 that implement SuperBloc Control.

Unlike the prototype, the SuperBloc method stops the actual trains rather than setting signals that drivers must obey. It could be argued that signals are then no longer necessary (as on the Docklands Light Railway in London). However, modelling is about appearances. It is easy to believe that locos do have drivers: we already do so when 'drivers' operate their controllers 'in the sky', looking down on the layout. Can we also add signals to make it seem that 'SuperBloc's drivers' are obeying them?

The track circuit (/BUSY) wire indicates when a signal should be set at danger: it can therefore be used to control (but not to power!) a home signal for the block in the rear (circuits for this will be given in a later TB). In a similar way, by adding external logic to combine /BUSY in the current block with the block ahead, a distant signal can be controlled. With even more complex logic involving /BUSY in the rear as well, you can implement the rule that a signalman should not pull a signal off until he receives notice that a train is due from the box in the rear.


Junctions are straightforward too. Fig. 8 shows a loop with facing and trailing junctions. At the facing junction, BC3 X's /STOP needs to receive the /BUSY from whichever of the two blocks ahead, P or Q, is selected by the turnout.

Block signalling communications at facing and trailing junctions

Fig. 8. Block signalling communications at facing and trailing junctions

Similarly, X's Vout needs to be passed forward to the appropriate block, P or Q, ahead. Both these requirements can be met by a DPDT relay controlled by an auxiliary switch attached to the turnout, as shown.

At the trailing junction, the same applies in reverse, but it is also necessary to set a stop signal on the block not selected by the turnout. The circuit shown does this, taking advantage of the fact that a connection to 0V COMMON gives a stop indication. Later TBs will give examples and circuits for a range of additional features that can be implemented for more complex junctions, involving power switching and routeing

...and finally...

BC3 is designed to be compatible with many different kinds of logic for implementing SuperBloc systems, including relay logic, 4000 series CMOS and RTL, and combinations of them, making it a flexible tool. Its application is still in its infancy. We hope that it will spur you to invent ideas that are new, and that you will share them with us!

Contact Information

If you want to follow up any item on this page please contact:

Copyright to all information on these pages is held by the Authors identified.