Streaming Video From An ESP32

The ESP32, while first thought to be little more than a way of adding wireless capabilities to other microcontrollers, has quickly replaced many of them with its ability to be programmed as its own platform rather than simply an accessory. This also paved the way for accessories of its own, such as various sensors and even a camera. This guide goes over taking the input from the camera and streaming it out over the network to multiple browsers.

On the server side of things, the ESP32 and its attached camera are set up with MQTT, a lightweight communications protocol which uses a publish/subscribe model to send information. The ESP32 is configured to publish its images only, but not subscribe to any other nodes. On the client side, the browser runs a JavaScript program which is able to gather these images and stitch them together into a video.

This can be quite a bit of data to send out over the ESP32’s compact hardware, so there are some tips and tricks for getting more out of these little devices, including using an external antenna for better Wi-Fi signal, or omitting it entirely in favor of Ethernet. As far as getting a lot out of a tiny microcontroller, though, leveraging MQTT really helps the ESP32 go a long way. These chips have come along way since they were first introduced; they’re powerful enough to act as 8-bit gaming consoles too.

Thanks to [Surfskidude] for the tip!

Heat Pump Control That Works

Heat pumps are taking the world by storm, and for good reason. Not only are they many times more efficient than electric heaters, but they can also be used to provide cooling in the summer. Efficiency aside, though, they’re not perfectly designed devices, largely with respect to their climate control abilities especially for split-unit setups. Many of them don’t have remotely located thermostats to monitor temperature in an area, and rely on crude infrared remote controls as the only user interface. Looking to make some improvements to this setup, [Danilo] built a setup more reminiscent of a central HVAC system to control his.

Based on an ESP32 from Adafruit with an integrated TFT display, the device is placed away from the heat pump to more accurately measure room temperature. A humidity sensor is also included, as well as an ambient light sensor to automatically reduce the brightness of the display at night. A large wheel makes it quick and easy to adjust the temperature settings up or down. Armed with an infrared emitter, the device is capable of sending commands to the heat pump to more accurately control the climate of the room than the built-in controls are able to do. It’s also capable of logging data and integrating with various home automation systems.

While the device is optimized for the Mitsubishi heat pumps that [Danilo] has, only a few lines of code need to be changed to get this to work with other brands. This is a welcome improvement for those frustrated with the inaccurate climate controls of their heat pumps, and since it integrates seamlessly into home automation systems could also function in tandem with other backup heat sources, used in cold climates when it’s too cold outside to efficiently run the heat pump. And, if you don’t have a heat pump yet, you can always try and build your own.

An Open Source Mobile Phone Based On The ESP32

As microcontrollers become ever faster and cheaper, something we’ve been expecting has been an open source smartphone based not upon a high-end chip, but on a cheap commodity one. In the electronic badge arena we’ve come pretty close, but perhaps it’s left to [Gabriel Rochet] to deliver the first one that brings everything together. His Paxo phone is now on version 4, and while the French-language website link stubbornly resists translation with Google translate, English speakers can find a description of its capabilities along with the software in a GitHub repository.

The hardware is surprisingly straightforward, with a resistive touch screen and a PCB featuring power management, an ESP32 main processor, and a GSM module. The 2G connectivity may not be the fastest, or even available in your country, but otherwise the feature set looks more than reasonable for a basic mobile phone.

We like this project a lot, because as we said it starts to deliver on the promise of the 2018 EMF badge and the 2022 MCH badge. We think the former badge’s designers might find something of interest in it.

DIY Pan And Tilt Camera Mount

Pan and tilt mounts have a number of uses that can increase the functionality of various types of cameras. Security cameras can use them to adjust the field of view remotely, astronomers can use them as telescope mounts to accurately track celestial objects, and of course photographers and videographers can use them to add dynamic elements to shots. But getting the slow, smooth, and reliable movement isn’t as simple as slapping some servos on a tripod. So unless you want to break the bank for a commercial mount, this DIY pan and tilt mount might be the way to go.

