It’s Linux – But On An ESP32

GNU/Linux is an open-source marvel that has over the past three decades given us an almost infinitely versatile and powerful UNIX-like operating system. But even it has its limitations, particularly at the lower end of the hardware scale where less fully-featured processors often lack the prerequisites such as a memory management unit. Thus [JuiceRV]’s feat of booting a Linux kernel on an ESP32 microcontroller seems impossible, what’s happening?

The ESP’s dual 32-bit Xtensa cores are no slouch in the processing power department, but without that MMU it’s not an obvious Linux candidate platform. The solution to this problem comes in the form of an emulated RISC-V virtual machine which provides just enough grunt for a Linux 5.0.0 kernel to boot.

By any measure this represents an impressive piece of work, but will this new-found ability to run Linux on a microcontroller take the world by storm? Of course not, unless your tastes run to the very slowest of computing experiences. It is however the essence of the hack, and for that we salute it.

It’s not the first time Linux has run on a microcontroller, in the past someone hooked up a 30 pin SIMM and an SD card to an 8-bit Atmel chip and did it in a similar way with an ARM emulator.

Via CNX Software.

Header image: Ubahnverleih, CC0.

Motorized Camera Slider Gives Your Shots Style

We’ve all seen those smooth panning shots, which combined with some public domain beats, are a hallmark of the modern YouTube tech video. Recreating that style in your own productions is as easy as pointing your browser to Amazon and picking up a motorized camera slider, so long as you don’t mind parting with a few hundred bucks, anyway. But [PaweÅ‚ Spychalski] had a better idea. He decided to build his own camera slider and make it an open source project so others could spin up their own versions.

His design uses many components that have become popular and affordable thanks to the desktop 3D printer explosion, such as 2020 aluminum extrusion, LM8UU linear bearings, an 8 mm lead screw, and a NEMA 17 stepper motor. In fact, if you’ve got a broken 3D printer that you don’t know what to do with, stripping it for parts would get you a long way towards completing the BOM for this project.

To control the slider, [PaweÅ‚] is using an ESP32 and TMC2209 “StepStick” driver connected to an OLED display and a few buttons. As designed, a smartphone connected to a simple web page hosted by the ESP32 is the primary method of controlling the camera, but the buttons and display on the slider itself gives you a physical backup should you need it.

If you need something a bit more advanced than a linear slider, we’ve seen some impressive DIY motion rigs that can spin the camera around the target and produce some very professional looking shots.

Continue reading “Motorized Camera Slider Gives Your Shots Style”

Messaging On Signal Via The ESP32

Signal is a popular encrypted messaging app, typically used on smartphones. The cross-platform service can now be used via the ESP32, however, thanks to the work of [Dharmik] and [Tirth].

The demonstration is simple, using an ESP32 microcontroller fitted with two push buttons. When one button is pushed, it increments a counter and sends a Signal message noting the current count. The other button sends an image as a Signal message.

The project relies on a Signal bot to deliver an API key that enables the project to work. Messages are sent by making HTTP requests with this key to the CallMeBot.com server. With the API key as authentication, users can only send messages to their own number, keeping the system safe from spammers.

While the demonstration is basic, it merely serves to illustrate how the project works. The aim was to allow home automation and other Internet of Things systems to send Signal messages, and through this method, it’s now possible. The highly security conscious likely won’t want to rely on a random third party server, but for those tinkering around, it may not be such a big deal.

The Internet of Things has a long history with self-messaging projects; we featured the Twittering Toaster back in 2008! Video after the break.

Continue reading “Messaging On Signal Via The ESP32”

E-Ink Equipped Sourdough Starter Jar

One of the unexpected side effects of our this pandemic is a sudden growth in the global population of captive colonies of Lactobacillus bacteria and yeast. Also known as sourdough starters, they are usually found in jars with curious names written on top, living off a mixture of flour and water. They require close monitoring to keep them healthy and to determine when they are ready for baking. [Noah Feehan] has been working to instrument and automate the process for the past two years, and has created a high-tech jar to keep an eye on his sourdough starter.

For a sourdough starter to stay active, it must be kept within a certain temperature range, and performance is measured by how much the level inside the jar rises. Existing open source and commercial projects monitor these two parameters and transmit data out, but [Noah] wanted to include a few more features. The height of a sourdough starter rises due to the production of CO2, so he added an SCD-30 sensor module, which includes a temperature and humidity sensor. For level monitoring, an VL6180 time-of-flight sensor is mounted over a hole on top of the jar. [Noah] wanted to be able to see recent CO2 production and height stats right on the jar, a ESP32 module with onboard E-ink display was used. To draw air over the CO2 sensor at a constant rate, a small extraction fan was also added. Power is provided by a small LiPo battery. For long term logging, the data is sent over MQTT to a server running Mycodo environmental regulation software.

