Skip to content
ronibandiniPublic

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

🧮🕵️ P101 — Olivetti Programma 101 Art Installation

An electronic art installation built from a discarded Olivetti calculator, and the history surrounding the Olivetti Programma 101.

P101 transforms the remains of an abandoned Olivetti office calculator into a fictional diagnostic terminal.

When powered on, the machine appears to perform an internal test. Its six-digit display then begins presenting a sequence of cryptic numeric messages that gradually reconstruct a story around Olivetti, the Programma 101, Cold War industrial competition, and the conspiracy theories associated with the collapse of the company's early computer division.

The original calculator's printer mechanism is retained and driven electronically, preserving the mechanical presence of the discarded machine.

Discarded Olivetti calculator
            │
            ▼
   Salvaged mechanism
            │
            ├── Printer motor
            │
            └── Original case
            │
            ▼
    Arduino UNO R4 Minima
            │
       ┌────┴────┐
       ▼         ▼
   HT1621       L298N
   display      H-bridge
       │          │
       ▼          ▼
  6 digits     Printer motor
       │
       ▼
Cryptic diagnostic
     narrative

The project combines:

  • 🧮 computing history
  • ⚡ Arduino electronics
  • ♻️ discarded hardware
  • 🖥️ constrained displays
  • 🕵️ Cold War narratives
  • 📰 historical research
  • 🏛️ electronic art

✨ Features

  • 🧮 Built from a discarded Olivetti office calculator
  • ⚙️ Arduino UNO R4 Minima controller
  • 🔢 Six-digit HT1621 LCD
  • 🏎️ L298N H-bridge motor control
  • 🖨️ Reuses the original Olivetti printing mechanism
  • 🧠 Programmed narrative sequence
  • 🧪 Fake diagnostic startup behavior
  • 🔐 Cryptic numeric messages
  • 🕵️ Historical / conspiratorial narrative
  • ♻️ Electronic hardware reuse
  • 🔌 Standalone installation
  • 🖼️ Designed as an electronic art object
  • 📜 MIT licensed

🧠 Concept

The project began with an Olivetti calculator found discarded in a container.

When powered on, its damaged display suggested something more interesting than an ordinary office calculator:

broken numeric display
        +
Olivetti hardware
        +
diagnostic aesthetics
        =
fictional secret terminal

The resulting installation proposes a fictional scenario:

An Olivetti engineer uses the diagnostic mode of an office calculator to transmit fragments of a hidden story about the company's early computer division and the Programma 101.

The machine is therefore not a reproduction of a Programma 101.

It is a new electronic artwork constructed from another Olivetti machine and inspired by the history of the P101.


🧮 The Olivetti Programma 101

The Olivetti Programma 101, also known as the P101 or Perottina, was developed by a small team led by engineer Pier Giorgio Perotto between 1962 and 1964.

The team included:

  • Pier Giorgio Perotto
  • Giovanni De Sandre
  • Gastone Garziera
  • Giancarlo Toppi
  • Giuliano Gaiti

Its industrial design was created by Mario Bellini.

Commercial production began in the mid-1960s.

The machine placed programmable computation on a desk at a time when computers were normally associated with large installations operated by specialized personnel.

1960s mainframe
┌───────────────────────────────┐
│                               │
│      computer room            │
│                               │
└───────────────────────────────┘

             ↓

Programma 101
┌───────────────────┐
│      desktop      │
│ programmable      │
│     computer      │
└───────────────────┘

The Programma 101 is frequently described as one of the earliest commercially produced desktop programmable computers.


💾 Memory

The Programma 101 used ten registers.

The project documentation summarizes them as:

M
A
R
B
C
D
E
F
+
2 program registers

Their roles included:

Register Purpose
M Operations
A Operations
R Operations
B Storage
C Storage
D Storage and/or program
E Storage and/or program
F Storage and/or program
Additional registers Program storage

Registers D, E, and F could be allocated between numerical storage and program instructions.

Programs could also be stored externally on magnetic cards.


🧾 Programming

The Programma 101 used a compact instruction set based around calculator operations.

Typical operations included:

+
-
×
÷
square root
absolute value
register transfers
clear
print
stop
conditional operations

Unlike a conventional modern computer, programming was performed directly through the machine's keyboard.

A program could then be saved on a magnetic card and reloaded later.


🌕 NASA and Apollo

Programma 101 machines were purchased by NASA and used during the Apollo era.

The Museum of Modern Art notes that Programma 101 computers were used by NASA during the Apollo 11 program in 1969.

This was a significant application for a machine small enough to sit on a desk while many contemporary computers still required dedicated rooms.

Programma 101
      │
      ▼
engineering calculations
      │
      ▼
NASA Apollo program

