Hacker News new | past | comments | ask | show | jobs | submit login
A free video streaming service that runs on a ESP32 (github.com/rossumur)
352 points by juanpabloaj on Aug 13, 2020 | hide | past | favorite | 48 comments



A minor plug, if you're doing ESP8266/ESP32 development, you can use the following code snippet and server I wrote to do automatic, secure updates over pinned HTTPS:

https://www.pastery.net/vmympk/

This is the server, a single binary (written in Rust):

https://gitlab.com/stavros/espota-server

The device will connect to the server (whenever you call doHttpUpdate(), I usually do it on startup), ask for a new version, get the latest version, flash itself with it and then boot.

Very handy, as it's faster than USB/UART, and you don't have to disconnect from the serial console to use it.


Wooha, was looking for exactly something like this. Thank you.

This is why I love hacker news.


And we love you.


Very nice project, may be can try this at home.

ESP32 is a little processor that could. The latest version ESP32-S2 is cheaper (unit cost 99 cents), and amongst other capabilities also supports LCD interface and USB OTG!

https://maker.pro/esp8266/tutorial/a-comparison-of-the-new-e...


They cut the cost by removing Bluetooth, though, so ESP32-S2 might not be the right choice for some scenarios.


Since the S2 has USB OTG, I wonder whether anyone's working on porting the QMK keyboard-firmware project to it. QMK on ESP32 could make for one heck of an overpowered mechanical keyboard.

Too bad there's no Bluetooth.


USB-OTG on a small microcontroller like the ESP32S also presents significant opportunities for malicious 'anti-security' devices pretending to be other devices, while up to no good. (See 'Malduino')

With its single-core and no Bluetooth, I see the ESP32-S as more of an upgrade to the ESP8266, or 'ESP32-'lite'.


the upcoming S3 will have Bluetooth while being otherwise similar


99 cents? I guess that's for volume and possibly for the bare chip?

Does anyone know if I can get the chip in a form factor that's hand-solderable (so with castellated edges) and with a built-in antenna (rather than an ipex connector) for close to that price? That might finally get me off the ESP8266.


Yes, check AliExpress for ESP32 dev module for a board with pins.

Look at LCSC for one with castellated edges. esp32.net has info about more form factors.

At my work we have a design that uses the ESP32-WROOM-32 for the Bluetooth and CPU. It is a pretty great alternative to using Arduinos.


Oh nice, thanks, I didn't know about esp32.net!


Espressif makes 3 categories of ESP32-S2:

- IC: Just the bare chip. Costs 99c as you say.

- Module: The chip on a PCB with castellated edges and a PCB antenna (normal) or IPEX connector (the "-I" variants). These cost ~$2.

- Devkit: The module but on a PCB with 2.56mm pitch pins installed, a USB/serial converter and 3.3V power supply. These cost ~$8.

You can buy all of these at the prices I listed from the standard electronics distributors like Digikey and Mouser, you don't have to be special or anything.


I already do, I thought there was a special way to buy the modules for $1. By the way, I found some Lolin ESP32 devkits for $3.5, a great price. I got 10ish of those, as I always use them for whatever throwaway projects since the price is so good.


Holy damn. That is a solid chip and I had no idea they had a new version out! The tiny power consumption is a huge deal. I’ll be buying a couple of these to play around with.


FWIW, the S2 is also single-core.


Indeed. And I've got too used to the dual-core on the ESP32. Having the ability to pin tasks to one core for 'heavy-lifting' while running main task logic on the other, avoiding interrupts, has been a huge relief. (Though, has possibly led to some lazy coding too ;) )


haha, precisely. It's the primary reason I chose it for our company's projects -- no need for interrupts timing. From a business angle I view lazy code ~== time/money saved!


Since getting (back) into electronics and writing firmware for microcontrollers a few years ago, and having been through various projects with the 8266 (which blew my mind at the time), I now use the ESP32 for most ideas and project that I have.

It's been a complete game-changer, hobby-wise.

Having Wifi and BluetoothLE on-board has been great. And as a long time web and mobile app developer, it's been the perfect way to turn 'things I write' into 'things I can touch'. (And that can 'talk').

The 'intangibility' of all the code I've written over years has always been a little saddening to me.

