Most attempts to give a small child a phone end up either with a toy that does nothing or with a real handset that can do far too much. Allan Binder's "kid-phone" sits between the two. It is a handset with a few lit arcade buttons that calls a short list of family members and nothing else. Nobody can call it. Hackaday covered the build on 3 November 2026, the same day the Hackaday.io project page was created. The firmware is on GitHub under the Apache 2.0 licence, and there is a step-by-step build guide on the author's site, Muon Sortes.

First, the status, since the category label could mislead. This is not a product you can buy. It is a free, open-source build guide with a parts list. In the guide's own words, "There is no kit for this one."

The architecture: the microcontroller is the USB host

The interesting engineering choice is which way round the USB link goes. The handset is not a custom board wired to a codec. It is a commercial retro-style telephone handset with a USB-C connector and its own USB audio chip, so the ESP32-S3 has to act as the USB host. According to the project page and the README, the handset enumerates as "AB17X USB Audio" with VID:PID 001f:0b23 and offers 48 kHz stereo. The README names it as a LIXADA retro telephone handset, a USB Audio Class device. The build guide lists a handset of this kind at about $8 and names the tested chip as AB17X.

On the network side, the ESP32-S3 runs what the author calls a minimal SIP client over Wi-Fi. It sends a SIP INVITE with digest authentication to a Twilio SIP Domain in the parent's own Twilio account. A Twilio Function then checks the allowlist and dials the real phone number. Audio runs as G.711 mu-law at 8 kHz, carried as RTP over UDP. Twilio is the provider this build uses; Hackaday notes that other internet telephony providers could be used in principle.

Dialling is purely physical. Each contact gets an arcade button on its own GPIO. Hackaday reports that the illuminated buttons follow each contact's time zone, so the child learns that a lit button means it is fine to call. The README describes this as an optional availability light and schedule per button.

Bill of materials, as the guide states it

All prices below are as listed in the Muon Sortes guide on 3 November 2026, in US dollars:

  • Board: ESP32-S3 N16R8 dev board with two USB-C ports, labelled COM and USB. $25 for two. N16R8 means 16 MB flash and 8 MB PSRAM.
  • Handset: USB-C telephone handset with a USB audio chip, about $8. Tested chip: AB17X.
  • Buttons: lit 60 mm arcade buttons, $19 for five. The guide notes that the 12 V lamp still lights at the board's 3.3 V.
  • Wiring: jumper wires, $4.50.
  • Service: your own Twilio account and one US number, about $2 to $3 a month, plus about $20 up front to upgrade the account.

The guide puts total parts at about $30 to $50, or about $50 as a single Amazon cart. The author says his own build came to about $25. The guide covers up to four buttons. The README says four come out of the box and the firmware supports up to 24, one per person. The guide states that the author earns an Amazon affiliate commission on the parts links.

Power is deliberately simple. There is no battery, and the phone runs from a USB-C charger plugged into the COM port. The only soldering is one blob bridging the board's USB-OTG pad. The guide also gives one clear warning: never plug a computer into the USB port, because that port pushes 5 V out. A printed case is listed as "coming soon" in the form of STL files.

Where it got hard

The Hackaday.io write-up is most useful to embedded developers for the problems it documents. Three stand out.

The 384-byte endpoint. The ESP-IDF USB host defaults failed on the handset's earpiece endpoint, which has a 384-byte maximum packet size. The author fixed this by setting CONTROL_TRANSFER_MAX_SIZE to 1024 and using a custom FIFO split: non-periodic TX 16, periodic TX 96 and RX 88, out of 200 lines. Anyone pointing an ESP32-S3 at a USB Audio Class device with large packets will want those numbers.

NAT and early media. Twilio's answerOnBridge setting had to be turned off for audio to work from behind a home NAT. With it on, all audio vanished.

Twilio error 13225. According to the project page, this error ("number is blacklisted") affects Twilio accounts created outside the US and Canada that have only an individual profile: calls to +1 numbers are blocked unless they are on the approved list. Builders outside the US should check their Twilio account type before ordering parts.

Setup without a toolchain

The README describes setup for a non-technical parent as needing no toolchain. You flash the firmware from Chrome or Edge through a browser installer, then enter Wi-Fi credentials, which the Hackaday.io page says uses Improv WiFi. After that, you browse to kidphone.local and paste in your Twilio Account SID and Auth Token. The phone provisions the Twilio side itself, including the SIP Domain and the Function that holds the allowlist. It then keeps only a restricted API key. The guide and README both say the Auth Token is used once and then forgotten.

The README describes one extra feature: a button can be set to record a "secret message" as a WAV file and email it over SMTP. The guide says calls are not recorded.

The safety boundary

The guide is explicit that this is "not an emergency phone," and says it should not be relied on to reach emergency services. That follows from the design. The phone can reach only numbers on the allowlist in the Twilio Function, it has no battery, and it depends on home Wi-Fi and a third-party VoIP account. Those same limits are what make it suitable for a toddler: it cannot be called by strangers, it cannot dial an arbitrary number, and it does not record calls.

What It Means for Makers

For parents who tinker, this is an evening's build by the guide's account, one that gives a young child a real voice line to grandparents without a smartphone or an app. The total cost is about $30 to $50 in parts by the guide's estimate, plus about $2 to $3 a month for a Twilio number and an upfront upgrade of about $20. Educators could use it as a compact, real-world example of SIP signalling, RTP and G.711 that students can hold in their hands.

For embedded engineers, the reusable part is the USB host audio work. The project shows an ESP32-S3 driving an off-the-shelf USB Audio Class handset and documents the exact ESP-IDF changes that the 384-byte endpoint required. The author notes that this removes the need for any codec, amplifier or analogue audio on the board, and the same approach could plausibly suit intercoms, door phones or other single-purpose voice devices. The trade-off is a hard dependency on Twilio, and on the right kind of Twilio account outside the US.

Availability as of 3 November 2026: the firmware is on GitHub under Apache 2.0, the build guide on Muon Sortes is free, and parts are bought separately. Nothing is sold as a kit, and the printed-case STL files are listed as coming soon.

Sources