Charter 18 · read · available project

Signal Tower

Long-Distance Status Display

Choose one garden fact important enough to become architecture, then make it readable before visitors reach the door.

Difficulty
★☆☆
Prefix
st
Zone
entrance
Type
tower
Device
st-01
Build time
6 hours

Mission

Build this

Build a visible entrance display and labelled semaphore for the lifetime count, recent activity, or a defensible activity class.

One kit, one team repository.

Borrowed parts are labelled below and have a fallback. The registered device ID is fixed; sensing and behaviour decisions remain yours.

Bill of materials

Parts

SourcePartFallback
● kitFour-digit TM1637 display—
● kitOptional 74HC595, LEDs and 220 Ω resistors—
● kitSG90 servo—

Disconnect USB before rewiring. Motors, the relay, and the servo need appropriate power and a shared ground. Never drive an actuator from the ESP32 3V3 pin.

Your invitation

Choose one fact important enough to become architecture

A tower cannot explain everything the garden knows. It stands at the entrance and makes one shared quantity visible quickly, from farther away than a visitor would read a screen.

Your first design decision is therefore not colour or servo angle. It is editorial: should the tower show the lifetime entrance count, recent passage activity, or a small labelled state derived from that activity? Choose one claim and make the distance test match it.

The tower’s promise

One glance, one meaning, and a clear answer when the source has gone stale.

The central idea

A total and a rate tell different public stories

1842

Lifetime count

How many accepted passages the Gate Keeper has accumulated since its baseline.

+7 / 5 min

Recent activity

The difference between two counts over a documented time window.

quiet · steady · busy

Activity class

A public interpretation of recent activity using visible, written boundaries.

The cumulative count is not current occupancy.

A count of 1842 does not mean 1842 people are present. If the semaphore expresses busyness, calculate recent change over time and say exactly which interval the labels describe.

Design for a glance

Redundancy makes distance more forgiving

digits

Preserve the exact count or recent change for a closer viewer.

arm

Use a few large, labelled positions visible from farther away.

shape or colour

An optional second cue may confirm the state, but must not carry the meaning alone.

The cues should agree. A high arm cannot mean “busy” while the digits still show a previous quiet interval. Update the stored interpretation once, then let every output read that same state.

Wiring

Prove the display before raising the semaphore

The reference route uses the four-pin TM1637 display. If your kit instead supplies a bare seven-segment display or 74HC595, follow its verified example and include one current-limiting resistor per lit LED segment.

The power rule: The TM1637 logic uses 3V3. The servo uses a separate 5 V supply. Join all grounds.

Bench referenceOpen the exact wiring map
WiringFour-digit entrance display and long-distance semaphore
ESP323V3TM1637 displayVCCGNDTM1637 displayGNDGPIO 18TM1637 displayCLKGPIO 19TM1637 displayDIOGPIO 26SG90 servosignal (orange)external 5 VSG90 servopower (red)GNDSG90 servoground (brown)
ESP32 pinPartPart markingCarries
3V3TM1637 displayVCC3V3 power — verify module markings
GNDTM1637 displayGNDGround
GPIO 18TM1637 displayCLKDigital in/out
GPIO 19TM1637 displayDIODigital in/out
GPIO 26SG90 servosignal (orange)PWM to actuator — semaphore position
external 5 VSG90 servopower (red)5V power — separate supply
GNDSG90 servoground (brown)Ground — join servo and ESP32 grounds

Never power the servo from ESP32 3V3. Confirm the display module pin order before power; bare LED segments require current-limiting resistors.

  • 3V3 power
  • Ground
  • Digital in/out
  • PWM to actuator
  • 5V power

This map is for a TM1637 four-pin module. A 74HC595 or bare display is a valid alternate route, not a pin-compatible replacement.

Write the signal legend

A semaphore position needs a printed meaning

Quiet

___ to ___ new passages per ___ minutes

Steady

___ to ___ new passages per ___ minutes

Busy

More than ___ new passages per ___ minutes

Unknown

No trusted update for longer than ___ minutes

Your team decides:

  • Which one public quantity deserves the tower?
  • What viewing distance is the actual design target?
  • How often may the arm move without becoming distracting?
  • How does the unknown pose remain distinct from every real state?

Your distance trial

Measure recognition before the viewer reaches the label

  1. Prepare a fixed sequence of states.

    Include every arm position, several digit values, and the unknown condition in a random order.

  2. Mark at least three viewing distances.

    Measure them rather than calling them near, medium, and far. Include the intended real-world distance.

  3. Test at least five first-time viewers.

    Ask what the signal means and time the answer. Record wrong answers separately from “cannot tell.”

  4. Revise one ambiguous cue.

    Change angle, label, size, contrast, or encoding, then repeat the hardest distance with fresh trials.

DistanceShown stateAnswerCorrect?Reading timeDisplay or arm?
___ mquiet___yes / no___ s___
___ mbusy___yes / no___ s___
___ munknown___yes / no___ s___

When the signal lies from a distance

Legibility failures have different causes

People see the arm but reverse its meaning

The position is visible but the legend is not intuitive. Test clearer labels or a physical shape that suggests the intended ordering.

The digits are readable indoors but vanish outside

Contrast and ambient light changed. Add a hood, change orientation, or make the semaphore carry the far-distance meaning.

The tower says busy forever

You may be using the cumulative total rather than a recent difference, or your activity window never expires old events.

The arm moves after every count

The physical state has too many changes. Let digits show exact updates while the semaphore changes only when a labelled band changes.

A disconnected Gate Keeper still looks normal

Store the last arrival time and move to the unknown pose after the documented freshness limit.

Choose your public signal problem

What kind of tower team will you become?

The public editors

Make the argument for which one garden quantity deserves distance, and remove every cue that dilutes it.

The legibility engineers

Make distance, angle, light, contrast, and reading time the experiment across a carefully measured route.

The redundant coders

Compare digits, arm, and an optional shift-register pattern to learn which combinations prevent confusion without adding noise.

A calm way through the build

Collect four small wins

  1. st-01 says hello.

    Join the garden with an unknown status.

  2. The display shows the live Gate Keeper total.

    Handle reset and stale data before interpreting it.

  3. A time window produces one labelled activity state.

    Write the legend and test replay values.

  4. The arm agrees with the display.

    Power it separately, print the legend, and mark the viewing distances.

The garden handshake

Share what you found

These names are the rigid part of the project. They let another team find your work without knowing what you called the variables in your code.

When state changes

Tower operating state

garden/entrance/tower/st-01/status

Unit: enum

Listen beyond your own device.

garden/entrance/counter/gk-01/count

The Gate Keeper supplies a cumulative accepted-passage count. Display it directly or derive recent activity from count differences over a documented window; never label it current occupancy.

Finish line

Ready to introduce to the garden

  • st-01 stays online and publishes a registered status such as ok, warning, or error.

  • The reject feed stays clear after the final code starts.

  • The tower reads Gate Keeper count, handles resets and stale data, and never describes the total as occupancy.

  • Digits and semaphore share one stored interpretation and update without blocking garden messages.

  • The build log contains the editorial choice, printed legend, fixed state sequence, three measured distances, five viewers, accuracy, reading time, confusion, and one revision.

  • The display is electrically appropriate, any bare LEDs are current-limited, the servo is safely powered, and the device label can be scanned.

A good Signal Tower does less than a dashboard and does it better: one defensible garden story, readable before the viewer has reached the door.

Backbone now

Live status

Updates from the same public event stream

Checking st-01…