The machine is also documented in historical accounts as having been used by the United States military for calculations associated with B-52 operations during the Vietnam War.


🏢 Olivetti and General Electric

The Programma 101 emerged during a turbulent period in Olivetti's electronics business.

Olivetti had already developed major electronic computers, including the ELEA series.

During the early 1960s the company entered an arrangement that resulted in much of its electronics division moving to General Electric.

The Programma 101 team managed to keep the small machine inside Olivetti.

One widely documented story describes engineers changing its internal classification from:

computer

to:

calculator

because calculators were outside the part of the business being transferred.

The distinction sounds bureaucratic, but it helped preserve the project.


🕵️ The conspiracy narrative

P101 uses the historical period surrounding Olivetti's computer business as the raw material for a fictional conspiracy narrative.

Two deaths became especially important in later books and discussions about Olivetti.

Adriano Olivetti

Adriano Olivetti died suddenly in 1960 while traveling by train.

Mario Tchou

Engineer Mario Tchou, head of Olivetti's Electronic Research Laboratory, died in a car crash in November 1961.

Both deaths occurred before development of the Programma 101 began in 1962.

They belong to the broader history of Olivetti's electronics division rather than directly to the P101 development project.

Later authors have examined the events in the context of:

  • Cold War industrial competition
  • IBM
  • American strategic interests
  • Olivetti's electronics division
  • General Electric
  • Italian industrial policy
  • intelligence agencies
  • early computing

The best-known investigation is Meryle Secrest's The Mysterious Affair at Olivetti.

The P101 artwork treats these theories as narrative material rather than presenting an Arduino installation as historical proof.


📕 The Mysterious Affair at Olivetti

A major reference for the installation is:

Meryle Secrest — The Mysterious Affair at Olivetti

Subtitle:

IBM, the CIA, and the Cold War Conspiracy to Shut Down Production of the World's First Desktop Computer

The book examines:

  • Adriano Olivetti
  • Mario Tchou
  • the Olivetti electronics division
  • IBM
  • Cold War industrial competition
  • the United States market
  • General Electric
  • the Programma 101
  • the circumstances surrounding Olivetti's decline in computing

The Mysterious Affair at Olivetti — Penguin Random House


🎭 Fictional diagnostic terminal

The physical installation does not attempt to imitate the Programma 101 interface.

Instead, it pretends to be a different machine:

ordinary Olivetti calculator
          │
          ▼
     power on
          │
          ▼
  diagnostic sequence
          │
          ▼
 unexpected numbers
          │
          ▼
  encoded narrative

The six-digit display becomes a severe storytelling constraint.

There is no conventional text screen.

Everything must fit inside:

[_][_][_][_][_][_]

This limitation becomes part of the artwork.


🔢 Six-digit storytelling

The HT1621 module can display six numeric characters.

The narrative must therefore be translated into a vocabulary available to a calculator-like device.

Instead of displaying paragraphs directly, the machine presents fragments that resemble:

  • diagnostic codes
  • dates
  • numeric identifiers
  • abbreviated words
  • error messages
  • machine states

The visual language intentionally remains ambiguous:

1884??
101
1960
1961
1965
NASA
ERROR
...

The viewer initially encounters something that resembles machine diagnostics before recognizing that a story is being told.


⚙️ Hardware architecture

            ┌────────────────────┐
            │ Arduino UNO R4     │
            │ Minima             │
            └─────────┬──────────┘
                      │
        ┌─────────────┴─────────────┐
        │                           │
        ▼                           ▼
┌─────────────────┐        ┌─────────────────┐
│ HT1621 display  │        │ L298N H-bridge │
│                 │        │                 │
│ six digits      │        │ motor control   │
└─────────────────┘        └────────┬────────┘
                                   │
                                   ▼
                           Olivetti printer
                              mechanism

🧰 Hardware

Qty Component Purpose
1 Arduino UNO R4 Minima Main controller
1 Olivetti calculator printing module Original mechanical element
1 L298N H-bridge Printer motor control
1 HT1621 six-digit numeric LCD Narrative display
1 DC female jack Power input
1 Switch Power / installation control
— Original Olivetti calculator case Enclosure

The project deliberately preserves visible parts of the salvaged calculator rather than hiding them inside a new enclosure.


🔌 Connections

L298N motor driver

The documented wiring uses:

L298N A → D2
L298N B → D3

The H-bridge controls the motor salvaged from the Olivetti printing mechanism.

Arduino
 D2 ──────────► L298N input
 D3 ──────────► L298N input
                    │
                    ▼
              printer motor

HT1621 display

The numeric display uses:

HT1621 Arduino UNO R4 Minima
CS D13
WR D12
DATA D7
Backlight D10
HT1621
 CS    ─── D13
 WR    ─── D12
 DATA  ─── D7
 LIGHT ─── D10

