Skip to content

A small simple to use internet radio based around the ESP32

Notifications You must be signed in to change notification settings

AllanGallop/mini-web-radio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Version 2 now Available!

Mini Web Radio

Originally designed as a charity project, the MWR is a simple single-station battery powered internet radio. The design features a combined power-volume dial and 3.5mm headphone socket, utilising a 3D printed case and is based around:

  • WeMos Lolin32 Lite (ESP32)
  • MAX98357A I2S DAC Amplifier
  • 18650 Lithium Battery

This project has now largely been replaced by Version 2 which introduces multiple channels, stereo audio and a single board design. However if you prefer to use off the shelf components then stick with Version 1!


Picture


Documents


Construction

Hardware assembly instructions available via Instructables


Configuration

The MWR has built-in browser based configuration which allows you to define the Hostname, Wireless network credentials and the playback URL.

Enable Configuration mode

  1. Switch Off MWR
  2. Open Faceplate
  3. Install jumper (2.54mm) or short pins 13 and 15
  4. Turn On MWR
  5. Connect to MWR-WIFI-SETUP network
  6. Remove Jumper
  7. Navigate browser to 192.168.1.1
  8. Enter configuration Details and select Save
  9. The MWR will automatically restart into radio mode and begin playback


Use SPIFF Files
Alternatively you can enter configuration details directly into the configuration files (host, ssid, pass, url) located in the data directory, this is preferred when mulitiple units require setup.

Firmware

Code for both the Arduino IDE and Plaform.io are included under the firmare directory


Arduino IDE

For Arduino 2.x & ESP32 2.x make sure to update line 65 of MWR.ino, EDIT: Don't use IDE 2.x, the ESPAsyncWebsever library has issues with it and lacks a SPIFFS upload tool

Build team: please use Arduino IDE 1.8.16 with ESP32 lib 1.0.6

  1. Download and install the following libaries:

  2. Download and install the following Tools:

  3. Add the Additional Board URL to the IDE properties (File > Preferences)

    https://raw.github.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

  4. Using the Board Manager add the board esp32 - by Expressif Systems (Tools > Board Manager)

  5. Select the board: Lolin32 Lite


Enclosure

Files for 3D printing the shell, face and dial are provided in the CAD directory. The enclosure uses a snaplock design to secure the face to the shell which can be difficult to lock into place initially, a small screw driver or spudger can make it easier to pry it open and closed.

Print Settings:

These are just the settings that have worked for me, your milage may differ

  • 0.4mm Nozzle
  • 0.2mm Layer Height
  • 5% Infill
  • 1.75mm PLA+ Filament

Battery Initialisation

Applies only to v1.0 hardware using DW01A battery protection

The protection module is tpyically set to "tripped" state from factory, requiring user to provide power first before the battery is usable. Connecting the USB cable while the volume dial is in the ON state will reset the module.


Schematic

Schematic Preview

About

A small simple to use internet radio based around the ESP32

Resources

Stars

Watchers

Forks

Packages

No packages published