Kidsbox

This is a battery-powered rfid-tag-controlled audio player meant to be used by kids. You can bundle audio-files to rfid tags and let your kids choose the music or audiobook of their favour by placing the corresponding tag atop of the box.

Todo

  • Volume buttons
  • Playlists
  • Pausing
  • ... I have a lot of ideas :)

Setup

  1. Install ESP-ADF and ESP-IDF according to the install guide.
  2. Clone this repository and cd into the repository directory.
  3. git submodule init --recursive
  4. cd device
  5. Make sure that you have idf.py available in your environment. This is described in the install guide.
  6. Execute idf.py build to compile, idf.py build flash monitor to flash it to your board.

Hardware

Parts

TBD

Part Links
ESP32-LyraT 4.3 Mouser

Hardware Setup

The peripherals must be configured for:

  • SD Card
  • RFID-module
  • Vol+/- buttons

The ESP32-LyraT board has only a few exposed GPIO pins. To save pins, the SD-Card reader runs only in 1-Wire mode. I have actually no idea what the limitations and differences are, but I didn't encounter any problems yet.

DIP-Switch

The switches must be exatly in the positions outlined in the table.

Number Setting Purpose
1 OFF Disconnects GPIO 12 from SD-D2
2 OFF Disconnects GPIO 13 from SD-D3
3 OFF Connects GPIO 15 to SD CMD
4 ON Connects GPIO 13 to the JTAG header
5 ON Connects GPIO 12 to the JTAG header
6 OFF Connects GPIO 13 to SD CLK
7 OFF Disconnects GPIO 12 from the AUX-in-detection
8 OFF -

RFID

The MISO/MOSI pins are not inverted on host/chip

Connection Table:

RC522 Pin ESP32 Lyrat v4.3 Pin GPIO Number
3.3v 3.3v -
RST 3.3v -
GND GND -
SDA I2C SDA 18
SCK I2C SCL 23
MOSI JTAG MTCK 13
MISO JTAG MTDI 12
Description
A free and open audioplayer for kids, based on the ESP-Lyrat audio board
Readme 3.2 MiB
Languages
C 61.4%
C++ 33.8%
CMake 1.9%
JavaScript 1%
HTML 1%
Other 0.9%