• Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.

Music Player with NFC using Raspberry Pi and .NET

W1zzard

Administrator
Staff member
Joined
May 14, 2004
Messages
24,344 (3.65/day)
Processor Core i7-8700K
Memory 32 GB
Video Card(s) RTX 3080
Display(s) 30" 2560x1600 + 19" 1280x1024
Software Windows 10 64-bit
Started work on a new side project: a portable music player for my daughter. Select song by placing a NFC token on the player, similar to Toniebox or Phoniebox

Will code a proper .NET application though, with web services, instead of a mix of Python + Shell scripts like some other solutions



Made good progress this weekend. Playback and switching between Internet Radio stations with NFC tags already works.

Red PCB on the left is the NFC reader, above it, green PCB is a Hifiberry Miniamp. The big PCB on the right side is a Raspberry Pi 4B

Incoming tomorrow is a USB battery pack, and an electronic MOSFET relay, so I can properly power off the whole thing on shutdown
 
Last edited:
Joined
Nov 20, 2013
Messages
5,255 (1.65/day)
Location
Kiev, Ukraine
System Name WS#1337
Processor Ryzen 7 3800X
Motherboard ASUS X570-PLUS TUF Gaming
Cooling Xigmatek Scylla 240mm AIO
Memory 4x8GB G.Skill Ares OEM DDR4-3200 (B-die)
Video Card(s) Inno3D RTX 3070 Ti iChill
Storage Adata SX8200 Pro 1TB
Display(s) Samsung U24E590D (4K/UHD)
Case ghetto CM Cosmos RC-1000
Audio Device(s) ALC1220
Power Supply SeaSonic SSR-550FX (80+ GOLD)
Mouse Logitech G603
Keyboard Modecom Volcano Blade (Kailh choc LP)
Software Windows 10, Ubuntu 20.04 LTS
Did you have to beat down a few scalpers for that 4B, W1zz? :D

Cool project. Do you run Windows IoT? I tried it once - wasn't my bag of beans ))))
 

W1zzard

Administrator
Staff member
Joined
May 14, 2004
Messages
24,344 (3.65/day)
Processor Core i7-8700K
Memory 32 GB
Video Card(s) RTX 3080
Display(s) 30" 2560x1600 + 19" 1280x1024
Software Windows 10 64-bit
Did you have to beat down a few scalpers for that 4B, W1zz? :D
I simply bought it online in a shop here in Germany for 50 Euros. Not a lot of stock around though it seems.

Do you run Windows IoT?
Nah, Linux all the way. Will strip down the boot process though to save on boot time. Little girls can be impatient :)
 

Solaris17

Dainty Moderator
Staff member
Joined
Aug 16, 2005
Messages
23,116 (3.72/day)
Location
Washington
System Name Stardust
Processor I9 12900
Motherboard NUC12EDBi9
Cooling Proprietary
Memory 64GB Mushkin Redline DDR4 3200mhz
Video Card(s) Nvidia Titan RTX
Storage 1x 250GB 960 EVO | 1x 500gb Intel 720p | 1x 8TB Corsair MP400
Display(s) 3x Gigabyte M28U (4k IPS)
Case Little bitty itty NUC 12 Extreme case
Audio Device(s) Schiit Hel 2 on ATH-R70x's
Power Supply FSP 650w
Mouse Roccat Kone AIMO (White)
Keyboard Ducky One 3 Pure White
VR HMD HTC VIVE
Software Windows 11 x64 Pro
Please review this on the blue table.
 
Joined
Mar 21, 2021
Messages
2,456 (4.76/day)
Location
Colorado, U.S.A.
System Name HP Compaq 8000 Elite CMT
Processor Intel Core 2 Quad Q9550
Motherboard Hewlett-Packard 3647h
Memory 16GB DDR3
Video Card(s) NVIDIA GeForce GT 1030 GDDR5 (fan-less)
Storage 2TB Seagate Firecuda 3.5"
Display(s) Dell P2416D (2560 x 1440)
Power Supply 12V HP proprietary
Software Windows 11 Pro 64-bit
Might not be the right place to ask, but what is the progress with Windows 11 ARM on the Raspberry Pi?
 

W1zzard

Administrator
Staff member
Joined
May 14, 2004
Messages
24,344 (3.65/day)
Processor Core i7-8700K
Memory 32 GB
Video Card(s) RTX 3080
Display(s) 30" 2560x1600 + 19" 1280x1024
Software Windows 10 64-bit
Progress update:


USB battery pack (20000 mAh) can power this for 30 hours. I tested with less than half-full and it ran over 10 hours
Got me some little speakers, which sound worse than I expected t.t, ordered bigger ones
Added a rotary encoder for volume control. The existing libraries are surprisingly bad and either require polling, miss pulses or generate fake pulses from noise/bouncing. Ended up writing my own interrupt-driven library using a state-machine

Next: look into power on/off capability using MOSFETs
 

W1zzard

Administrator
Staff member
Joined
May 14, 2004
Messages
24,344 (3.65/day)
Processor Core i7-8700K
Memory 32 GB
Video Card(s) RTX 3080
Display(s) 30" 2560x1600 + 19" 1280x1024
Software Windows 10 64-bit


First super ghetto prototype. Works really well

- Switched from Raspberry Pi 4 to Pi Zero 2W for the lower power consumption/longer battery life
- Web interface using .NET core working great. Upload MP3 working perfectly.
- Added shairport-sync so the player appears as AirPlay audio device on the network. Everything played back is automatically recorded and can be saved into replayable tracks
- Found some bugs in the .NET IOT button debounce code, issue opened on Github so they can add my fix

Next:
- Build a prototype wooden case to get a feel for what's usable in dimensions, then look into 3D printing a case
- Add Atmel Microcontroller for power management (Raspberry cannot power off on its own)
- Look into how to improve durability of print on these cards
- Find a knob for the rotary dial
- Look into buildroot to build a custom linux that boots as quickly as possible
 
Top