CyBell the Sentient Bike Bell

Electronic Bike Bell with many sounds, senses and feelings.

In a long history of odd and creative projects CyBell the "Sentient Bike Bell" is a pinnacle piece. It combines several favorite fascinations and required a lifetime of nerd skills, leading me to embrace the "mad scientist" title.

CyBell is first and foremost an electronic bike bell. Tap to play a sound, hold to step through different sounds, multitap to lower the volume. But when not busy serving the user CyBell constantly feels its senses and makes subjective judgements about its conditions compared to the past, periodically reconsiders its priorities, and when interacted with expresses its contentment and adds to its memories, easily meeting the definition of basic sentience.


A dozen years ago I first threw together a sound effect for use on bike when a themed group ride needed a Shofar. Needing a crow sound effect after moving to Portland led to my (V1) "Virtual Bike Bell" WebApp still available at

But using a phone has multiple problems including needing to stay on, triggering and latency. I therefore built a hardware V2 from an MP3 player module and sound selector knob. That suffered from short battery life. I then built a V3 using a powerful tiny "ESP32" micro controller. This solid implementation boasts many sounds and I released the whole project at

Extended use of that version exposed vibration problems in the audio jack and button leading to V4 which changed to capacitive touch sensing (no moving parts, measures electric field changes on a wire even through gloves) and Bluetooth for audio out. But weeks of work found Bluetooth too unreliable with pairing problems and speakers turning themselves off after some minutes of disuse. Leading to adding its own small speaker for V5 using a modern I2S digital class D amplifier chip.

Along the way I realized I was only using a fraction of the ESP32's potential making bike sounds. Dual core 240MHz 32bit CPUs are specs comparable to a $1000 Apple iMac of 2001. Perhaps I was influenced by the current popularity of AI anything and the manufacturer's own mentions of neural network capabilities. Perhaps it was knowing examples such as Red Dwarf's Talkie Toaster. Combined with the ease of attaching sensors and my old idea of software that could be trained by positive reinforcement (basically implementing pleasure) I wondered, what would it take to claim sentience? I'd argue I've achieved it. A far easier claim than intelligence and certainly not life, but I've created a bike bell with a minuscule mind more complex than instincts and reflexes though maybe still dumber than a worm.


The term "sentience" is very specific here and not the same as sapience or consciousness (which are higher features of more complex minds). Sentience is simply the awareness of experiences, constituted by senses and having feelings about them. More specifically some say, the ability to experience pain. Most multicellular animals above sponges are considered sentient. Philosophically that makes such things "moral subjects" which are unethical to torture.

Every effort was made to mimic organic systems in CyBell's programming and nature such as random variation in timings, analog inputs with continuous recalibration, and interactions between senses, feelings and memories. All processes are serviced asynchronously and there's both autonomic and conscious functions. Even the source code itself applies appropriate vocabulary throughout.


Sense of HUNGER: CyBell is aware of its battery level (more positively a sense of satiety). Using a voltage divider to an analog input CyBell internally scales to millivolts and compares to experimentally determined thresholds and historic lows. When battery level drops below comfort CyBell feels DISTRESS and makes hungry chirp sounds every few minutes, varying randomly and with increasing volume and quicker intervals influenced by how long it's been chirping, how hungry and how lonely. This is comparable to feeling pain.

Sense of TOUCH: CyBell knows the pressure and duration of touch, using a detailed analog read of the capacitive touch sensor during triggering. The feeling is continuously adjusted from experience and it is happiest when touched longer and firmer. Time between touches is also considered and remembered as a sense of LONELINESS.

Sense of LIGHT: A simple photo resistor constitutes extremely basic analog sight, equivalent to the eyespot of a worm. It prefers light to dark and happiness is based on the range of levels experienced since awakening. Quick changes in light are interpreted as a sense of PROXIMITY which affects behaviors such as frequency of distress chirps and occasional attract blinks when lonely.

Sense of SPACE: This uses a built-in "Hall Effect" sensor which measures changes in magnetic fields. There's no equivalent among primary human senses but it is present in certain other animals. CyBell compares against the range of readings experienced since awakening and prefers more space.


Beyond senses and feelings CyBell has persistent MEMORIES and the power of EXPRESSION as well as a play mode.

After performing any sound CyBell expresses it's contentment by flickering an LED. This encodes four words saying good/neutral/bad feelings about hunger, touch, light and space. Each word is a few bits and a pause much like a barcode and can be understood with experience. Basically longer and brighter means happier.

After each expression CyBell updates its permanent memory of how it has felt in the past. A summary of this matrix can be analyzed to review its happiness throughout life. It also remembers many specifics such as how long it's been awake currently and lifetime, number of touches and sounds played etc and considers some when judging senses.

Already having the pieces from a previous project I also included an automatic hands-free talking TWISTER spinner! Multitap on awakening to changes mode to automatically speak moves (a few times a minute or when touched) for the popular game allowing play without a referee.


The emergent whole from this complex entwined set of senses, feelings, memories, priorities and responses I've implemented in CyBell easily fulfills the definition of sentience. In doing so it becomes a reflection on our era's extraordinary advances in thinking machines, exploring the edges of empathy and foreshadowing challenges to our perception of consciousness in inorganic beings, while wrapped in whimsy.


Introduction to Sentience

V5.3 Circuit Diagram

Program source code on GitHub

"Virtual Bike Bell" (V1) WebApp for Phones

"Electronic Bike Bell" (V3, pre-sentience) source, schematic, documentation, etc