ESP32 Web Updater Allows File System Management And OTA Updates

Earlier versions of the Arduino IDE made uploading files to an ESP32’s SPIFFS filesystem easy via the ESP32FS plugin. Sadly, that’s no longer possible under the rewritten Arduino 2.0 IDE. Thankfully, [myhomethings] has stepped up to solve the problem with a new tool that also adds some new functionality.

The tool in question is the ESP32 Web Updater and SPIFFS File Manager. It features a web interface courtesy of the ESPAsyncWebServer library. Simply dialing into the ESP32’s IP address will grant one access to the interface. Once connected files can be uploaded to the ESP32, or deleted at will. Text files can be created and populated through the interface as well, and the SPIFFS file system can also be formatted if required. Plus, as a bonus, the interface allows for handy over-the-air firmware updates. One need only export a compiled binary from the Arduino IDE, and then load the resulting *.bin file into the ESP32 via the web interface. It does come with the caveat that if new firmware is uploaded that doesn’t include the ESP32 Web Updater itself, there will be no way to do further firmware updates in this manner.

For those working on projects that may need regular file system management, the tool may be very useful. Alternatively, if you just need to do OTA updates on an ESP32, we recently featured a way of doing them through GitHub.

Raspberry Pi Weather Station Features Wireless Sensor Nodes

Online weather services are great for providing generic area forecasts, but they don’t provide hyperlocal data specific to your location. [Harald Kreuzer] needed both and built a Raspberry Pi Weather Station that provides weather forecasts for the next 7 days as well as readings from local sensors. The project is completely open source and based on a Raspberry Pi base station which connects to ESP32 based sensor nodes and online services to nicely present the data on a 7″ touch screen display.

The architecture is quite straightforward. The ESP32 based sensor nodes publish their readings to an MQTT broker running on the Raspberry Pi. The Pi subscribes to these sensor node topics to pick up the relevant sensor data. This makes it easy to add additional sensor nodes in future. Weather forecast data is collected by connecting to the OpenWeatherMap API. All of the collected information is then displayed through an app built using the Kivy: open source Python app development framework. Continue reading “Raspberry Pi Weather Station Features Wireless Sensor Nodes”

An Instant Camera Using E-Paper As Film

The original Polaroid cameras were a huge hit not just for their instant delivery, but for the convenient size of the permanent images they delivered. It’s something that digital cameras haven’t been able to replicate, which drew [Cameron] to produce a modern alternative. In the place of the chemical film of the original, it uses a removable e-paper display in a frame. The image is stored in the pixels of the e-paper, which can be kept as a digital version of the photograph until reattached and replaced with another freshly taken picture.

At its heart is an ESP32 with a camera, and the “film” is a Waveshare NFC e-paper module. The device is 3D printed, and manages a very creditable early-1970s aesthetic redolent of the more upmarket Polaroids of the day. Using it is as simple as pressing the button and deciding whether you like what’s on the screen. You can see it in action in the video below the break.

We like his project for its aesthetics, as well as for the very idea of using e-paper as a medium. There’s also something to be said for not having to put a Polaroid print in a clip under your armpit while it develops. Meanwhile if you do hanker for the real thing, it’s a subject we’ve looked at in the past.

Continue reading “An Instant Camera Using E-Paper As Film”

MicroPython ESP32 IDE Makes Life Simpler

In theory, using MicroPython on the ESP32 is easy —  just flash an image and connect using a serial port. But that leaves a lot of things you still have to do. You need to move files between the two platforms. You’ll want to manage network configurations. You might want better editing and assistance, too. So there are a number of IDEs made to help you and one we recently noticed was MPY-Jama.

The IDE provides source code editing, of course. But it also allows you to do things like pull information about the network using a dashboard or connect to a WiFi network easily. You can even create your own AP with a simple interface.

Although the front part of the README mentions it is for Windows or Mac, if you scroll down you’ll find instructions for installing under Linux. The IDE is extensible using “Jama Funcs” and can handle the flashing operation from inside the IDE.

Of course, there is an IDE from Arduino (but not the Arduino IDE) that handles MicroPython. You can also find a rundown of several similar alternatives online.  If you need some inspiration for a MicroPython project, perhaps you’d like to play a game?

A Commodore 64 accessing an online service

The WiC64 Brings Classic Commodores Online, Google Maps Included