I've also tried a few of the ESP32-CAM boards and they're very impressive. I have a little LiPo powered pocket project in a 3D printed flat case, containing one of them, which, aftter connnecting to WiFi, then sends MJPEG (no audio) to a Node.js script on one of my servers which shows a 'live' feed. (I sometimes stick it to my front door 'peep-hole' too.

I'll certainly be taking a look at this 'ESPFLIX' project over the weekend.

Thanks!


Check also the ESP32-Cam which does this, along with face recognition.

https://www.youtube.com/watch?v=MicAM_A0_lU https://www.youtube.com/watch?v=DnXI-MO1qck


This is so Cool! A 99 cents Chip can do so many things. I am using it currently for Automatic Garden Monitoring system[1]. I never realized this small chip can do big things. Very Impressive.

[1]https://iot-playground.com/blog/2-uncategorised/94-esp8266-s...


You might want to grab a capacitive soil moisture sensor btw because those two pin ones almost always corrode after some time, especially with more power going through them


Thank you for the suggestions. I have noticed some corrosion. I will look into getting the capacitive moisture sensor .


Indeed they are not meant to be powered all the time - only for brief moments when taking a reading. Unless your purpose is to electrolyze your garden.


Which is why when many advocate for pre-historic embedded development practices it just shows being out of touch how many cheap options are now 90's like hardware, with more capabilities than Amiga/Atari/PC/Mac had a their disposal on a stamp size CPU.


True, The key here is "Cheap". How can one quantity CPU capability and Cost together?. Can someone please shed some light on this?


The comment I replied to mentioned 99 cents, which will be probably much less when bought at scale.


I had a chuckle at the loading screen.

Shameless plug, my father made a (free) ESP8266 & ESP32 wifi webradio project that seems popular and may interest some people in this thread https://github.com/karawin/Ka-Radio


Your father made Ka-Radio?

It's an incredibly impressive project, that one.

Please pass on my thanks.


I just did, thanks!


Rossum: You're crazy. I love it. Amazing! Can't wait to try it.

Especially considering the cost, this would be a wonderful addition to any standard definition TVs still in use.


I think the most interesting part of this is ESP_8_BIT driving composite video from software using 1 output pin.


For me it's the actually fluid MPEG1 decoder


The Esp32 is such an amazing device. If I had more time I would love to learn more about it. I've just ordered a few more sensors for it.

I'm pretty excited about it.


This is really impressive, streaming video + audio on a what is essentially a beefy microcontroller.


That's what does my head in, this $1 "microcontroller" is essentially an entire late-90s computer (although far more powerful in some ways) in a 10mm square package. It's amazing what 20 years of progress will do.

(Don't even get me started on all the on-chip peripherals, it's the hobby roboticist's dream!)


It is, you can do a ton with that "amount" of processing power.

a table to compare specs https://maker.pro/esp8266/tutorial/a-comparison-of-the-new-e...

riscv 240MHz ulp 5 microamp in deep sleep I suppose

cut


Yes, I always compare it to a beefy Amstrad PC1512, my first PC used at the high school computer club to play Defender of the Crown with beautiful EGA graphics.


The analog inputs are not great, but otherwise agree.


Its not only streaming. Its decompressing video and generating the ntsc signal with little help from the hardware. The video interface is a resistor.


If anything, getting NTSC video out of an Arduino's UART is even cooler: https://github.com/rossumur/Zorkduino


Very impressive. Masterful hacking. Nice to know how much can still be done with less than a megabyte of memory!


Instead of using cloud aws, could an sd card be used?

Might be cool to have harry potter picture frames for the cost of the sscard and esp (assuming free flatscreen vga with component-in).


Does anyone know how they are able to produce such a powerful chip so cheaply? Do they use Chinese fabs?


Moore's Law is incredibly powerful. It's a 400MHz microprocessor that's roughly equivalent to a late-nineties desktop PC, the sort that could (with a suitably fast CDROM drive) just about manage to decode to 320x200 VGA resolution. This is still a really impressive feat of coding.

Fab appears to be TSMC. So, the Republic of China?


No, it's manufactured by TSMC (Taiwan)


Expressif is based in Shanghai. I would think so but I don't know how to check.


Cool! Can you give an overview of the "Amazing AWS Stack" you have implemented?


It seems really fun to develop hardware skills like this. Or for example being able to order an eink display and build my own ereader from basic principles.

But every time I start learning, it feels like there's so much you have to learn to do so little, and I'm not fundamentally motivated by the physics of hardware.

Meanwhile, software, being so high level, is extremely actionable early on without a hard dep on knowing how the underlying stack is working. One of the first things I built was a Ruby on Rails web app that my friends and I used to chat in high school before I even could tell you what http headers were, I would learn those later once the initial taste was so actionable and motivating.

With hardware, in the same amount of time I learned to build a web app that my friends and I used, I probably would have learned to make an LED blink.

Oh well, it's like playing the piano: I wish my younger self put in the time so that my older self could benefit for free.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: