{"id":2252,"date":"2018-03-12T15:26:48","date_gmt":"2018-03-12T14:26:48","guid":{"rendered":"http:\/\/www.dotmana.com\/weblog\/?p=2252"},"modified":"2018-03-28T19:26:24","modified_gmt":"2018-03-28T17:26:24","slug":"ikea_diy_webradio","status":"publish","type":"post","link":"http:\/\/www.dotmana.com\/weblog\/2018\/03\/ikea_diy_webradio\/","title":{"rendered":"IKEA DIY FIP Webradio"},"content":{"rendered":"<h1><a href=\"http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80311-173359.resized.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-2293\" src=\"http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80311-173359.resized-1024x758.jpg\" alt=\"\" width=\"584\" height=\"432\" srcset=\"http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80311-173359.resized-1024x758.jpg 1024w, http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80311-173359.resized-300x222.jpg 300w, http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80311-173359.resized-768x569.jpg 768w, http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80311-173359.resized-405x300.jpg 405w, http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80311-173359.resized.jpg 1280w\" sizes=\"auto, (max-width: 584px) 100vw, 584px\" \/><\/a><\/h1>\n<p>We love to listen to <a href=\"https:\/\/www.fip.fr\/\" target=\"_blank\" rel=\"noopener\">FIP<\/a>, as it&#8217;s a public radio, without commercials and not so much speaking.<br \/>\nUnfortunately, this radio is FM brodcasted in only few city in France, and here in Grenoble, the only way to get is internet.<\/p>\n<p>So we built this small kitchen radio, music playing in 14 seconds, and quite pleasantly aesthetic, in the same line as my previous <a href=\"http:\/\/www.dotmana.com\/weblog\/2015\/02\/simple-cnc-desktop-router-workflow-and-example\/\">nixie clock.<\/a><\/p>\n<p>The large solid aluminium knob with amplifier pot ON\/OFF produces a comforting click to power ON\/OFF the device or adjust the volume.<br \/>\nThe shiny stainless steel button is for future upgrade to allow changing from few radio as currently only one is available.<\/p>\n<h1>Hardware part<\/h1>\n<p>Here are almost all the items needed for this DIY hack:<\/p>\n<p><a href=\"http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80224-155136.resized.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2290 size-large\" src=\"http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80224-155136.resized-1024x758.jpg\" alt=\"\" width=\"584\" height=\"432\" srcset=\"http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80224-155136.resized-1024x758.jpg 1024w, http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80224-155136.resized-300x222.jpg 300w, http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80224-155136.resized-768x569.jpg 768w, http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80224-155136.resized-405x300.jpg 405w, http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80224-155136.resized.jpg 1280w\" sizes=\"auto, (max-width: 584px) 100vw, 584px\" \/><\/a><\/p>\n<ul>\n<li>Ikea box (4\u20ac)<\/li>\n<li>4&#8243; coax speaker (scrap)<\/li>\n<li>1&#8243; tweeter (3\u20ac on AE)<\/li>\n<li>Rpi 3b (40\u20ac on Farnell)<\/li>\n<li>USB sound card (5\u20ac on AE)<\/li>\n<li>Stereo 5V amplifier (1\u20ac on AE)<\/li>\n<li>aluminium knob (5\u20ac on AE)<\/li>\n<li>stainless steel push button (1\u20ac on AE)<\/li>\n<li>C5 pannel connector for main supply (0.1\u20ac on AE)<\/li>\n<li>USB wall wart (scrap)<\/li>\n<li>piece of 5mm plywood (scrap)<\/li>\n<li>speaker fabric for front pannel (4\u20ac on AE)<\/li>\n<li>30cm of leather belt (scrap)<\/li>\n<li>washed nuts (1\u20ac on AE)<\/li>\n<\/ul>\n<p>A total of about 60\u20ac<\/p>\n<h2>Step by step assembly<\/h2>\n<p><a href=\"http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80224-155242.resized.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2287 size-large\" src=\"http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80224-155242.resized-1024x758.jpg\" alt=\"\" width=\"584\" height=\"432\" srcset=\"http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80224-155242.resized-1024x758.jpg 1024w, http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80224-155242.resized-300x222.jpg 300w, http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80224-155242.resized-768x569.jpg 768w, http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80224-155242.resized-405x300.jpg 405w, http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80224-155242.resized.jpg 1280w\" sizes=\"auto, (max-width: 584px) 100vw, 584px\" \/><\/a>Let&#8217;s remove the USB sound card along with the extra not needed capacitors and jack connector (desoldering station is realy a must here)<\/p>\n<p><a href=\"http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80224-164845.resized.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2282 size-full\" src=\"http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80224-164845.resized.jpg\" alt=\"\" width=\"711\" height=\"960\" srcset=\"http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80224-164845.resized.jpg 711w, http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80224-164845.resized-222x300.jpg 222w\" sizes=\"auto, (max-width: 711px) 100vw, 711px\" \/><\/a><\/p>\n<p>Make a slot for the micro SD card on the back: remember, the Wifi credential are stored here.<\/p>\n<p>A XY table on a drill press was usefull, I didnt imagine bamboo being so hard to mill.<a href=\"http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80224-172529.resized.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2289 size-large\" src=\"http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80224-172529.resized-1024x758.jpg\" alt=\"\" width=\"584\" height=\"432\" srcset=\"http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80224-172529.resized-1024x758.jpg 1024w, http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80224-172529.resized-300x222.jpg 300w, http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80224-172529.resized-768x569.jpg 768w, http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80224-172529.resized-405x300.jpg 405w, http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80224-172529.resized.jpg 1280w\" sizes=\"auto, (max-width: 584px) 100vw, 584px\" \/><\/a><\/p>\n<p>Piece of leather bought in Texas, this is what&#8217;s left from my buckle-less belt I made few years ago, it could be an entry someday.<a href=\"http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80224-182810.resized.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2284 size-full\" src=\"http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80224-182810.resized.jpg\" alt=\"\" width=\"711\" height=\"960\" srcset=\"http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80224-182810.resized.jpg 711w, http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80224-182810.resized-222x300.jpg 222w\" sizes=\"auto, (max-width: 711px) 100vw, 711px\" \/><\/a><\/p>\n<p>With the washer nuts, it look nice.<a href=\"http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80224-182758.resized.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2286 size-full\" src=\"http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80224-182758.resized.jpg\" alt=\"\" width=\"711\" height=\"960\" srcset=\"http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80224-182758.resized.jpg 711w, http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80224-182758.resized-222x300.jpg 222w\" sizes=\"auto, (max-width: 711px) 100vw, 711px\" \/><\/a><\/p>\n<p>The C8 pannel connector, wired to the wall wart.<\/p>\n<p><a href=\"http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80311-133930.resized.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2288 size-large\" src=\"http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80311-133930.resized-1024x758.jpg\" alt=\"\" width=\"584\" height=\"432\" srcset=\"http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80311-133930.resized-1024x758.jpg 1024w, http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80311-133930.resized-300x222.jpg 300w, http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80311-133930.resized-768x569.jpg 768w, http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80311-133930.resized-405x300.jpg 405w, http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80311-133930.resized.jpg 1280w\" sizes=\"auto, (max-width: 584px) 100vw, 584px\" \/><\/a><\/p>\n<p>Everything fitted in the box, held in place with double side tape (the brand Multicomp from Farnell is nice).<\/p>\n<p>Adhesive rubber feet add an extra touch.<\/p>\n<p><a href=\"http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80311-172009.resized.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2292 size-large\" src=\"http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80311-172009.resized-1024x758.jpg\" alt=\"\" width=\"584\" height=\"432\" srcset=\"http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80311-172009.resized-1024x758.jpg 1024w, http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80311-172009.resized-300x222.jpg 300w, http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80311-172009.resized-768x569.jpg 768w, http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80311-172009.resized-405x300.jpg 405w, http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80311-172009.resized.jpg 1280w\" sizes=\"auto, (max-width: 584px) 100vw, 584px\" \/><\/a><\/p>\n<p>Piece of plywood for the front panel, black mate painted, with the speaker cloth.<a href=\"http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80311-172516.resized.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2291 size-large\" src=\"http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80311-172516.resized-1024x758.jpg\" alt=\"\" width=\"584\" height=\"432\" srcset=\"http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80311-172516.resized-1024x758.jpg 1024w, http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80311-172516.resized-300x222.jpg 300w, http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80311-172516.resized-768x569.jpg 768w, http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80311-172516.resized-405x300.jpg 405w, http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80311-172516.resized.jpg 1280w\" sizes=\"auto, (max-width: 584px) 100vw, 584px\" \/><\/a><\/p>\n<p>Held in place with thin double side tape.<a href=\"http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80311-173359.resized.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2293 size-large\" src=\"http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80311-173359.resized-1024x758.jpg\" alt=\"\" width=\"584\" height=\"432\" srcset=\"http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80311-173359.resized-1024x758.jpg 1024w, http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80311-173359.resized-300x222.jpg 300w, http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80311-173359.resized-768x569.jpg 768w, http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80311-173359.resized-405x300.jpg 405w, http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80311-173359.resized.jpg 1280w\" sizes=\"auto, (max-width: 584px) 100vw, 584px\" \/><\/a><\/p>\n<h1>Finish<\/h1>\n<p>Let&#8217;s add a small tag to give some identity to this yet unbranded product. A nice friendly name, with our initials to personalize it even more.<\/p>\n<p>Warm up kicad and start just a PCB without schematics, with a beveled edge to add a touch of design:<a href=\"http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/Screenshot-from-2018-03-22-11-58-30.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-2312\" src=\"http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/Screenshot-from-2018-03-22-11-58-30-1024x538.png\" alt=\"\" width=\"584\" height=\"307\" srcset=\"http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/Screenshot-from-2018-03-22-11-58-30-1024x538.png 1024w, http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/Screenshot-from-2018-03-22-11-58-30-300x158.png 300w, http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/Screenshot-from-2018-03-22-11-58-30-768x403.png 768w, http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/Screenshot-from-2018-03-22-11-58-30-500x263.png 500w, http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/Screenshot-from-2018-03-22-11-58-30.png 1920w\" sizes=\"auto, (max-width: 584px) 100vw, 584px\" \/><\/a><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-2311\" src=\"http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/Screenshot-from-2018-03-22-12-00-05-1024x538.png\" alt=\"\" width=\"584\" height=\"307\" srcset=\"http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/Screenshot-from-2018-03-22-12-00-05-1024x538.png 1024w, http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/Screenshot-from-2018-03-22-12-00-05-300x158.png 300w, http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/Screenshot-from-2018-03-22-12-00-05-768x403.png 768w, http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/Screenshot-from-2018-03-22-12-00-05-500x263.png 500w, http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/Screenshot-from-2018-03-22-12-00-05.png 1920w\" sizes=\"auto, (max-width: 584px) 100vw, 584px\" \/><\/p>\n<p>The result is very good, with this mirror finish!<\/p>\n<p><a href=\"http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80328-100723.resized.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-2314\" src=\"http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80328-100723.resized-1024x758.jpg\" alt=\"\" width=\"584\" height=\"432\" srcset=\"http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80328-100723.resized-1024x758.jpg 1024w, http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80328-100723.resized-300x222.jpg 300w, http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80328-100723.resized-768x569.jpg 768w, http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80328-100723.resized-405x300.jpg 405w, http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80328-100723.resized.jpg 1280w\" sizes=\"auto, (max-width: 584px) 100vw, 584px\" \/><\/a><\/p>\n<p>Once glued on the product, it does raise the bar. (a pitty the manufacturing reference is on the front, next time I&#8217;ll do my artwork on the back, just to make sure it&#8217;s not on the front)<\/p>\n<p><a href=\"http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80328-183804.resized.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-2316\" src=\"http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80328-183804.resized-1024x758.jpg\" alt=\"\" width=\"584\" height=\"432\" srcset=\"http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80328-183804.resized-1024x758.jpg 1024w, http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80328-183804.resized-300x222.jpg 300w, http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80328-183804.resized-768x569.jpg 768w, http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80328-183804.resized-405x300.jpg 405w, http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80328-183804.resized.jpg 1280w\" sizes=\"auto, (max-width: 584px) 100vw, 584px\" \/><\/a> <a href=\"http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80328-183854.resized.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-2315\" src=\"http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80328-183854.resized-1024x758.jpg\" alt=\"\" width=\"584\" height=\"432\" srcset=\"http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80328-183854.resized-1024x758.jpg 1024w, http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80328-183854.resized-300x222.jpg 300w, http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80328-183854.resized-768x569.jpg 768w, http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80328-183854.resized-405x300.jpg 405w, http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/P80328-183854.resized.jpg 1280w\" sizes=\"auto, (max-width: 584px) 100vw, 584px\" \/><\/a><\/p>\n<p>A quick video:<\/p>\n<div style=\"width: 584px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-2252-1\" width=\"584\" height=\"329\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/V80328-184111.mp4?_=1\" \/><a href=\"http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/V80328-184111.mp4\">http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/V80328-184111.mp4<\/a><\/video><\/div>\n<h1><\/h1>\n<h1>Software part<\/h1>\n<h2>Download RPI image<\/h2>\n<p>Download a RPI image, in this case, I choose : <a href=\"http:\/\/pipaos.mitako.eu\/\">pipaOS A lighweight, fast, Raspbian based distro for the Raspberry PI<\/a><\/p>\n<p>Once the image unziped, copy to a fresh high performance micro SD card<\/p>\n<pre>sudo dd bs=4M if=.\/pipaos-tamarillo-4.7.img of=\/dev\/mmcblk0<\/pre>\n<p>in order to boost performances, I use a Samsung EVO+ for high performance for a very fast boot<\/p>\n<pre>ssh sysop@192.168.1.84 (password\u00a0posys)<\/pre>\n<h2>Connect to WIFI network<\/h2>\n<p>Rpi 3 rev B and Zero W have integrated wifi<\/p>\n<p>Edit WIFI credentials<\/p>\n<p>The file\u00a0\u00a0\/etc\/network\/interfaces should NOT be modified, as it&#8217;s overwritten at start.<\/p>\n<p>Edit the file<\/p>\n<pre>sudo nano \/boot\/network.ini<\/pre>\n<p>To add your credential:<\/p>\n<pre>#\r\n # interfaces - setup your networking devices here\r\n #\r\n\r\nauto lo\r\n iface lo inet loopback\r\n\r\nallow-hotplug eth0\r\n iface eth0 inet dhcp\r\n\r\nallow-hotplug usb0\r\n iface usb0 inet dhcp\r\n\r\n# pipaOS Will automatically try to connect\r\n # to wireless ESSID \"pipaos\" passphrase \"pipa123pass\"\r\n allow-hotplug wlan0\r\n iface wlan0 inet dhcp\r\n wpa-ssid\u00a0YOUR_SSSID\r\n wpa-psk YOUR_WIFI_KEY<\/pre>\n<h1>High quality\u00a0sound<\/h1>\n<p>Rasberry Pi have 3.5mm stereo jack output but the quality is pure crap, wondering why they even bother populate a jack.<\/p>\n<p>So lets connect\u00a0a cheap UBS sound card and check what appends<\/p>\n<pre>dmesg<\/pre>\n<p>sould display something like<\/p>\n<pre>[ 106.865142] usb 1-1.2: new full-speed USB device number 5 using dwc_otg\r\n [ 107.006372] usb 1-1.2: New USB device found, idVendor=0d8c, idProduct=0102\r\n [ 107.006387] usb 1-1.2: New USB device strings: Mfr=0, Product=2, SerialNumber=0\r\n [ 107.006395] usb 1-1.2: Product: USB Sound Device\r\n\r\n[ 107.042816] input: USB Sound Device as \/devices\/platform\/soc\/3f980000.usb\/usb1\/1-1\/1-1.2\/1-1.2:1.3\/0003:0D8C:0102.0002\/input\/input1\r\n [ 107.105630] hid-generic 0003:0D8C:0102.0002: input,hidraw0: USB HID v1.00 Device [USB Sound Device ] on usb-3f980000.usb-1.2\/input3<\/pre>\n<p>and<\/p>\n<pre>lsusb<\/pre>\n<p>will output:<\/p>\n<pre> Bus 002 Device 009: ID 0d8c:0102 C-Media Electronics, Inc. CM106 Like Sound Device\r\n Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub\r\n Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub<\/pre>\n<p>&nbsp;<\/p>\n<h1>Create startup service : webradio<\/h1>\n<pre>sudo apt-get install mplayer<\/pre>\n<pre>mplayer `curl -w \"%{url_effective}\\n\" -I -L -s -S http:\/\/direct.fipradio.fr\/live\/fip-midfi.mp3 -o \/dev\/null`<\/pre>\n<h2>Webradio player script<\/h2>\n<p>create non returning script:<\/p>\n<pre>sudo nano \/home\/sysop\/webradio.sh<\/pre>\n<pre>while true\r\n do mplayer http:\/\/chai5she.cdn.dvmr.fr:80\/fip-midfi.mp3\r\n sleep 1\r\n done<\/pre>\n<h2>create init.d service:\u00a0webradio<\/h2>\n<pre>#!\/bin\/bash\r\n #webradio daemon\r\n # chkconfig: 345 20 80\r\n # description: mwebradioapp daemon\r\n # processname:webradio\r\n\r\nDAEMON_PATH=\"\/\"\r\n\r\nDAEMON=\/home\/sysop\/webradio.sh\r\n DAEMONOPTS=\"\"\r\n\r\nNAME=myapp\r\n DESC=\"My daemon description\"\r\n PIDFILE=\/var\/run\/$NAME.pid\r\n SCRIPTNAME=\/etc\/init.d\/$NAME\r\n\r\ncase \"$1\" in\r\n start)\r\n printf \"%-50s\" \"Starting $NAME...\"\r\n cd $DAEMON_PATH\r\n PID=`$DAEMON $DAEMONOPTS &gt; \/dev\/null 2&gt;&amp;1 &amp; echo $!`\r\n #echo \"Saving PID\" $PID \" to \" $PIDFILE\r\n if [ -z $PID ]; then\r\n printf \"%s\\n\" \"Fail\"\r\n else\r\n echo $PID &gt; $PIDFILE\r\n printf \"%s\\n\" \"Ok\"\r\n fi\r\n ;;\r\n status)\r\n printf \"%-50s\" \"Checking $NAME...\"\r\n if [ -f $PIDFILE ]; then\r\n PID=`cat $PIDFILE`\r\n if [ -z \"`ps axf | grep ${PID} | grep -v grep`\" ]; then\r\n printf \"%s\\n\" \"Process dead but pidfile exists\"\r\n else\r\n echo \"Running\"\r\n fi\r\n else\r\n printf \"%s\\n\" \"Service not running\"\r\n fi<\/pre>\n<h2>Install startup service<\/h2>\n<pre>update-rc.d webradio defaults<\/pre>\n<h2>Start service manually<\/h2>\n<pre>sudo service webradio start<\/pre>\n<h1>Check startup time and performance<\/h1>\n<blockquote><p>Startup time with RPI 3 B:\u00a0Startup finished in 2.602s (kernel) + 4.386s (userspace) = 6.988s<\/p><\/blockquote>\n<p>Not bad at all for a full featured computer with wifi and usb audio<a href=\"http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/rpi_pipos_startup.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2256 size-large\" src=\"http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/rpi_pipos_startup-528x1024.png\" alt=\"\" width=\"528\" height=\"1024\" srcset=\"http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/rpi_pipos_startup-528x1024.png 528w, http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/rpi_pipos_startup-155x300.png 155w, http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/rpi_pipos_startup-768x1490.png 768w, http:\/\/www.dotmana.com\/weblog\/wp-content\/uploads\/rpi_pipos_startup.png 1130w\" sizes=\"auto, (max-width: 528px) 100vw, 528px\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>We love to listen to FIP, as it&#8217;s a public radio, without commercials and not so much speaking. Unfortunately, this radio is FM brodcasted in only few city in France, and here in Grenoble, the only way to get is &hellip; <a href=\"http:\/\/www.dotmana.com\/weblog\/2018\/03\/ikea_diy_webradio\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-2252","post","type-post","status-publish","format-standard","hentry","category-ubuntu"],"_links":{"self":[{"href":"http:\/\/www.dotmana.com\/weblog\/wp-json\/wp\/v2\/posts\/2252","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.dotmana.com\/weblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.dotmana.com\/weblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.dotmana.com\/weblog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/www.dotmana.com\/weblog\/wp-json\/wp\/v2\/comments?post=2252"}],"version-history":[{"count":24,"href":"http:\/\/www.dotmana.com\/weblog\/wp-json\/wp\/v2\/posts\/2252\/revisions"}],"predecessor-version":[{"id":2323,"href":"http:\/\/www.dotmana.com\/weblog\/wp-json\/wp\/v2\/posts\/2252\/revisions\/2323"}],"wp:attachment":[{"href":"http:\/\/www.dotmana.com\/weblog\/wp-json\/wp\/v2\/media?parent=2252"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.dotmana.com\/weblog\/wp-json\/wp\/v2\/categories?post=2252"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.dotmana.com\/weblog\/wp-json\/wp\/v2\/tags?post=2252"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}