A computing platform is never really dead unless people stop developing new software for it. By that measure, the Commodore 64 is alive and well: new games, demos, and utilities are still being released on a regular basis. Getting those new programs onto an old computer was always a bit of a hassle though, requiring either an SD card adapter for the Commodore or a direct cable connection from an internet-connected PC. Luckily, there’s now a simpler way to get your latest software updates thanks to a WiFi adapter called WiC64.  This adapter plugs into the expansion port of a classic Commodore and lets you download programs directly into memory. [Tommy Ovesen] over at [Arctic Retro] bought one and explored its many features.

The basic design of the WiC64 is straightforward: an ESP32 mounted on an adapter board that connects its data bus to that of the Commodore 64, 128 or VIC-20. A simple program, which you still need to transfer the old way, lets you configure the device and connect to a WiFi network. Once that’s done, an interactive BBS-style program is launched that allows you to access a range of online services. The WiC64 developers provide these, but since the system is fully open-source there’s nothing stopping you from running your own servers as well.

A street on Google Maps, rendered on a Commodore 64 Services currently available include an RSS reader, several multiplayer online games, and even a radio station that plays non-stop SID tunes. There’s also a direct link to CSDB, an online database of Commodore 64 programs and demos which you can now simply download and run directly on your C64 – in effect, a modern app store for a classic computer.

One feature that really seems to defy the C64’s hardware limitations is a fully functional version of Google Maps. Even with the Commodore’s limited resolution and color depth, it does a pretty decent job of showing maps, satellite photos, and even Street View images.

Using the WiC64 requires no hardware modifications to the Commodore 64, but a custom ROM is available that enables a few convenient features such as LOADing programs directly from a web address. There have been several attempts at getting classic Commodores online, but none so far that managed to get complex apps like Google Maps running. We have seen YouTube videos being played on a Commodore PET though.

Continue reading “The WiC64 Brings Classic Commodores Online, Google Maps Included”

Cheap Kitchen Scale Learns To Speak JSON With ESP32

Smart kitchen appliances are expensive, and more often than not, your usage data goes to whichever company operates the inevitable cloud service. Meanwhile the cheap ones contain substantially the same components without the smarts, so surely a hardware hacker can add a microcontroller to a cheap appliance for a bit of smart home technology without the privacy issues? It’s something [Liore] has done with an Amazon Basics kitchen scale, removing the electronics and wiring up an ESP32 to the load cell instead.

The Wheatstone bridge load cell circuit generates a tiny voltage difference that’s far too small for an ESP32 to measure, so in between the pair is an Avia Semiconductor HX711 strain gauge amplifier module. In addition, there’s a small OLED screen and the two buttons used in the Amazon scale are wired in too, providing the the kitchen scale functionality you’d expect.

Naturally the ESP32 brings along with it WiFi networking capabilities, which [Liore] has taken full advantage of here. By navigating a web browser to its IP address, you’ll receive the scale’s current reading in JSON format. This should make it easy to integrate with other systems, from Home Assistant to OctoPrint. We can see that there is plenty of scope for further enhancements for those prepared to write a little code.

Of course, this isn’t the first enhanced scale we’ve brought you, here’s one with Bluetooth. We’ve also seen hackers dispense with the kitchen-safe trappings and build the load cell directly into their own contraptions.

Two "On Air" signs

Automatic On Air Light Prevents Distractions During Online Meetings

Remote working has become so normal that even important meetings are now routinely held online. But for those working from home there’s always the risk of pets or flatmates entering the room right when you’re in a heated argument with your boss or presenting your results to an important client. To overcome this problem, [Hans Scharler] designed a system that lights up a big “ON AIR” sign whenever he’s in an online meeting. Although his cat might still disregard it, any human housemates will now know not to disturb him.

The inside of an "On Air" sign with an ESP32 and an LED strip inside[Hans] built a similar device out of spare parts back in 2020, but completely redesigned it to make a more robust version. The basic idea is simple: the sign is illuminated whenever [Hans]’s webcam is enabled, as he is then presumably in a meeting. A few lines of Python code detect the webcam’s state and send the result to ThingSpeak, an IoT service that can be hooked up to various types of gadgets. In this case, the online service sends a signal to an ESP32 hidden inside the sign to turn on an LED string. Those LEDs consume very little power, so they can be driven directly from one of the ESP32’s GPIO ports.

The whole system is powered by a 5V USB power supply and can be placed on a shelf or mounted on a wall, giving your room a bit of a vintage radio studio vibe. Modern IoT services make this kind of project much easier than before: back in 2011, [Matt] probably had to write a lot more code to make a similar Arduino-powered light work.