6 ms·
Show HN: I built an HTML5 RTL-SDR application
There are lots of RTL-SDR applications, but you have to install them. I used the HTML5 USB API that exists in Chrome (did you know about it?) to build one that you can run straight from your browser, on your computer or your Android phone.
- JSDevOps 2y agoWow that’s cool
- RamboRogers 2y agoThis is cool!
- wordglyph 2y agoExcellent work!
- dtagames 2y agoAwesome! There's so much you can do with the browser now. Thanks for making an SDR app that's "gone native."
- someothherguyy 2y agonit: The WebUSB API isn't really a part of "HTML 5" https://wicg.github.io/webusb https://wicg.github.io/webusb
- ocdtrekkie 2y agoThe correct definition for WebUSB is "Chrome API", as no other browser intends to implement it.
- vbezhenar 2y agoEdge supports WebUSB.
- katdork 2y agoEdge is just a Chromium fork, though.
- vbezhenar 2y agoYes, but so is Chrome and many other browsers.
- M95D 2y agoYou shouldn't treat them as different brosers. They're just skins.
- 8n4vidtmkvmk 2y agoThey're chromes (because that's what the UI portion is called)
- meiraleal 2y agoChrome-only is not correct either and that's what Chrome API sounds like
- jhardy54 2y ago“Chromium API” then.
- vbezhenar 2y agoI don't think that's true. They are different enough.
- vrighter 2y agowe're talking about the engine, not the skin put on it. They're only different in the ui
- radicality 2y agoAwesome! On mobile now but intend to try it with my HackRF later. Anything to consider, or should work fine?
- RF_Savage 2y agoThat it only supports rtl-sdr sticks, not HackRF. So the HackRF will not work.
- vrighter 2y agoit's a chrome application not an html5 one. It only works on one browser (and its forks) because it uses proprietary, nonstandard apis.
- meiraleal 2y ago> because it uses proprietary, nonstandard apis What are the other APIs to have USB access?
- goodpoint 2y agoWrite a proper GUI application.
- vrighter 2y agothere isn't a browser based usb api. It's as simple as that. You're coding for chrome, not the web
- meiraleal 2y agoChrome, edge, opera, brave and many more. Just Safari doesn't support it, as always lagging behind. Firefox is out of the equation long ago.
- atVelocet 2y agoDo you plan on expanding the functionality? It is really amazing how flawless it work. You should do a blog post describing how you did it.
- jtarrio 2y agoYes, next up is frequency/band management. Recording will come later. Later still, who knows :-)
- ngc6677 2y ago`<radio-receiver></radio-receiver>` let's get that in html6! Nice use of web components!
- someothherguyy 2y agoHTML is a living standard. There likely won't ever be a "html6". https://html.spec.whatwg.org/multipage/introduction.html#history-2 https://html.spec.whatwg.org/multipage/introduction.html#his...
- ramon156 2y agoIt's a living standard for today, but no one knows what tomorrow brings
- someothherguyy 2y agoYeah, that is why I said likely.
- assimpleaspossi 2y agoExactly. And there is no HTML5, either.
- wkat4242 2y agoI wish Firefox would implement this API too, it's been years.
- eqvinox 2y agoMozilla's position is to not implement this API due to security and privacy concerns, and I agree with them on that even though I'd really like to use this API too.
- viraptor 2y agoYeah... It's an accident waiting to happen with someone's security key. (Yes, I'm aware chrome tries to protect that one... for now) We really need more intentionality around hardware use. There's many SDR apps already packaged for all systems. Stop trying to juggle chainsaws, please!
- teruakohatu 2y agoThe UI makes it very obvious as you have to select a device. Anyone who is worried, including corporations, can disable it.
- Etheryte 2y agoThe problem isn't the UI, the problem is that like all software, browsers have bugs, and a CVE in this part of the code base could have catastrophic consequences. Chromium and its derivatives are highly reviewed code bases, both by good and bad actors, and there's still a considerable list of CVEs every year.
- teruakohatu 2y ago> The problem isn't the UI, the problem is that like all software, browsers have bugs, and a CVE in this part of the code base could have catastrophic consequences. Chromium and its derivatives are highly reviewed code bases, both by good and bad actors, and there's still a considerable list of CVEs every year. That is an argument against any feature whatsoever beyond maybe a JS-free links/lynx browser. The worse browser bug is a sandbox escape that can obtain root privileges. This has been done by exploiting many different JS features. USB communication is not more of a hazard than webgl or setTimeout().
- tgsovlerkhgsel 2y agoI'm unable to get it to work with my receiver (setRegBuffer failed block=0x600 reg=74, Caused By: RadioError.UsbTransferError: USB write failed value=0x74 index=0x610 status=stall), but I love the idea! Looking forward to a local webusb+rtlsdr based Flightradar.
- jtarrio 2y agoIs your stick an RTL-SDR Blog V4? Because it looks like the failure happens when accessing a R828D tuner, which should be supported.
- tgsovlerkhgsel 2y agoUnfortunately I don't know what device it is. Would a lsusb help?
- jtarrio 2y agoIf you don't know, it probably isn't; they brand it quite extensively both outside and in the USB manufacturer strings (it appears as "Blog V4" in the device selection window.) If it is indeed not one of them, I'd be interested in getting one to test on, so I'd like to know where you got it from. Can you email me? My address is trivial to find or figure out knowing my website is https://jacobo.tarrio.org https://jacobo.tarrio.org :-)
- tgsovlerkhgsel 2y agoI took a closer look. It's a Hama Nano DVB-T (00053330), over a decade old.
- jtarrio 2y agoAh yeah, E4000 tuner, those were hard to come by even 10 years ago, so I didn't support them. Only R820 and R828 and compatibles...
- wkjagt 2y agoThis is awesome, great work! Is there anywhere I can follow development on this? I'm really interested in seeing this evolve.
- jtarrio 2y agoI don't have a dedicated place for announcements and such, but I post on my Bluesky whenever there's a major improvement (@jacobo.tarrio.org). And you can always star it on GitHub: https://github.com/jtarrio/radioreceiver https://github.com/jtarrio/radioreceiver
- wkjagt 2y agoAwesome, thank you
- goodpoint 2y agoWhat's the benefit in using a browser for this?