A wearable circuit sculpture in the form of a smart bracelet that shows daily to-dos.

Wearable Circuit Sculpture Is One Smart Bracelet

Well, this might just be a Hackaday first. Certainly not the circuit sculpture part, nor the wearable aspect, but the glorious combination of the two. Behold [CMoz]’s Fashionably on Task: a Smart Bracelet for Forgetfulness. The name may be long, but the intent is concise: to showcase your top five must-dos for the day.

This lovely bracelet uses a tri-color e-paper display, and it’s WiFi enabled in order to receive input from the corresponding phone app. Although the cute pink ESP32-C3 is programmed in PlatformIO, the code will work with the Arduino IDE as well.

To get down to business, just power on the bracelet. If it can’t connect to the network you’ve hard-coded, it will broadcast it’s own access point. Connect with your phone to the custom web page, and Bob’s your uncle. From here, you can enter the tasks, change the colors around, mark tasks as complete, and remove tasks or reset recurring reminders.

The nifty part is that e-paper screen, since it will of course continue to display your list once powered down. Here’s the full code. Then you can deep-dive into the graph theory of circuit sculptures.

Simulating The AVR8 For A Browser-based Arduino Emulator

It’s always nice to simulate a project before soldering a board together. Tools like QUCS run locally and work quite well for analog circuits, but can fall short with programmable logic. Tools like Wokwi handle the programmable side quite well but may have license issues or require the cloud. The Velxio project by [David Montero Crespo] is quite an excellent example of an (online) circuit simulator with programmable logic and local execution!

It’s built largely around Wowki’s AVR8JS library for Arduino simulation. All CPU simulation occurs on the local computer, while sketch compilation happens on the backend using official Arduino tools. But this was certainly not the most impressive aspect of the project. Likewise, Velxio features RP2040 execution using the rp2040js library. It also features the execution of some ESP32 derivative boards built around the RISC-V architecture using the RiscVCore.ts library.

Continue reading “Simulating The AVR8 For A Browser-based Arduino Emulator”

What To Do With A Flash-less ESP32-C3 Super Mini Board?

In an update video by [Hacker University] to an earlier video on ESP32-C3 Super Mini development boards that feature a Flash-less version of this MCU, the question of adding your own Flash IC to these boards is addressed. The short version is that while it is possible, it’s definitely not going to be easy, as pins including SPIHD (19) and SPICLK (22) and SPIQ (24) are not broken out on the board and thus require one to directly solder wires to the QFN pads.

Considering how sketchy it would be to have multiple wires running off to an external Flash IC, this raises many questions about the feasibility, as well as cost-effectiveness. Some in the comments to the video remark that instead you may as well swap the MCU with a version that does contain built-in Flash, but this is countered with the argument that a new ESP32-C3 Super Mini board with the right MCU costs as much as a loose MCU from your favorite purveyor of ICs.

Ultimately this lends some credence to calling these zero Flash Super Mini boards a ‘scam’, as their use cases would seem to be extremely limited and their Flash-less nature very poorly advertised.

Continue reading “What To Do With A Flash-less ESP32-C3 Super Mini Board?”

Be Wary Of Flash-less ESP32-C3 Super Mini Boards

Everyone loves tiny microcontroller boards, and the ESP32-C3 Super Mini boards are no exception. Unfortunately if you just casually stroll over to your nearest online purveyor of such goods to purchase a bunch of them, you’re likely to be disappointed. The reason for this is, as explained in a video by [Hacker University] that these boards are equipped with any of the variants of the ESP32-C3. The worst offender here is probably the version with the ESP32-C3 without further markings, as this one has no built-in Flash for program storage.

Beyond that basic MCU version we can see the other versions clearly listed in the Espressif ESP32-C3 datasheet. Of these, the FN4 is already listed as EOL, the FH4AZ as NRND, leaving only the FH4 and FH4X with the latter as ‘recommended’ as the newest chip revision. Here the F stands for  built-in Flash with the next character for its temperature rating, e.g. H for ‘High’. Next is the amount of Flash in MB, so always 4 MB for all but the Flash-less variant.

Identifying this information from some online listing is anything but easy unless the seller is especially forthcoming. The chip markings show this information on the third row, as can be seen in the top image, but relying solely on a listing’s photos is rather sketchy. If you do end up with a Flash-less variant, you can still wire up an external Flash chip yourself, but obviously this is probably not the intended use case.

As always, caveat emptor.

Continue reading “Be Wary Of Flash-less ESP32-C3 Super Mini Boards”

ESP32 Hosts Functional Minecraft Server

