A Simple Streaming Radio Receiver

For those interested in a career in broadcast radio there aren’t many routes into the business. Student radio, pirate radio, and hospital radio usually feature somewhere near the start of any DJ’s resumé. Hospital radio stations often don’t have a transmission license and have historically relied on wired systems, but since those can’t reach everywhere they are now more likely to look to the Internet. [AllanGallop] has created the Mini Web Radio for the hospital station in the British city of Milton Keynes, a compact battery-powered single station streaming radio receiver that can pick up those tunes anywhere with a wireless network connection.

Inside the neatly designed 3D printed box the hardware is quite straightforward, a WeMos ESP32 board and a MAX98357A I2S digital amplifier module all powered by an 18650 cell. There’s a volume control and headphone socket, which is all that’s needed for the user interface. The software has code for both Arduino and Platform.io and is configured as you might expect through a web interface. Everything can be found in a handy GitHub repository should you wish to build one yourself. Meanwhile, it’s particularly pleasing as a Hackaday scribe to feature a project with roots in one’s own hackerspace, in this case, Milton Keynes Makerspace.

Thanks [Cid] for the tip!

An automatic fish feeding system mounted on an aquarium

The FishFeeder Keeps Your Fish Fed While You’re Away

With summer in full swing in the Northern Hemisphere, millions of people are out on vacation leaving millions of homes empty. Thanks to modern technology it’s easier than ever to keep an eye on those empty homes: internet-connected cameras report suspicious activity, and smart-home devices like curtains and light bulbs can be operated from your holiday home. If you’ve got an aquarium and want to keep your fish well-fed during your vacation, then [FoxIS]’s internet-connected automated fish feeder might come in handy too.

The heart of the system is a 3D-printed mechanism that holds a bottle of fish food in a funnel and dispenses a set amount through a servo-operated shutter. The servo is driven by an ESP32 sitting inside an M5StickC IoT development kit. [FoxIS] wanted to use TinyGo for this project, which unfortunately meant that he couldn’t use the ESP32’s built-in WiFi system due to software limitations. He therefore connected the M5StickC to a Raspberry Pi, which he can log into from anywhere in the world to operate the feeding mechanism or to watch his aquatic pets through a USB camera.

A small IoT device with an LCD screen showing aquarium-related informationApart from automating the feeding process, the FishFeeder system also keeps track of the aquarium’s temperature through an IR thermometer and shows reminders for other maintenance tasks, such as changing the water or cleaning the filter. A minor inconvenience is the requirement to have that Raspberry Pi present for internet connectivity, but perhaps a future version of TinyGo will support WiFi on the ESP32 and make the FishFeeder a fully self-contained system.

While 3D-printing is an obvious choice for custom mechanisms like this, you can also make a much simpler system from a Tupperware bin and a drill bit. If metalworking is your thing, you can build really accurate fish feeders too.

What’s The Time? It’s Casino’clock!

As the saying goes, nothing can be said to be certain, except death, taxes, and the never-ending inventiveness of clock hacks. No matter how tried and proven a concept is, someone will always find a new twist for it. Case in point: notorious clock builder [Shinsaku Hiura] took the good old split-flap display approach, and mixed things up by using a deck of playing cards to actually represent the time.

Technically, the clock works just like a regular flip clock, except that only the upper half of the split-flap is used to display the digits, while the lower half is showing the cards’ backsides. Other than that, the mechanics are the same: a set of hinges holding the cards are arranged on a rotor that’s moved by a stepper motor until the correct digit is shown (STLs available on Thingiverse). Aces low, Jokers are zeroes, and the queen strikes at noon.

At the center of it is an ESP32 that controls each digit’s motor driver, and retrieves the time via WiFi, keeping the general component count conveniently low. Of course, one option is to arrange the cards in their order to keep rotations at a minimum, but let’s be real, the flapping sound is half the fun here. So instead, [Shinsaku Hiura] arranged the cards randomly and mapped it in the code accordingly. You can see it all in action, along with some additional design information, in the video after the break.

For some more of his clock creations, check out this different flip clock approach and the Hollow Clock. But if the future is of more interest to you than the present, here’s a matching Tarot deck.

Continue reading “What’s The Time? It’s Casino’clock!”

Launch And Track Your Model Rockets Via Smartphone

Building and flying model rockets is great fun. Eventually, though, the thrill of the fire and smoke subsides, and you want to know more about what it’s doing in the air. With a thirst for knowledge, [archy587] started building a project to monitor the vital stats of rockets in flight. 

