The next-generation BBS software

  • No platforms nobody in the middle
  • No hosting fees it runs at your place
  • No outside costs your power, your Wi-Fi
  • No cloud nobody else's server
  • Old and new a 1980s computer can join
  • Real hardware a chip on your shelf
  • Free software GPL v3 or later
  • No internet needed a local network is enough
  • You write the rules and you are the appeal
  • No ads no one sells your time

What this is

Electronic freedom on a microcontroller. No ads, no cloud, no platform in the middle.

Written and built by QuantumRob, who has been doing this since the 4381 was the computer in the room. The argument below is his; the software is free for anybody who agrees with it, and for anybody who does not.

YOU THE BOARD > BBS any terminal, anywhere a chip on a shelf

A bulletin board is a machine that answers a phone number. Somebody put a spare computer in a spare room, hung a modem off it, and other people called it. No terms of service. No algorithm deciding what you saw. No third party keeping a copy for later. The sysopThe system operator: the host who runs a board, sets its rules and looks after it. was a person you could ring up and argue with, and if you did not like how a board was run you started your own, because the barrier to entry was a second phone line.

Where this came from

CBBS went online in Chicago on 16 February 1978, written by Ward Christensen with hardware by Randy Suess. The Great Blizzard of 1978, which dumped record snow across the Midwest that January, handed them the quiet weeks to build it. Their own write-up in Byte that November specified an 8080 on the S-100 bus with 24 kilobytes of memory and a single floppy disk, and it answered one caller at a time.

I met Ward Christensen once, at a Maker Faire. I did not know it would be the only time. He died on 11 October 2024, and I wish I had spent longer talking to him while I had the chance. If you get to meet the person who built the thing you love, take the extra hour.

— QuantumRob

Thousands of boards followed. Each one was somebody's own idea of what a community should look like: a music board, a board for one town, a board that was its sysop and eleven friends. InfoWorld estimated 60,000 of them in the United States alone in 1994, and FidoNet tied tens of thousands into a store-and-forward network that moved mail around the world overnight, when the long-distance rates were lowest, run by hobbyists.

Almost all of them ran on hardware weaker than the board this software runs on, which costs about $15.

The whole computer

This is an ESP32-WROOM-32E. It is a microcontroller about the size of a postage stamp with a radio on it: a dual-core processor that runs at up to 240 MHz, 520 kilobytes of RAM, four megabytes of flash, and Wi-Fi. A dev board with one costs about $15, draws about a tenth of an amp while it listens for callers, and runs from a phone charger.

CBBS answered one caller at a time on 24 kilobytes. This has more than twenty times that memory and answers ten at once, with a hidden eleventh line the sysop comes in on. There is no operating system underneath it worth the name, no web stack, no database, no container: the whole board is one program that fits in about a megabyte, and its sessions and buffers are set aside when it starts rather than asked for while callers are on.

That is the argument in one object. A community does not need a data centre. It needs a machine somebody owns, on a connection somebody pays for, run by a person who can be reached. This one fits in a pocket and you can build it in an afternoon.

Schools, clubs, ham radio, offices, and one person with eleven friends: who it's for, and why you might want one.

If you want one of your own, everything needed is an ESP32 dev board and a USB cable.

Build one

What replaced it

The web arrived and it was better at almost everything, and then it consolidated. Now the conversation lives on machines you cannot see, indexed, scraped to train something, ranked, monetised, and deleted at somebody else's discretion. You do not own the room, the member list, the history, or the right to keep any of it. You rent all of it, and the rent is paid in attention and data.

What was lost was not the modem noise. It was that the system belonged to somebody you could name.

What this is

A telnetThe plain way of connecting to a board over a network. It is not encrypted, so what you type could be read on the way. BBSA bulletin board system: a small online community on one computer, which people connect to from theirs to chat, leave messages and share files. that runs on a bare ESP32 and grows into an IoT terminal server through plugins. Nodes, handlesThe nickname you use on a board., a user list, a chat room in the style of DDial and Gtalk, mail between callers, file areas on an SD card, forums on the same card, a caller log, a sysop who can page you. The forums are topic areas a sysop sets up, with conversations inside each one, read at the same prompt as everything else. Door games come in through door sats: firmware 1.2.0 has the way in, and the doors are still to come.

Set beside the BBS software you may already know, the difference is that the board is the whole computer: what that lets it do fits on one page, and the roadmap shows what is built, what is arriving and what comes after.

The board is yours. Not an account on somebody's platform, not a tenant on a server farm, not a feature that can be deprecated out from under you. A chip you own, on a port you chose, running software you can read all of in an afternoon and change when you disagree with it.

The user list is a text file. The settings are a text file. Mail goes from one caller to another through a chip on your shelf, and the caller it was sent to decides whether to keep it. There is no account to create, nothing to subscribe to, and no vendor who can change the deal. It is GPL, so nobody can take it away from you later, including the person who wrote it.