If you haven’t heard of Minecraft, well, we hope you enjoyed your rip-van-winkle nap this past decade or so. For everyone else, you probably at least know that this is a multiplayer, open world game, you may have heard that running a Minecraft server is a good job for maxing out a spare a Raspberry Pi. Which is why we’re hugely impressed that [PortalRunner] managed to squeeze an open world onto an ESP32-C3.

Of course, the trick here is that the MCU isn’t actually running the game — it’s running bareiron, [PortalRunner]’s own C-based Minecraft server implementation. Rewriting the server code in C allows it to be optimized for the ESP32’s hardware, but it also let [PortalRunner] strip his server down to the bare essentials, and tweak everything for performance. For example, instead of the multiple octaves of Perlin noise for terrain generation, with every chunk going into RAM, he’s using the x and z of the corners as seeds for the psudorandom rand() function, and interpolating between them. Instead of caves being generated by a separate algorithm, and stored in memory, in bareiron the underground is just a mirror-image of the world above. Biomes are just tiled, and sit separately from one another.

So yes, what you get from bareiron is simpler than a traditional Minecraft world — items are simplified, crafting is simplified, everything is simplified, but it’s also running on an ESP32, so you’ve got to give it a pass. With 200 ms to load each chunk, it’s playable, but the World’s Smallest Minecraft Server is a bit like a dancing bear: it’s not about how well it dances, but that it dances at all.

This isn’t the first time we’ve seen Minecraft’s server code re-written: some masochist did it in COBOL, but at least that ran on an actual computer, not a microcontroller. Speaking of low performance, you can’t play Minecraft on an SNES, but you can hide the game inside a cartridge, which is almost as good.

Thanks to [CodeAsm] for the tip. Please refer any other dancing bears spotted in the wild to our tips line.

Continue reading “ESP32 Hosts Functional Minecraft Server”

A clear acrylic cylinder is shown, inside of which plants are visible. There is mist inside the tube, and LEDs light it from above. A black plastic cap to the tube is visible.

Preserve Your Plants With An Automated Terrarium

For those of us who aren’t blessed with a green thumb and who are perhaps a bit forgetful, plants can be surprisingly difficult to keep alive. In those cases, some kind of automation, such as [Justin Buchanan]’s Oasis smart terrarium, is a good way to keep our plants from suffering too much.

The Oasis has an ultrasonic mister to water the plants from a built-in tank, LED grow lights, fans to control airflow, and a temperature and humidity sensor. It connects to the local WiFi network and can set up recurring watering and lighting schedules based on network time. Most of the terrarium is 3D-printed, with a section of acrylic tubing providing the clear walls. Before installing the electronics, it’s a good idea to waterproof the printed parts with low-viscosity epoxy, particularly since the water tank is located at the top of the terrarium, where a leak would drip directly onto the control electronics.

Continue reading “Preserve Your Plants With An Automated Terrarium”

Simple Antenna Makes For Better ESP32-C3 WiFi

We’ve seen tons of projects lately using the ESP32-C3, and for good reason. The microcontroller has a lot to offer, and the current crop of tiny dev boards sporting it make adding a lot of compute power to even the smallest projects dead easy. Not so nice, though, is the poor WiFi performance of some of these boards, which [Peter Neufeld] addresses with this quick and easy antenna.

There are currently a lot of variations of the ESP32-C3 out there, sometimes available for a buck a piece from the usual suspects. Designs vary, but a lot of them seem to sport a CA-C03 ceramic chip antenna at one end of the board to save space. Unfortunately, the lack of free space around the antenna makes for poor RF performance. [Peter]’s solution is a simple antenna made from a 31-mm length of silver wire. One end of the wire is formed into a loop by wrapping it around a 5-mm drill bit and bending it perpendicular to the remaining tail. The loop is then opened up a bit so it can bridge the length of the ceramic chip antenna and then soldered across it. That’s all it takes to vastly improve performance as measured by [Peter]’s custom RSSI logger — anywhere from 6 to 10 dBm better. You don’t even need to remove the OEM antenna.

The video below, by [Circuit Helper], picks up on [Peter]’s work and puts several antenna variants to further testing. He gets similarly dramatic results, with 20 dBm improvement in some cases. He does note that the size of the antenna can be a detriment to a project that needs a really compact MCU and tries coiling up the antenna, with limited success. He also did a little testing to come up with an optimal length of 34 mm for the main element of the antenna.

There seems to be a lot of room for experimentation here. We wonder how mounting the antenna with the loop perpendicular to the board and the main element sticking out lengthwise would work. We’d love to hear about your experiments, so make sure to ping us with your findings.

Continue reading “Simple Antenna Makes For Better ESP32-C3 WiFi”