Building A WiFi Picture Frame With An EInk Display

LCD photo frames never really caught on — by emitting light, they didn’t seamlessly blend in with a home’s decor in the way printed photos do. [Sprite_tm] decided to see if a color e-Ink screen could do any better, and whipped up a WiFi-enabled photo frame using a Waveshare display.

The part in question is a 5.65-inch display with 640 x 448 resolution, and is capable of displaying seven colors. It’s not designed to display photorealistic images, so much as display simple graphics with block colors. However, with some dithering, [Sprite_tm] suspected it might do an okay job. An algorithm that uses Floyd-Steinberg diffusion and the CIEDE2000 color space takes regular RGB images and breaks them down into dithered images that are displayed using the screen’s 7 available colors.

The build relies on an ESP32-C3, which drives the display and fetches new images daily over WiFi. Thanks to the e-Ink screen, which uses zero power when not updating, the whole setup runs off two AA batteries and a Natlinear LN2266 boost converter.

There are some limitations; the screen’s color space is altogether quite limited, and images don’t look very high-fidelity in such low resolution. However, it does an able job of displaying photos for a device that was never designed to do so. It looks rather handsome all wrapped up as a 3D printed picture frame, and [Sprite_tm]’s monkey test photos are very cute.

Files are on GitHub for those that wish to roll their own. We’ve seen similar works before, like this e-Ink wall-hanging newspaper display that keeps up with the times. If you’ve got your own neat e-ink build, hit us up on the tipsline!

Make Your ESP32 Talk Like It’s The 80s Again

80s-era electronic speech certainly has a certain retro appeal to it, but it can sometimes be a useful data output method since it can be implemented on very little hardware. [luc] demonstrates this with a talking thermometer project that requires no display and no special hardware to communicate temperatures to a user.

Back in the day, there were chips like the Votrax SC-01A that could play phonemes (distinct sounds that make up a language) on demand. These would be mixed and matched to create identifiable words, in that distinctly synthesized Speak & Spell manner that is so charming-slash-uncanny.

Software-only speech synthesis isn’t new, but it’s better now than it was in Atari’s day.

Nowadays, even hobbyist microcontrollers have more than enough processing power and memory to do a similar job entirely in software, which is exactly what [luc]’s talking thermometer project does. All this is done with the Talkie library, originally written for the Arduino and updated for the ESP32 and other microcontrollers. With it, one only needs headphones or a simple audio amplifier and speaker to output canned voice data from a project.

[luc] uses it to demonstrate how to communicate to a user in a hands-free manner without needing a display, and we also saw this output method in an electric unicycle which had a talking speedometer (judged to better allow the user to keep their eyes on the road, as well as minimizing the parts count.)

Would you like to listen to an authentic, somewhat-understandable 80s-era text-to-speech synthesizer? You’re in luck, because we can show you an authentic vintage MicroVox unit in action. Give it a listen, and compare it to a demo of the Talkie library in the video below.

Continue reading “Make Your ESP32 Talk Like It’s The 80s Again”

Rickrolling SSID With ESP32

Reddit user [nomoreimfull] posted code for a dynamic WiFi beacon to r/arduino.  The simple, but clever, sketch is preloaded with some rather familiar lyrics and is configured to Rickroll wireless LAN users via the broadcast SSID (service set identifier) of an ESP32 WiFi radio.

The ESP32 and its smaller sibling the ESP8266 are tiny microcontrollers that featuring built-in WiFi support. With their miniature size, price, and power consumption characteristics, they’ve become favorites for makers, hackers, and yes pranksters for a wide variety of projects. They can be easily programmed using their own SDK or through a “board support” extension to the Arduino IDE.

For the dynamic WiFi beacon, the ESP32 is placed into AP (access point) mode and broadcasts its human readable name (SSID) as configured. What makes the SSID dynamic, or rolling, is that the sketch periodically updates the SSID to a next line of text stored within the code. Of course, in the Rickroll prank this means the next line of lyrics from “Never Gonna Give You Up” by Rick Astley himself.

Always a favorite prank, we’ve seen Rickrolls take the form of IR remote controls , free WiFi servers, and coin cell throwies.

Rick Astley picture: Wjack12, CC BY-SA 4.0.

Run Linux By Emulating RISC-V On A RISC-V Microcontroller

For years it was a given that it was impossible to run a Linux based operating system on a less powerful computer whose architecture lacked a memory management unit. There were projects such as uCLinux which sought to provide some tidbits to low computing power Linux users, but ultimately they came to naught. It is achievable after a fashion though, by using the limited architecture to emulate a more powerful one. It’s been done on AVR chips emulating ARM, on ARM chips, and now someone’s done it on an ESP32-C3 microcontroller, a RISC-V part running a RISC-V emulator. What’s going on?