Privacy forward, and what that means

Every system you use was built by somebody, and the question worth asking is who it was built to serve. A board is built to serve the person who owns it. That is the whole of the privacy argument, and everything else follows from it.

There is no third party in the middle. Not a company, not a platform, not an advertiser, not a model being trained. A message goes from one caller to another through a chip on somebody's shelf and stays there until one of them deletes it or it expires. Nobody is standing between those two people taking a copy, because there is nowhere for a copy to go and nobody whose business it would be.

Here is the difference, drawn out.

CALLING A WEBSITE you DNS who asked, and when CDN edge logs your IP load balancer session fingerprint the app account history analytics · ad exchange · data broker model training · retention policy breach disclosure in eighteen months you cannot audit any of it CALLING A BOARD you your router a chip you own a text file you can open and read that is the entire list

The left-hand column is not a conspiracy. Every box on it exists for a reason somebody could defend, and most of them were added by decent engineers solving a real problem. It is simply what a modern service is made of, and the effect of all those reasonable decisions together is that you cannot say who holds what about you, or for how long, or what it will be used for next year.

The right-hand column has no boxes to add. There is no account system to breach, no analytics to leak, no retention policy to change, no company to be acquired by somebody with different ideas. What is not built cannot be exploited, and what was never collected cannot be handed over.

Freedoms gained

None of this is granted to you. It is what is left when there is nobody in the middle: no company, no platform, no landlord. Every item below is something you cannot have on a service at any price, because the service's business depends on you not having it.

Nobody has to say yes

No application, no review, no waiting list, no API key, no app store, no terms you agree to by scrolling past them. You buy a board that costs about $15, you flash it, and it is running. There is no step in that sequence where somebody else decides whether you are allowed, because there is nobody else in it.

It works with no internet at all

A board needs no cloud, no domain and no hosting company. Stand it up on an office network, a phone hotspot, a mesh, or a switch in a room with no uplink, and anybody on that network calls it exactly as they would over the wire. A school, a hackerspace, a campsite, a festival, a boat, a basement. When the line to the outside world goes down, or was never there, it is the same board.

It fits in a pocket and runs off a battery

The whole system is a chip the size of a postage stamp and a USB cable, drawing about a tenth of an amp. A phone charger runs it, and so does a power bank or a car socket. You can carry a community in a coat pocket and stand it up wherever you are, which is not something anybody says about a server.

It does not announce itself as anything

No rack, no fan noise, no sign on the door, nothing to explain to anybody. A board is a small circuit board on a shelf, indistinguishable from the other things somebody has left plugged in. That is discretion of the object and not of the wire: telnet is plain text (SSH, on an ESP32-S3 board, is not), anybody on the path between a caller and the board can read it, and the privacy page goes through what that does and does not mean. What hides in plain sight is the machine.

Nobody can deplatform you

No account to suspend, no host to complain to, no payment processor to lean on, no app store to delist you from, no head office to write to about you. The board is a chip you own on a connection you pay for. The only person who can switch it off is you, and the only thing that can take it down is the electricity bill.

You write the rules, and you are the appeal

No terms of service drafted by somebody else's lawyers, no content policy that changes next quarter, no decision handed down by a department you cannot reach. You decide what the board is called, what it is for, who is welcome and what is allowed. The old answer to anybody who disagreed was that they could go and run their own, and here that is not a brush-off. It is an afternoon and a USB cable.

Nobody is mining it

No analytics, no telemetry, no engagement metric, no recommendation engine, no advertiser, no model being trained on what you said. Nothing ranks the conversation, because nothing is reading it. It works like radio rather than like a service: what is said in the room is heard by whoever is in the room, and nothing is filed away somewhere you cannot reach.

Nobody checks who you are

A guest types a handle and nothing else, gets fifteen minutes, and no account is kept. Signing up asks for a password, a name and an email address, and none of it is verified: the board cannot send email, so there is no confirmation link and no code to type back. The phone number on the form is optional. No identity is being assembled anywhere. Being unknown to a system is the ordinary condition of being a person, and it should not take effort.

What you keep is what you chose to keep

Mail sits on the chip until the caller it was sent to reads it and says whether to keep it, reply to it or delete it, and it expires on its own after a fortnight either way. There is no copy in a data centre, no backup nobody mentioned, no "deactivated but retained for legitimate business purposes". Wipe the flash and it is gone. Forgetting is the default, which is how conversation worked for the whole of human history until about twenty years ago.

You can read every line of it, and change any of them

It is free software under the GPL. Not source-available, not "open" with a licence that revokes itself if you compete: free. Read it, change it, run the changed version, give it to somebody else. If this project goes somewhere you hate, take the last version you liked and carry on without asking.

