Global Thermonuclear War: Tweeted

[Andreas Spiess] did a video earlier this year about fallout shelters. So it makes sense now he’s interested in having a Geiger counter connected to the network. He married a prefabricated counter with an ESP32. If it were just that simple, it wouldn’t be very remarkable, but [Andreas] also reverse-engineered the schematic for the counter and discusses the theory of operation, too. You can see the full video, below.

We often think we don’t need a network-connected soldering iron or toaster. However, if you have a radiological event, getting a cell phone alert might actually be useful. Of course, if that event was the start of World War III, you probably aren’t going to get the warning, but a reactor gas release or something similar would probably make this worth the $50.

Continue reading “Global Thermonuclear War: Tweeted”

Quick And Easy NTP Clock

[Danman] got an ESP32 with built-in OLED display, and in the process of getting a clock up and running and trying to get a couple of NodeMCU binaries installed on it, thought he’d try rolling his own.

[Danman] used PlatformIO to write the code to his ESP. PlatformIO allowed [Danman] to browse for a NTP library and load it into his project. After finding the NTP library, [Danman] wrote a bit of code and was able to upload it to the ESP. When that was uploaded [Danman] noticed that nothing was being displayed on the OLED, but that was just a simple matter of tracking down the right address to use when setting up the library for his OLED. Lastly, [Danman] created a large font to display the time with and his mini-clock was done!

It’s always nice to see someone be able to go from buying a board to having a demo put together, and it’s getting easier and easier. Check out this OLED watch, and this pocket watch doesn’t use OLEDs, but it still looks pretty cool.

7-Segment Digits Slide Stylishly On This OLED Clock

Over at Sparkfun, [Alex] shared an OLED clock project that’s currently in progress but has a couple interesting twists. The first is the use of a small OLED screen for each digit, to which [Alex] added a stylistic touch. Digits transition by having segments slide vertically in a smooth animated motion. It’s an attractive effect, and the code is available on his github repository for anyone who wants to try it out.

[Alex] also found that by using an ESP32 microcontroller and synchronizing the clock via NTP over WiFi, the added cost of implementing a real-time clock in hardware becomes unnecessary. Without an RTC, time would drift by a few seconds every day and require a reset. At the moment the clock requires the SSID and password to be hardcoded, but [Alex] would prefer to allow this to be configured via a web page and could use some help. If you have implemented a web server on the ESP32, [Alex] would like to know how you handled multiple pages. “I’ve been scratching my head throughout the build on how to get this done,” he writes. “With the ESP8266, there’s on(const String &uri, handler function), but that seems to have been removed on the ESP32.” If you can point [Alex] in the right direction, be sure to pipe up.

OLED displays and clocks often go together, as we have seen with projects like the DIY OLED Smart Watch, but it’s nice to see someone using the OLED’s strengths to add some visual flair to an otherwise plain display.

A Robot That Can Still Keep Its Balance After A Night In The Pub

One of the star attractions at the recent bring-a-hack prior to our London unconference was [Dan]’s two-wheeled self-balancing robot. As the assorted masses of the Hackaday readership consumed much fine ale and oohed and ahhed over each others work, there it stood on a pub table, defying all attempts to topple it.

In a way a successful self-balancer can look surprisingly unexciting because it achieves the seemingly unimpressive task of just standing there and not doing much except trundling about, but to take such a superficial view belies the significant feat of engineering that gives the self-balancer its party trick. And it’s no mean achievement to create one from fairly basic hardware, so how has he done it?

The 3D-printed frame holds a pair of stepper motors to do the hard work, while a piece of stripboard acts as carrier for boards containing the MPU6050 accelerometer and DRV8825 stepper motor drivers. Meanwhile the brains of the whole show started as an Espruino Pico but has since been moved to an ESP32.

There is a linked GitHub repository with all the code, and if our description of seeing it in a London pub isn’t good enough for you then you can see it in action in the video below.

Continue reading “A Robot That Can Still Keep Its Balance After A Night In The Pub”

Datalogger Uses ESP32 And ESP8266 Low Power Modes

[G6EJD] wanted to design a low power datalogger and decided to look at the power consumption of an ESP32 versus an ESP8266. You can see the video results below.

Of course, anytime someone does a power test, you have to wonder if there were any tricks or changes that would have made a big difference. However, the relative data is interesting (even though you could posit situations where even those results would be misleading). You should watch the videos, but the bottom line was a 3000 mAh battery provided 315 days of run time for the ESP8266 and 213 days with the ESP32.

Continue reading “Datalogger Uses ESP32 And ESP8266 Low Power Modes”

The ESP32… On A Chip

The new hotness in microcontrollers is the ESP32. This chip, developed by Espressif, is the follow-on to the very popular ESP8266, the cheap, low-power, very capable WiFi-enabled microcontroller that came on the scene a few years ago. The ESP32 is another beast entirely with two powerful cores, WiFi and Bluetooth, and peripherals galore. You can even put an NES emulator in there.

While the ESP32 is significantly more powerful, it has for now been contained in modules. What would really be cool is a single chip loaded up with integrated flash, filter caps, a clock, all on a 7x7mm QFN package. Meet the ESP32-Pico-D4 (PDF). It is, effectively, an ESP32 on a chip. It’s just the ticket if you’re trying to cram wireless, fast microcontroller wizardry into a small package.

At its heart, the ESP32-Pico is your normal ESP32 module with a Tensilica dual-core LX6 microcoprocessor, 448 kB of ROM, 520 kB of SRAM,  4 MB of Flash (it can support up to 16 MB), Wireless with 802.11 b/g/n and Bluetooth 4.2, and a cornucopia of peripherals that include an SD card, UART, SPI, SDIO, LED and motor PWM, I2S, I2C, cap touch sensors, and a Hall effect sensor. It’s quite literally everything you could ever want in a microcontroller.

Disregarding the just barely hand-solderable package and the need for a PCB antenna, the ESP32-Pico requires very few support components. Really, the only thing going on in the reference schematic is a bunch of bypass caps. This is, by far, the easiest and smallest method to put WiFi, Bluetooth, and a powerful microcontroller in a project. It will surely be a very, very popular chip for hobbyist electronics for years to come. Of course, it will be even more popular if Espressif also manages to put this chip in a QFP package in addition to the QFN.

Unfortunately, apart from the PDF released by Espressif, the details on the EPS32-on-a-chip are sparse. We don’t know when we’ll be able to get our grubby hands on a tray, tube, or reel of these chips. That said, there’s enough information here to start designing a breakout board. Have at it — we’d love to see what the community comes up with.

Shout out to [Dave] for the tip.

Secret Serial Port For Arduino/ESP32

If you use the Arduino IDE to program the ESP32, you might be interested in [Andreas Spiess’] latest video (see below). In it, he shows an example of using all three ESP32 UARTs from an Arduino program. He calls the third port “secret” although that’s really a misnomer. However, it does require a quick patch to the Arduino library to make it work.

Just gaining access to the additional UARTs isn’t hard. You simply use one of the additional serial port objects available. However, enabling UART 1 causes the ESP32 to crash! The reason is that by default, UART 1 uses the same pins as the ESP32 flash memory.

Luckily, the chip has a matrix switch that can put nearly any logical I/O pin on any physical I/O pin. [Andreas] shows how to modify the code, so that UART 1 maps to unused pins, which makes everything work. it is a simple change, replacing two parameters to a call that — among other things — maps the I/O pins. You could use the technique to relocate the UARTs to other places if you choose.

If you want to learn more about the ESP32, we covered a good set of tutorials for you to check out. Or if you just want a quick overview, you can start here.