RISC-V is an architecture specification that can be implemented at many levels from a simple microcontroller or even a pile of 74 logic to a full-fat application processor. The ESP32-C3 lies towards the less complicated end of this curve, though that’s not the whole reason for the emulation. The PSRAM storage is used by the C3 as data storage and can’t be used to run software, so to access all that memory capacity an emulator is required that in turn can use the PSRAM as its program memory. It’s a necessary trick for Espressif’s implementation of the architecture.

Surprisingly it’s not as slow as might be expected, with a boot-up time under two minutes. It’s not what we’d expect from our desktop powerhouses, but it’s not so long ago that certain lower-power full-fat processors could be just as lethargic. For past glories, see the AVR running Linux, and the RP2040.

A RISC-V Supercluster For Very Low Cost

As ARM continues to make inroads in the personal computing space thanks to its more modern and streamlined instruction set architecture (ISA) and its reduced power demands especially compared to x86 machines, the main reason it continues to become more widespread is how easy it is to get a license to make chips using this ISA. It’s still not a fully open source instruction set, though, so if you want something even more easily accessible than ARM you’ll need to find something like these chips running the fully open-source RISC-V ISA and possibly put them to work in a custom supercluster.

[bitluni] recently acquired a large number of CH32V003 microcontrollers and managed to configure them all to work together in a cluster. The entire array is only $2 (not including all of the other components attached to the board) so a cluster of arbitrary size is potentially possible. [bitluni] built a four-layer PCB for this project with an 8-bit bus so the microcontrollers can communicate with each other. Each chip has its own ADC and I/O that are wired to a set of GPIO pins on the sides of the board. The build is rounded out with a USB interface for programming and power.

There were a few quirks to get this supercluster up and running, including some issues with the way the reset and debug pins work on these specific microcontrollers. With some bugs like this out of the way, the entire cluster is up and running, and [bitluni] hints that his design could be easily interfaced with even larger RISC-V superclusters. As for a use for this build, sometimes clusters like these are built just to build them, but since the I/O and ADCs are accessible in theory this cluster could do anything a larger microcontroller might be able to do, only at a much lower price.

Continue reading “A RISC-V Supercluster For Very Low Cost”

3D printed Hagrid's lantern with a magic wand

Micro:bit Brings 3D Printed Magic Lanterns To Life

[Elenavercher] loves engaging her primary school students, inspiring their imagination as well as teaching them the design thinking process. She has found that the very accessible rapid prototyping culture of 3D printing, micro:bit, and the like are perfect for teaching her students problem-solving and teamwork, and is always coming up with new lessons that will catch their attention. That brings us to her latest design, an interactive lantern and wand, which you could say is of the wizarding variety.

The lantern and the wand each have an integrated micro:bit serving as their brains. When the user shakes the wand, releasing a spell, the micro:bit in the wand, sends a user-defined number to the micro:bit in the lantern. The lantern has NeoPixels built-in, which then turn on, illuminating the lantern. When the user presses a button on the micro:bit instead of shaking it, the wand sends a signal to the lantern that tells it to “turn off.” Pretty simple, right?

The design itself is something any seasoned hacker could recreate; however, the magic in this build is how [Elenavercher] beautifully engages her elementary-aged students in the engineering design process. She starts off by encouraging her students to prototype the lantern and wand using paper which is a very inexpensive way to help them visualize the final product before investing too much time into the 3D design, a critical engineering design step — prototype fast and cheap with whatever you have on hand.

She then helps them design the lantern and wand in Tinkercad, a very beginner-friendly, yet increasingly capable CAD program. We really appreciate her detailed steps for the design as well as for navigating Tinkercad, both of which will help teach any tiny tikes in your life how to recreate the design. What’s really handy about Tinkercad is you can do mechanical CAD as well as write code for the micro:bit all within the same program. But [Elenavercher] also provides the final .hex file if you’d rather just get the build up and running.

Continue reading “Micro:bit Brings 3D Printed Magic Lanterns To Life”

Interlaken Want To Connect All The Chips

One of the problems with designing things on a chip is finding a good way to talk to the outside world. You may not design chips yourself, but you care because you want to connect your circuits — including other chips — to the chips in question. While I2C and SPI are common solutions, today’s circuits are looking for more bandwidth and higher speeds, and that’s where Interlaken comes in. [Comcores] has an interesting post on the technology that blends the best of SPI 4.2 and XAUI.

The interface is serial, as you might expect. It can provide both high-bandwidth and low-latency multi-channel communications. Interlaken was developed by Cisco and Cortina Systems in 2006 and has since been adopted by other industry-leading companies. Its latest generation supports speeds as high as 1.2 Tbps.

Continue reading “Interlaken Want To Connect All The Chips”