It keeps working when nothing else does

No certificate to renew, no API to be deprecated, no subscription to lapse, no company to be acquired and shut down. Leave the board in a drawer for a year, plug it in, and it answers, because there is nothing at the other end that has to still exist. Software that outlives the company that made it used to be ordinary.

You can be found, or not, entirely as you choose

List the board in a directory and strangers can call it. Leave it off and it exists only for the people you tell. Take it off the internet and it serves your own house. Nobody makes that decision but you, and nothing decides how visible you are once you have made it.

The power is in your hands, literally

You flash the firmware. You set the password. You decide who gets a handle, what the board is called, what the rules are, and whether it is on the internet at all. You can read every line of the software before you trust it, and change the parts you disagree with, and nobody can stop you, because the licence says so and the source is right there.

If you switch it off, it is off. Nobody else gets a say in that.

Not "your account is deactivated but we retain your data for legitimate business purposes". Pull the plug and the chip stops answering. Wipe the flash and the user list is gone.

Honest about the limits

Open communication over the internet is radio. You transmit, whoever is on the channel hears you, and that is the whole of it. A walkie-talkie, not a sealed envelope. Telnet has no encryption, because many of the machines this is built for could not carry it. A board on an ESP32-S3 also takes SSH, from firmware 1.1.2, and that is the sealed envelope, for every caller whose computer can use it: how to connect with SSH.

Somebody has to be trying. Being able to listen is not the same as listening. It takes a packet sniffer or the equivalent, placed somewhere on the path between a caller and the board. The board decides who hears what; the wire carries it in the clear. If the radio is not switched on and tuned in, nobody heard you.

The real risk is low and it is not zero, and the comparison is the point. These are public conversations. What would you say in a bar, or in a coffee house, knowing the next table can hear? Now weigh that against a website that records and ranks everything you do by design. A board is the bar. Yes, somebody could be parked outside with equipment, and for almost everybody that is an edge case. Saying so is more honest than implying it is either safe or dangerous.

So: say what you would say in public, and use a password you use nowhere else. If a conversation has to survive somebody watching the link, call an ESP32-S3 board over SSH, put the board behind a VPN, or leave it on the local network. Privacy you can explain in one sentence beats privacy you have to take on faith.

Read about the real risks of open communications

Small on purpose

One static binary. Sessions and buffers laid out when the board starts, a fixed memory budget on a chip with 520 KB of RAM. No web stack, no scripting runtime, two pinned libraries on top of Espressif's own framework rather than a package tree to audit at two in the morning, no telemetry, no update that arrives without you. What is not built cannot be exploited, and what fits in one head can be trusted by the person whose head it fits in.

Serial did not die

RS-232 was standardised by the EIA in 1960. It still runs the console and management ports on network equipment, industrial controllers and test gear, and its framing survives on nearly every microcontroller made since as a TTL-level UART. More than sixty years on, the way a machine from 1982 talks is still the way you talk to the switch in the rack. That is why an Apple II, a VT220 on a serial line and a laptop bought this year can all call one of these boards, and why a board can turn round and drive whatever is hanging off its own serial port.

Why the micro sign

Because it runs on a microcontroller, and because microcomputers are what put computing into the hands of people who were never going to be given time on a mainframe. The Altair 8800 in 1975, then the Apple II, the Commodore PET and the TRS-80 in 1977, took the computer out of the raised-floor room that somebody else controlled and put it on a kitchen table. This is the same move, one more time, on a chip you can lose in a drawer. Where the symbol cannot be shown, it is written unleashed.

In 1989 I was working on IBM 4381 mainframes. I have stood inside the raised-floor room, and the point is that it was somebody else's room. You booked time on that machine. You did not own it, you could not take it home, and what you were allowed to do with it was decided by people who were not you.

— QuantumRob

You can do this today

Not as a re-enactment: as a live system with callers on it tonight. Flash a board, give it your Wi-Fi, forward one port on your router, and you are running a public BBS. No hosting bill, no domain required, no provider to ask permission from, no account with anybody. A chip on a shelf and one line in your router.

Why you might, in short: a classroom, a club, an office, a shelf in your own house, and the fact that on your own board you answer to nobody. There is more on who it's for.

The source, the documentation and the build instructions are here. It is free software under the GNU General Public License, version 3 or later.

How it was built

I built this with Claude, and I want that said plainly rather than left for somebody to work out. I have spent thirty years writing software and I could have written this alone. What I did not have was the time. A BBS, a directory server, a protocol and the documentation for all three do not come out of the evenings left over after a working week.

The decisions are mine: what it should be, what it should refuse to do, what goes in and what stays out. A great deal of the typing is not, and quite a lot of the arguing was two-sided. Credit where it is due.