💡 Display backlight

The backlight is connected to:

D10

This allows the Arduino to control the visual state of the display as part of the installation sequence.

The display itself remains calculator-like rather than becoming a general-purpose graphical screen.

That restriction is central to the visual character of the work.


🏎️ Printer motor

The original calculator's printer module contains a DC motor.

Driving it directly from an Arduino GPIO pin would be inappropriate because the motor requires substantially more current than a microcontroller pin can supply.

The project therefore uses:

Arduino
   │
   ▼
L298N
   │
   ▼
DC motor

The L298N provides the higher-current switching stage required by the mechanism.


🧠 Controller

The installation uses an:

Arduino UNO R4 Minima

The UNO R4 Minima is based on the 32-bit Renesas RA4M1 microcontroller.

Compared with the traditional AVR-based UNO R3, the UNO R4 provides:

  • 32-bit architecture
  • 48 MHz CPU
  • 256 KB Flash
  • 32 KB SRAM
  • 14 digital I/O pins
  • 6 analog inputs
  • USB-C
  • DAC
  • CAN support
  • RTC capabilities

Official documentation:

Arduino UNO R4 Minima


🔢 HT1621

The HT1621 is an LCD controller intended for segmented displays.

It provides a compact serial interface between a microcontroller and a segmented LCD.

The project only needs a small number of Arduino pins:

CS
WR
DATA

rather than individually controlling every LCD segment.

A commonly used Arduino implementation is:

HT1621 Arduino library


🔄 Installation sequence

The artwork is designed to operate autonomously.

Conceptually:

Power ON
   │
   ▼
Initialize GPIO
   │
   ▼
Initialize HT1621
   │
   ▼
Display startup state
   │
   ▼
Fake diagnostic
   │
   ▼
Mechanical activity
   │
   ▼
Narrative fragment
   │
   ▼
Delay
   │
   ▼
Next fragment

No computer needs to remain attached after the sketch has been uploaded.


🧪 Diagnostic aesthetics

A diagnostic display suggests that the viewer is seeing information intended for:

technician
engineer
service mode
factory
internal testing

rather than the general public.

That becomes the fictional mechanism through which the hidden narrative is revealed.

The artwork therefore uses familiar machine behavior:

startup
test
numbers
codes
motor activity

to imply access to an otherwise inaccessible layer of the device.


♻️ Hardware reuse

The starting point was not a reproduction P101 or a newly fabricated enclosure.

It was an actual discarded Olivetti calculator.

The project therefore preserves:

industrial design
+
mechanical components
+
material history

while replacing the machine's original computational behavior.

The result is both:

salvaged appliance

and:

new electronic artwork

🚀 Installation

1. Clone the repository

git clone https://github.com/ronibandini/p101.git
cd p101

2. Install Arduino IDE

Download:

Arduino IDE


3. Install UNO R4 board support

In Arduino IDE:

Tools
→ Board
→ Boards Manager

Search for:

Arduino UNO R4 Boards

and install the current Arduino core.

Select:

Arduino UNO R4 Minima

before compiling.


4. Install the display library

Install an HT1621-compatible library matching the display module used by the project.

Reference implementation:

github.com/marc-gist/HT1621

If using a different HT1621 display board, verify its segment mapping because modules can expose the controller differently.


5. Connect the display

CS        → D13
WR        → D12
DATA      → D7
Backlight → D10

Connect power and ground according to the requirements of the specific HT1621 module.


6. Connect the H-bridge

Control inputs:

D2 → L298N
D3 → L298N

Connect the Olivetti printer motor to the corresponding L298N motor output.

The motor power source should be appropriate for the salvaged mechanism.

Do not power the motor directly from an Arduino GPIO.


7. Upload

Open the project's Arduino sketch and upload it to:

Arduino UNO R4 Minima

After uploading, the installation can operate independently from the development computer.


🧯 Salvaged-hardware precautions

Old calculators can contain:

  • degraded insulation
  • brittle wiring
  • worn motors
  • contaminated mechanisms
  • damaged power supplies
  • mains-voltage sections
  • aged electrolytic capacitors

The project only needs the useful low-voltage mechanical components.

Do not reuse an unknown original mains-power section without properly inspecting and understanding it.

For an installation, use a known, regulated power supply appropriate to the reconstructed electronics.


🧾 The original Programma 101 manual

The Archivio Storico Olivetti preserves documentation for the original machine.

The Programma 101 General Reference Manual describes:

  • machine operation
  • registers
  • programming concepts
  • instruction language
  • magnetic cards
  • programming techniques

Programma 101 General Reference Manual — Archivio Storico Olivetti


