smallest.space web radio
A simple, uni-tasking device for playing back an internet radio stream from the internet… This device can be connected to a small speaker, headphones, or in line-out mode.
The device
The web radio has these features:
- Is setup and configured with a web radio streaming URL and WiFi credentials
- On startup, connects to the configured wireless network
- When on, streams the web radio station over WiFi
- Outputs audio to either
- Small internal speaker
- 3.5mm headphone jack in line-out mode (no volume control, intended for output to an amp or powered speaker)
- 3.5mm headphone jack in headphone mode (volume controls)
- A combination of the small internal speaker AND one of the 3.5 jack modes (line-out or headphone)
- Volume control
- Mute button
- On/Off switch
- Button to reset device (hold for > 5 seconds until white status light blinks)
- Button for restarting device
Setup
To setup the device, you’ll need either the iOS app or the Android app.
After download the app and opening it on your phone / tablet, you’ll be prompted for one ore more permissions - for whatever it’s worth, the reason the app asks for permission is because it uses bluetooth to connect to the web radio device. To make this easier, it scans for local bluetooth devices to look for a smallest.space device. Although the app only is looking for smallest.space devices the app can see all local devices and these could be used to triangulate your location. For this reason (and it is a good reason) Android and iOS require this permission.
After granting permission, make sure your device is plugged in with a USB-C cable to a wall outlet. The device doesn’t require much power, but if you’re having issues getting the device setup it might be worth trying a different USB-C power adapter.
The power LED should be on, and the white LED labeled status should begin to blink, indicating the device is in setup mode. From there, if you open the iOS/Android app you should be able to follow the instructions there to get your device setup.
If you’re having issues, resetting the device back to factory (aka my desk!) settings is a good step to take - see “Changing settings (reset)” below
Options
Web stream URL
Note when you’re setting up the device you’ll have an opportunity to choose a different web streaming URL. This is the only opportunity you’ll have to set this, changing the URL requires resetting the device (it’s a quick process but does require entering your WiFi details again so be warned!).
The device supports MP3 and ACC streaming formats. Other formats may be supported, but are untested.
Changing settings (reset)
If your device is not working (not connected to the network, audio is not playing) or if you’d like to change the URL the device is streaming from, resetting the device and going through the setup flow again is a good (and if I’m honest, the only!) troubleshooting step. The button labeled reset (see below) can be held for > 5 seconds, and you should see the status light begin to blink quickly indicating the device is being reset.
(likely obvious, but you need to have the device plugged in and powered to be able to reset it)
Troubleshooting
What does the status light mean?
The status light can be used to tell you the following info:
| Pattern | Meaning |
|---|---|
| Slow blink (500ms on/off) | Provisioning mode - waiting for BLE client to connect |
| Double blink with pause (100ms on, 100ms off, 100ms on, 100ms off, 700ms pause) | BLE client connected - provisioning in progress |
| Fast blink (100ms on/off) | Factory reset in progress |
| Solid on | WiFi connected / audio streaming |
What does the other light labeled power tell me?
This LED just tells you if there is power coming into the device. If this is not lit, then either the on / off switch is set to the off position (and so the device is off!), or the device is not plugged in, or the USB-C cable or power adapter are bad or incompatible, or (hopefully not this one) the device is dead.
Read more
Read more about the implementation of this project below.