FabGL Has Everything You Need To Write Games For The ESP32

Typically, when one considers writing a video game, the platform is among the first decisions to be made. The PC can be an easy one to start with, and mobile development is fairly accessible too. Of course, you could always develop for a microcontroller platform instead. [Fabrizio Di Vittorio] has built the perfect set of tools to do just that with the ESP32, by the name of FabGL.

The library contains a laundry list of features that are perfect for developing games. There’s VGA output with up to 64 colors, PS/2 mouse and keyboard inputs, as well as a capable graphics library and game engine. It can even act as an ANSI/VT terminal if necessary.

[Fabrizio] has put the hardware through its paces, with a variety of benchmarks displaying impressive performance with simple balls, polygons and sprites. You could easily produce a 2D game in an early 90s style without running into any hardware limitations — though given the ESP32 clocks in at up to 240MHz, that’s somewhat to be expected.

It’s an impressive project (video after the break), and we’d love to see more games developed on the platform. Once you have a VGA connector wired in you should try out some ESP32 VGA hacks. And for those ESP8266 die hards there’s a game engine for that chip too!

Continue reading “FabGL Has Everything You Need To Write Games For The ESP32”

ESP32 Alarm Clock Doesn’t Skimp On The Features

The ESP family of microcontrollers is absolutely on fire right now, with a decent chunk of the projects that come our way now based on one of the impossibly cheap WiFi-enabled boards. In fact, they are so cheap and popular that we’ve started to see a somewhat unexpected trend; people have a tendency to use them as drop-in replacements, despite the more modern boards being considerably more powerful than required. The end result is a bunch of projects in which the ESP is simply underutilized. It’s not a big deal, but somewhat disappointing to see.

But we can assure you this ESP32 alarm clock created by [Pangodream] is absolutely not one of them. He’s packed an impressive number of features into this unassuming little timepiece, and it’s really an excellent example of how much these boards are capable of without breaking a sweat. From DIY touch sensors to the Android application used to configure the clock over the network, this project is overflowing with neat hardware and software tricks worth taking a closer look at.

Inside the 3D printed case, the clock features a BH150 light sensor, the very popular DHT-11 for detecting temperature and humidity, as well as a ILI9341 2.8 inch LCD for the display. In a particularly clever touch (get it?), [Pangodream] used three coins connected to the digital pins of the ESP32 as capacitive sensors. These allow him to interact with the click just by tapping the top of the case, and saved him the trouble of adding traditional switches or buttons. We might have put some indentations in the top case to make identifying which of the three “buttons” you’re pushing, but we suppose the invisible interface does make things look a little more futuristic.

But if even that is too much physical touching for you, then [Pangodream] has come up with a fairly robust system for controlling and interacting with the clock over the network. It’s not just a convenient way of setting the time, a good number of the clock’s functions can be polled and configured in this manner; everything from the sensitivity of the touch sensors to how many times it will beep when the alarm goes off. To make things easier, he’s even wrapped it all up in a handy Android application for on the go configuration.

If this clock doesn’t offer you the level of over-engineering you require, check out this build that uses no less than five ESP32s to get the job done. Or maybe this one that hooks into NASA’s Deep Space Network.

Continue reading “ESP32 Alarm Clock Doesn’t Skimp On The Features”

Building an Army of ESP32 Air Quality Sensors

The ESP8266 and its heavyweight sibling the ESP32 are fantastic boards to develop with as they allow you to quickly and easily get a project online. Just tack a few sensors and some LEDs on them, and you’re well on the way to producing your own “Internet of Things”. The real challenge is utilizing the incredible capabilities these boards offer us to do something meaningful.

Judging by what he’s got so far, we think [Samuel Klit] is well on his way. He’s using the ESP32 and some off-the-shelf modular components to create an Internet-connected air quality monitoring station. But he’s not just building one or two of them, he’s building enough so they can be distributed and collect data over a wide area. Who knows, perhaps you’ll be building one next.

[Samuel] is using the CCS811 sensor which can pick up potentially harmful Volatile Organic Compounds (VOCs) and determine carbon dioxide concentrations, as well as a BMP280 sensor to read ambient temperature and atmospheric pressure. There’s also an SD card reader for local data storage, a 1602 LCD display that provides a basic user interface, and the electronics required to support the 18650 Li-Ion batteries which power the unit for up to 12 hours on a charge. Everything’s held in a professional looking enclosure that we’ll be sure to add to our next AliExpress order.

Collecting data is one thing, but what do you do with it once you’ve got it? To that end, each node runs a web interface that not only allows you to view current hardware status and download the locally stored data, but also provides an easy to understand visual representation of the environmental conditions. To get around the limited storage space for web assets on the chip, [Samuel] is calling out to Chart.js to inject some slick graphics into the web interface on-demand. The web interface is a particularly nice touch, and an excellent use of the power and capabilities offered by the ESP32.

We’ve previously seen air quality sensors added to Taxi cabs in Peru, the homes surrounding Barcelona’s Plaza del Sol, and of course [Radu Motisan] has done incredible work towards the goal of creating city-wide environmental monitoring networks. With increasingly capable technologies, it looks like citizens are studying the world around them in greater numbers than ever before.

Continue reading “Building an Army of ESP32 Air Quality Sensors”

ESP32 Video Tricks Hack Chat with bitluni

Join us Wednesday at noon Pacific time for the ESP32 Video Tricks Hack Chat!