🏛️ Programma 101 in museum collections

The P101 is now recognized as an important object in the history of computing and industrial design.

The Museum of Modern Art has included the Programma 101 in exhibitions examining the relationship between computation, technology, and design.

MoMA describes it as a programmable desktop computer and notes its use by NASA during Apollo 11.

Thinking Machines — MoMA


🧑‍🔧 Gastone Garziera

Engineer Gastone Garziera was part of the original Programma 101 development team.

His accounts provide an important first-person source for understanding the machine and its development.

TEDx — The Olivetti Programma 101

The Olivetti Programma 101 — The First Personal Computer in History | Gastone Garziera | TEDxArezzo


🔬 Ideas for extending the project

  1. 🧾 Add a magnetic-card interaction — use RFID or NFC cards as a contemporary reference to the Programma 101's magnetic program cards and trigger different narrative branches.

  2. 🖨️ Restore printer output — where mechanically practical, use the original printing hardware to produce fragments of the narrative on paper in addition to the six-digit display.

  3. 🔀 Non-linear narrative mode — store multiple historical fragments and assemble a different sequence each time the installation starts.


📰 External references

🛠️ Hackster.io

Olivetti Programma 101 Art Installation

The full project tutorial documents:

  • the discarded Olivetti calculator
  • Programma 101 background
  • the fictional conspiracy premise
  • Arduino UNO R4 Minima
  • L298N motor control
  • HT1621 display
  • circuit
  • source code
  • installation video

Olivetti Programma 101 Art Installation — Hackster.io


✍️ Medium

P101, instalación conspirativa sobre la Olivetti Programma 101

Spanish-language article covering the origin of the installation, hardware reconstruction, historical context, circuit, and narrative.

Read on Medium


🎥 Videos

P101 Electronic Art Installation

The project demonstration shows the completed physical installation and its diagnostic-style narrative sequence.

The video is also embedded in the Hackster project page:

Olivetti Programma 101 Art Installation — Hackster.io


📺 La máquina discreta — Olivetti Programma 101

In 2026, the Programma 101 was also covered in an episode of La máquina discreta, a series of short chronicles about forgotten technologies.

The episode discusses:

  • Olivetti
  • IBM
  • the Cold War
  • the Programma 101
  • Apollo
  • B-52 operations
  • the conspiracy narrative around the company's electronics history

Olivetti Programma 101 — La máquina discreta


📚 Historical references

Inexhibit

Olivetti Programma 101 — at the origins of the personal computer

A detailed overview of:

  • Pier Giorgio Perotto
  • the development team
  • the GE transaction
  • the internal calculator/computer classification
  • industrial design
  • Programma 101 architecture

Read on Inexhibit


Archivio Storico Olivetti

Programma 101 General Reference Manual

Original documentation covering operation and programming.

Read the manual


Computer History Museum

Historical technical documentation for the Programma 101 is preserved through the Computer History Museum's archive of early computing literature.

The OLIVETTI Programma 101 desk calculator


Museum of Modern Art

The Programma 101 appears in MoMA's Thinking Machines material as an important example of early personal-scale computing.

Thinking Machines — MoMA


📖 Further reading

The Mysterious Affair at Olivetti

Meryle Secrest

The book examines the company, its technological ambitions, Cold War industrial politics, Adriano Olivetti, Mario Tchou, and the development of the Programma 101.

Penguin Random House


📕 Contracultura Maker

P101 is part of a broader practice of building machines from unusual historical references, discarded technologies, fiction, electronics, and alternative uses of everyday hardware.

More projects and context are collected in:

Contracultura Maker — book


📚 Useful technical references


🔗 You may also be interested in...

Other projects by Roni Bandini combining technological history, discarded hardware, literature, and electronic art.

📺🧠 Tachistoscope

Raspberry Pi-powered video installation exploring subliminal perception, propaganda, historical media, and CRT technology.

Like P101, Tachistoscope builds a contemporary electronic object around a historical technological narrative.

github.com/ronibandini/Tachistoscope


⌨️ Microwriter

A modern recreation of the unusual 1970s Microwriter chorded keyboard using an ESP32-P4, physical buttons, LCD, Wi-Fi, and microSD.

Another project recovering an unconventional idea from computing history and rebuilding it with contemporary hardware.

github.com/ronibandini/Microwriter


🧸📚 Furby

A discarded 1998 Furby transformed into a literary electronic automaton.

Another project based on reusing an existing technological object while radically changing its original purpose.

github.com/ronibandini/furby


📜 License

P101 is released under the MIT License.

See LICENSE for details.


👤 Author

Roni Bandini

Maker, AI developer, electronic artist and writer.

Buenos Aires, Argentina.

Releases

Packages

Contributors

Languages