The project mounts an M0 Feather microcontroller board into the rocket, along with a 900 MHz LoRa transmitter and a GPS module. This allows the rocket’s journey to be measured and logged, and is particularly useful for when a craft floats off downrange during parachute recovery. There’s also a relay module onboard, which dumps power from a dedicated separate battery into the rocket motor igniter. This allows the rocket to be fired wirelessly.

On the ground, the setup uses an ESP32 fitted with another LoRa module to receive signals from the rocket. It’s designed to hook up to an Android smartphone over its USB-C port. This allows data received from the rocket to be displayed in an Android app, including the rocket’s GPS location overlaid on Google Maps.

Being able to remotely ignite your rockets and track their progress brings some high-tech cool to the launch pad. You’ll be upgrading your rockets with micro flight controllers and vectored thrust in no time. Just be sure whatever tech you’re using is compliant with the rules for model rocketry in your local area.

Continue reading “Launch And Track Your Model Rockets Via Smartphone”

ESP32 Gets A Nifty Serial Console Library

Sometimes you need to get a project to talk to you, so you can see what’s going on inside. The ESP32 console Arduino library from [jbtronics] promises just that.

The library adds a simple serial console to the ESP32, and is compatible with the Arduino ecosystem to boot. It’s set up to allow the easy addition of custom commands so you can tweak the console to suit your own projects. It’s remarkably complete with nifty features, too. There’s autocomplete as well as a navigable command history – the sorts of features you only expect from a modern OS terminal. A bunch of system commands are built-in, too, for checking the status of things like the memory, network interface, and so on.

The tool is available via the Arduino library manager or the PlatformIO registry. You’ll want to use it with a VT-100 compatible terminal like PuTTY or similar, which lets you use all the fancy features including color output. [jbtronics] hopes to port it to the ESP8266 soon, too!

We’ve seen some other great serial tools of late, too. If you’re brewing up your own nifty console hacks, be sure to drop us a line!

 

 

Tiny Pinball Machine Also Runs X86 Code

As arcades become more and more rare, plenty of pinball enthusiasts are moving these intricate machines to their home collections in basements, garages, and guest rooms. But if you’re not fortunate enough to live in a home that can support a space-intensive hobby like pinball machines, there are some solutions to that problem. This one, for example, fits on the palm of your hand and also happens to run some impressive software for its size.

The machine isn’t a mechanical pinball machine like its larger cousins, though. Its essentially a 3D printed case made to look like a pinball machine with two screens attached. It does have a working plunger for launching the ball and two buttons on the sides for the approximation of authenticity, but it’s actually running Pinball Fantasies — a pinball simulator designed to run on x86 hardware from the 90s. This sports an ESP32 on the inside, which has just enough computing capability to run an x86 emulator that can load these games in DOS.

The game includes haptic feedback and zips along at 60 frames per second, which really brings the pinball experience to its maximum level given the game’s minuscule size. It’s impressive for fitting a lot into a small space, both from physical and software points-of-view. For more full-sized digital pinball builds, take a look at this one which comes exceptionally close to replicating the real thing.

Continue reading “Tiny Pinball Machine Also Runs X86 Code”

It’s Linux. On An ESP32

By today’s standards, the necessities for running a Linux-based operating system are surprisingly meagre in terms of RAM and processor power. Back in the day we ran earlier Linux versions on Intel 386 and 486 machines with tiny quantities of memory compared to the multi-gigabyte many-core powerhouses we do today.

So it stands to reason that many of the more powerful microcontrollers should also run Linux, but of course they are often unable because the lack a memory management unit. The original ESP32 is just such a candidate, plenty of power but unable to run Linux. Not so fast, because [Dror Gluska] has managed to boot a Linux kernel on Espressif’s dual-core chip. How on earth? By emulating a RISC-V processor on it and booting a RISC-V version of the kernel.

The emulator in question is [Fabrice Belard]’s TinyEMU, a piece of software that brings both RISC-V and x86 to limited-spec platforms, and the write-up describes the extensive optimization and tracing of ESP32 bottlenecks which was finally able to get a Linux kernel booting in 1 minute and 35 seconds. Of course it’s simply an exercise to prove it can be done and we won’t be seeing Linux-based ESP projects any time soon, but it’s still an impressive piece of work.

This isn’t the lowest-spec microcontroller we’ve seen run Linux, back in 2012 we saw it on emulated ARM running on an 8-bit AVR.