The projects that bitluni works on have made quite a few appearances on these pages over the last couple of years. Aside from what may or may not have been a street legal electric scooter, most of them have centered around making ESP32s do interesting tricks in the analog world. He’s leveraged the DACs on the chip to create an AM radio transmitter, turned an oscilloscope into a video monitor, and output composite video. That last one was handy for turning a Sony Watchman into a retro game console. He’s also found ways for the ESP32 to output VGA signals. Looks like there’s no end to what he can make the versatile microcontroller do.

Although the conversation could (and probably will) go anywhere, we’ll start with video tricks for the ESP32 and see where it goes from there. Possible topics include:

  • Tricks for pushing the ESP32 DACs to their limits;
  • When to use an external DAC;
  • Optimizing ESP32 code by running on separate cores; and
  • What about HDMI on the ESP32?

You are, of course, encouraged to add your own questions to the discussion. You can do that by leaving a comment on the ESP32 Video Tricks Hack Chat and we’ll put that in the queue for the Hack Chat discussion.

join-hack-chatOur Hack Chats are live community events on the Hackaday.io Hack Chat group messaging. This week we’ll be sitting down on Wednesday, March 27, at noon, Pacific time. If time zones have got you down, we have a handy time zone converter.

Click that speech bubble to the right, and you’ll be taken directly to the Hack Chat group on Hackaday.io. You don’t have to wait until Wednesday; join whenever you want and you can see what the community is talking about.

Hackaday Links: March 24, 2019

It has come to my attention that a few of you don’t know about Crystalfontz, an online store where you can find displays of all types, from USB LCD displays to I2C OLEDs, to ePaper displays. Thanks to [arthurptj] for that tip. Yes, Crystalfontz is cool, but have you ever heard of Panelook? Oh boy are there some displays at Panelook. Here’s a 1024 by 768 resolution display that’s less than half an inch across.

The comments section of Hackaday has been pretty tame as of late, so here’s why Apple is the king of design. It’s a question of fillets. There are a few ways to add a fillet to the corner of an icon or a MacBook. The first is to draw two perpendicular lines, then add a fixed radius corner. The Apple way is to make everything a squircle. The ‘squircle’ way of design is that there are no sudden jumps in curvature, and yes, you can do this in Fusion360 or any other design tool. This is also one of those things you can’t unsee once you know about it, like the arrow in the FedEx logo.

The ESP8266 simply appeared one day, and it changed everything. The ESP32, likewise, also just arrived on the Internet one day, and right now it’s the best solution for a microcontroller, with WiFi, that also does things really fast. Someone over at Espressif is dropping hints of a new microcontroller, with a possible release on April 1st (the same date that Apple released their competitor to the Raspberry Pi). Is it RISC-V? Is it 5V tolerant? Who knows! (Editor’s note: it’s not RISC-V. Though they’re saying that’s in the pipeline.)

The Verge got their hands on an original iPhone engineering validation unit. It’s a breakout board for an iPhone.

San Dimas High School Football Rules

There’s a screwdriver in your toolbox that has a cast clear handle, a blue ferrule surrounding the shaft, and red and white lettering on the side. Go check, it’s there. It’s a Craftsman screwdriver. It’s an iconic piece of design that’s so ubiquitous that it’s unnoticeable. It’s just what a screwdriver is. It’s a prototypical screwdriver. Thanks to the rise of resin and turning craftsmanship, there’s now a gigantic version of this screwdriver.

[The 8-Bit Guy] posted the following message on his Facebook on March 19th: “Just FYI – somebody hacked and totally erased my website. So, it’s going to be down for a while.” At the time of this writing, everything looks okay, which brings up the larger question of why Facebook is still a thing. We’re on a gradient of coolness here, and the sooner you delete your Facebook, the cooler you are. I, for example, deleted my Facebook during the Bush administration, and we all know how cool I am. I’ll never get to the singularity of coolness of kids who never had a Facebook in the first place, but the point remains: delete your Facebook old man.

[SirEdmar] wants to bring Fusion 360 to Linux users. Autodesk wants the same, and they tried a web-based version of Fusion 360, but… it’s a web version of Fusion 360. Right now the best solution is Wine, and thanks to [SirEdamr] 360 works in Wine.

Bing translate does Klingon! How well does it work? Not bad, it could use some work, mostly with non-standard vocabulary:

Hacker Abroad: Visiting Espressif and Surprising Subway Ads

Thursday was my final day in Shanghai. After spending all of Wednesday at Electronica Asia, I headed over to the Espressif Headquarters which is just one subway stop away. This is of course the company behind the well-known ESP8266 and its younger sibling, the ESP32. My host was Ivan Grotkothov, Director of Software Platforms. The backstory on how he found his way to the company is truly interesting, as are the stories he shared on some of the legend and lore surrounding the WiFi capable chips the company makes — and the new one whose existence just leaked out this week.

Join me below for that and few other fun things from my last day in this city of 26 million people.

Continue reading “Hacker Abroad: Visiting Espressif and Surprising Subway Ads”

Library Makes ESP Over the Air Updates Easy

Potentially, one of the great things about having a device connected to the network is that you can update it remotely. However, how do you make that happen? If you use the Arduino setup for the ESP8266 or ESP32, you might try [scottchiefbaker’s] library which promises to make the process easy.

Adding it looks to be simple. You’ll need an include, of course. If you don’t mind using port 8080 and the path /webota, you only need to call handle_webota() from your main loop. If you want to change the defaults, you’ll need to add an extra call in your setup. You also need to set up a few global variables to specify your network parameters.

Continue reading “Library Makes ESP Over the Air Updates Easy”