The mount is built largely out of 3D printed parts and a few fairly common motors, belts, pulleys, and bearings. The movements are controlled using stepper motors, and there are two additional systems built in so that focus and zoom can be controlled through the system as well. The software controlling it all is open-source and  available on GitHub, and controls the mount remotely through a network connection. It’s also designed to use the readily-available ESP32 chip, making it overall fairly adaptable.

The system doesn’t slouch on features, either. It can move from one point to another with various programmable speeds, has a key sequencer for more complex movements, and can accommodate the needs of stop motion animators as well. It’s an impressive build that should be accessible to plenty of photographers with a 3D printer and the right parts, but photography and astronomy aren’t the only reasons to use a pan and tilt mount. Check out this one that brings some sunlight to a shaded room.

the PCB without the case on, showing the screen, battery, and removable sensor

2023 Hackaday Prize: A Reusable Plant Monitor

[Ovidiu] cares for their house plants, trying to dial in the perfect soil humidity and light levels. However, many cheap monitors tend to rust after a few weeks of sitting in a damp, slightly acidic environment. By creating a custom plant monitor with a removable probe, not only can [Ovidiu] integrate better with their Home Assistant setup, but it will also be less wasteful.

The build starts with an ESP32-S3, a TP4056 charging circuit, a small e-ink display, and an AHT20 IC for air humidity and temperature. The ESP32 reads the probe using the capacitance measuring devices for touchpads built into the chip. Or course, a 450mAh battery provides a battery life of about 11 days. The probe is just a bare PCB with a connector at the top, making them cheap and easy to swap. They included pads on the probe for a thermistor for reading soil temperature, but this is optional. A handsome 3D-printed case wraps it all up nicely.

Continue reading “2023 Hackaday Prize: A Reusable Plant Monitor”

Linux, Running On Not A Lot

There are many possible answers to the question of what the lowest-powered hardware on which Linux could run might be, but it’s usually a pre-requisite for a Linux-capable platform to have a memory management unit, or MMU. That’s not the whole story though, because there are microcontroller-focused variants of the kernel which don’t require an MMU, including one for the Xtensa cores found on many Espressif chips. It’s this that [Naveen] is using to produce a computer which may not be the Linux computer with the lowest processor power, but could be the one consuming the least electrical power.

The result is definitely not a Linux powerhouse, but with its Arduino-sourced ESP32 board stacked on an UNO and I2C keyboard and display, it’s an extremely lightweight device. The question remains, though, is it more than a curiosity, and to what can it do? The chief advantage it has over its competitors such as the Raspberry Pi Zero comes in low power consumption, but can its cut-down Linux offer as much as a full-fat version? We are guessing that some commenters below will know the answer.

If you’re curious about the Xtensa version of Linux, it can be found here,

Off-Grid EV Charging

There are plenty of reasons to install solar panels on one’s home. Reducing electric bills, reducing carbon footprint, or simply being in a location without electric service are all fairly common. While some of those might be true for [Dominic], he had another motivating factor. He wanted to install a charger for his electric vehicles but upgrading the electric service at his house would have been prohibitively expensive. So rather than dig up a bunch of his neighbors’ gardens to run a new service wire in he built this off-grid setup instead.

Hooking up solar panels to a battery and charge controller is usually not too hard, but getting enough energy to charge an EV out of a system all at once is more challenging. The system is based on several 550W solar modules which all charge a lithium iron phosphate battery. The battery can output 100 A DC at 48 V which gives more than enough power to charge an EV. However there were some problems getting this much power through an inverter. His first choice let out the magic smoke when it was connected, and it wasn’t until he settled on a Growatt inverter capable of outputting 3.5 kW that the system really started to take shape.

All of this is fairly straightforward, but there’s an extra touch here that makes this project noteworthy. [Dominic] wanted to balance incoming power from the photovoltaic system to the current demands from the EVs to put less strain on the battery. An ESP32 was programmed to only send as much power to the EVs as the solar system is producing at any given time, and also includes some extra logic to make sure the battery doesn’t drain itself from the idle power requirements of the inverter. Right now the system works well but the true test will be when it goes through its first winter. Even though solar panels are more efficient at colder temperatures, if the amount of sunlight or the angle of the panels aren’t ideal there is generally much less production.