Vidiotbox
A field guide to a touchy, sound-reactive, occasionally dramatic little screen creature.
Wake The Face
Portrait orientation. USB at the bottom. Magnetic cap at the top. Simple rules, large consequences.
| Action | Result |
|---|---|
| Remove magnetic cap | Vidiotbox turns on. |
| Place cap back on top | Battery is physically disconnected. |
| Remove cap, then plug in USB | Battery can charge. |
SETUP WIFI vidiotbox-XXXX <password> 192.168.4.1
The setup access point is temporary. It shuts down after about 30 seconds of no client activity.
Touch The Mood Map
Tap one of the 13 screen regions. The selected face appears immediately, then holds briefly after release.
| Zone | Expression | Tendency |
|---|---|---|
| Top far left | SURPRISED | Playful |
| Top center | DREAMING | Dreamy / idle |
| Top far right | CONFUSED | Curious-friendly |
| Upper row | LISTENING, PROUD, ANXIETY | Curious / positive / curious |
| Middle row | HAPPY, BEAT-BOP, NEUTRAL, ANGRY | Playful / beat face / calm / annoyed |
| Bottom row | WACKY, SLEEPING, SAD | Playful / sleepy / curious |
Expression Index
The black reference-sheet backgrounds have been removed so the faces can work as signs, warnings, and little emotional punctuation marks.
NEUTRAL
HAPPY
ANGRY
SURPRISED
LOVING
SCARY
SAD
SLEEPING
WACKY
CONFUSED
ANXIETY
PROUD
DREAMING
LISTENINGSystem-called only. They do not have direct touch zones.
Hidden Holds
Hold actions are time-based. The spot under your finger does not matter once the hold begins.
| Hold time | Result |
|---|---|
| Tap and release | Selected expression shows immediately. |
| About 2.5 seconds | Expression labels toggle on or off. |
| About 5 seconds | Emotional Rescue QR/credit screen opens. |
| About 10 seconds total | Battery status screen opens. |
Poke Patterns
Vidiotbox remembers recent taps. Rapid means about 2.5 seconds apart. Repeat means the same expression within about 6 seconds.
| Pattern | Reaction |
|---|---|
| HAPPY, BEAT-BOP, WACKY, or SURPRISED | Queues PLAYFUL. |
| ANGRY | Shows ANGRY and queues ANNOYED. |
| DREAMING twice | Queues DREAMY. |
| SLEEPING twice while calm | Queues DREAMY. |
| PLAYFUL/ANNOYED alternation twice | Queues TORN. |
Queued moods wait until the post-touch hold ends and Vidiotbox returns to idle.
Mood Parade
A mood is a compact expression sequence. Touch interrupts it. Sound can interrupt it when sound detection is allowed.
| Mood | Trigger | Sequence |
|---|---|---|
| CALM | Default idle | NEUTRAL -> PROUD -> HAPPY -> NEUTRAL |
| CURIOUS | Soft sound or gentle touch | NEUTRAL -> LISTENING -> SURPRISED/PROUD/HAPPY -> LISTENING |
| PLAYFUL | HAPPY/BEAT-BOP/WACKY/SURPRISED touch or personality | HAPPY, WACKY, LOVING, SURPRISED, PROUD |
| ANNOYED | ANGRY, over-poking, very loud sound | ANGRY, SCARY, ANXIETY |
| SLEEPY | Long idle | NEUTRAL -> SAD -> SLEEPING |
| DREAMY | DREAMING twice or calm SLEEPING twice | DREAMING and SLEEPING alternate |
| TORN | Fast playful/annoyed alternation | WACKY and CONFUSED alternate |
Idle / Sound
When Vidiotbox is idle, expression checks and sound checks share the stage. Random idle expressions happen on a timer; sound can start moods or configured sound events when the touch and cooldown gates are clear.
| Idle random logic | Current behavior |
|---|---|
| Timer | /faceimator/expr.txt controls check_every_ms; default is 5000 ms, minimum is 1000 ms. |
| Chance | play_probability_percent decides whether the timer picks an idle expression on that check. |
| Weights | Each expression weight is 0-100. Weight 0 removes it from idle selection; higher weights make it more likely. |
| Audio filter | If idle expression audio is enabled and not muted, the random picker only uses expressions with matching idle audio files. |
| Current face | The picker avoids repeating the current expression when another eligible expression exists. |
| Mood priority | Active mood sequences block random idle expression changes until the mood ends or is interrupted. |
| Sound | Result |
|---|---|
| Quiet | Background adjusts. |
| Soft | CURIOUS can start while idle after the curious cooldown. |
| Sustained friendly | The LOW sound event can run after sound stays in the LOVING band for the configured window. |
| Strong | The MEDIUM sound event runs after the decision window unless the peak upgrades to HIGH. |
| Very loud | The HIGH sound event runs, or personality may redirect the reaction into PLAYFUL. |
| During an idle mood | MEDIUM/HIGH sound interrupts the mood and runs the configured event. |
| Gated | Sound events pause during startup settle, image/GIF cooldown, active touch, post-touch cooldown, touch holds, and ANNOYED mood. |
Setup Portal
Connect to the temporary startup Wi-Fi named vidiotbox-XXXX, then open http://192.168.4.1/.
| Page | Use |
|---|---|
/config | General config and brightness. |
/sound | Microphone thresholds, timing, and VU meter. |
/events | Low, medium, and high sound-event behavior. |
/audio | Idle/random audio, uploads, per-file volume, and deletion. |
/personality | Personality axes, derived behavior, and reset. |
/expr | Idle expression probabilities. |
/gif | GIF selection, upload, delete, and tint. |
/images, /images/edit | Faceimator RGB565 image assets and message metadata. |
/info, /reboot | Device info and restart. |
Battery / Rest
Vidiotbox checks battery voltage after the startup grace period, then sleeps before the LiPo gets dangerously low.
| State | Approximate value |
|---|---|
| Full | raw about 2445, about 4.2 V |
| Resume | raw 2100, about 3.4 V |
| Low warning | raw 2000, about 3.2 V |
| Flat reference | raw about 1560, about 2.7 V |
Three consecutive low readings trigger the Charge Me warning and deep sleep. Charge-rest checks again every 15 minutes.
Personality
The personality file lives at /faceimator/personality.txt. It reflects recent behavior, then fades back toward neutral.
| Axis | Low side | High side |
|---|---|---|
| Energy | Calmer, sleepier | More playful |
| Patience | Easier to annoy | More tolerant |
| Sociability | Slower sound reactions | Quicker curious reactions |
/personality, and use the reset button.Charm Card
| Action | Do this |
|---|---|
| Turn on | Remove the magnetic cap. |
| Turn off | Put the magnetic cap back on top. |
| Charge | Remove cap, connect USB to bottom port. |
| Pick a face | Tap a touch-map zone. |
| Open QR | Hold about 5 seconds. |
| Open battery | Keep holding about 10 seconds total. |