There are still several software improvements [Noah] would like to make, including battery life, user interface and alerts, but everything is open-source and available on GitHub, so feel free to jump in and build your own.

ESP32 Turned Handy SWD Flasher For NRF52 Chips

Got an nRF52 or nRF51 device you need to flash? Got an ESP32 laying around collecting dust? If so, then firmware hacking extraordinaire [Aaron Christophel] has the open source code you need. His new project allows the affordable WiFi-enabled microcontroller to read and write to the internal flash of Nordic nRF52 series chips via their SWD interface. As long as you’ve got some jumper wires and a web browser, you’re good to go.

In the first video below [Aaron] demonstrates the technique with the PineTime smartwatch, but the process will be more or less the same regardless of what your target device is. Just connect the CLK and DIO lines to pins GPIO 21 and GPIO 19 of the ESP32, point your web browser to its address on the local network, and you’ll be presented with a straightforward user interface for reading and writing the chip’s flash.

As demonstrated in the second video, with a few more wires and a MOSFET, the ESP32 firmware is also able to perform a power glitch exploit on the chip that will allow you to read the contents of its flash even if the APPROTECT feature has been enabled. [Aaron] isn’t taking any credit for this technique though, pointing instead to the research performed by [LimitedResults] to explain the nuts and bolts of the attack.

We’re always excited when a message from [Aaron] hits the inbox, since more often that not it means another device has received an open source firmware replacement. From his earlier work with cheap fitness trackers to his wildly successful Bluetooth environmental sensor hacking, we don’t think this guy has ever seen a stock firmware that he didn’t want to immediately send to /dev/null.

Continue reading “ESP32 Turned Handy SWD Flasher For NRF52 Chips”

A Custom Clock With LED Filament Hands

LEDs have become so ubiquitous in our projects that just hearing that term probably conjures images of tiny illuminated domes in an array of single-spectrum colors. It’s easy to forget that these efficient sources of light come in a variety of form factors, including the retro-tacular filaments that [bitborked] used to make his beautiful analog LED wall clock.

Aside from its aesthetics, this timepiece features some great design. A custom PCB acts as a hub for all the LED filament spokes. The onboard brains come in the form of an ESP32, which means it can keep extremely accurate time via NTP. WS2811 LED controllers, which we’re so accustomed to seeing alongside RGB LEDs that they almost feel strange to see here, provide the 12 volts required for each filament and make individual addressing a breeze.

[bitborked] takes advantage of that addressability to display other animations in addition to the standard clock face. They also plan to implement MQTT for eventual alerts from other home automation devices. When it comes to just telling time, you can discern the individual “hands” by differences in their brightness, which sadly does not show up as well in video as it does in real life.

We would certainly be happy to have this clock on our walls, and we hope to eventually see more of its PCB designs. In the meantime, though, we can drool over a more digital take on the LED filament clock. Although, filaments are certainly not required to make a beautiful LED timekeeper.

Review: Inkplate 6PLUS

While the price of electronic paper has dropped considerably over the last few years, it’s still relatively expensive when compared to more traditional display technology. Accordingly, we’ve seen a lot of interest in recovering the e-paper displays used in electronic shelf labels and consumer e-readers from the likes of Amazon, Barnes & Noble, and Kobo. Unfortunately, while these devices can usually be purchased cheaply on the second hand market, liberating their displays is often too complex a task for the average tinkerer.

Enter the Inkplate. With their open hardware ESP32 development board that plugs into the e-paper displays salvaged from old e-readers, the team at e-radionica is able to turn what was essentially electronic waste into a WiFi-enabled multipurpose display that can be easily programmed using either the Arduino IDE or MicroPython. The $99 Inkplate 6 clearly struck a chord with the maker community, rocketing to 926% of its funding goal on Crowd Supply back in 2020. A year later e-radionica released the larger and more refined Inkplate 10, which managed to break 1,000% of its goal.

For 2021, the team is back with the Inkplate 6PLUS. This updated version of the original Inkplate incorporates the design additions from the Inkplate 10, such as the Real-Time-Clock, expanded GPIO, and USB-C port, and uses a display recycled from newer readers such as the Kindle Paperwhite. These e-paper panels are not only sharper and faster than their predecessors, but also feature touch support and LED front lighting; capabilities which e-radionica has taken full advantage of in the latest version of their software library.

With its Crowd Supply campaign recently crossing over the 100% mark, we got a chance to go hands-on with a prototype of the Inkplate 6PLUS to see how e-radionica’s latest hacker friendly e-paper development platform holds up.

Continue reading “Review: Inkplate 6PLUS”