Eurorack Synth Module Runs On ESP32

The ESP32 is well known for both its wireless communication abilities, as well as the serious amount of processing power it possesses for a microcontroller platform. [Robert Manzke] has leveraged the hardware to produce a Eurorack audio synthesis platform with some serious capabilities.

Starting out as a benchmarking project, [Robert] combined the ESP32 with an WM8731 CODEC chip to handle audio, and an MCP3208 analog-to-digital converter. This gives the platform stereo audio, and the ability to handle eight control-voltage inputs.

The resulting hardware came together into what [Robert] calls the CTAG Strämpler. It’s a sampling-based synthesizer, with a wide feature set for some serious sonic fun. On top of all the usual bells and whistles, it features the ability to connect to the freesound.org database over the Internet, thanks to the ESP’s WiFi connection. This means that new samples can be pulled directly into the synth through its LCD screen interface.

With the amount of power and peripherals packed into the ESP32, it was only a matter of time before we saw it used in some truly impressive audio projects. It’s got the grunt to do some pretty impressive gaming, too. Video after the break.

Continue reading “Eurorack Synth Module Runs On ESP32”

New Part Day: Espressif Announces ESP32-S2 With USB

Espressif, the company behind the extremely popular ESP8266 and ESP32 microcontrollers has just announced their latest chip. It’s the ESP32-S2. It’s a powerful WiFi-enabled microcontroller, and this one has support for USB OTG.

Compared to the ESP32 we know and love, there are a few differences. The ESP32-S2 uses a single core Xtensa LX7 core running at up to 240 MHz, where the current ESP32 uses either a single or dual core LX6. The differences between these cores is hidden away in marketing speak and press releases, but it appears the LX7 core is capable of many more floating point operations per cycle: apparently 2 FLOPS / cycle for the LX6, but 64 FLOPS / cycle for the LX7. This is fantastic for DSP and other computationally heavy applications. Other features on the chip include 320 kB SRAM, 128 kB ROM, and 16 kB of RTC memory.

Connectivity for the ESP32-S2 is plain WiFi; Bluetooth is not supported. I/O includes 42 GPIOs, 14 capacitive touch sensing IOs, the regular SPI, I2C, I2S, UART, and PWM compliment, support for parallel LCDs, a camera interface, and interestingly full-speed USB OTG support. Yes, the ESP32-S2 is getting USB, let us all rejoice.

Other features include an automatic power-down of the RF circuitry when it isn’t needed, support for RSA and AES256, and plenty of support for additional Flash and SRAMs should you need more memory. The packaging is a 7 mm x 7 mm QFN, so get out the microscope, enhance your calm, and bust out the flux for this one. Engineering samples will be available in June, and if Espressif’s past performance in supplying chips to the community holds true, we should see some projects using this chip by September or thereabouts.

(Banner image is of a plain-old ESP32, because we don’t have any of the new ones yet, naturally.)

Perfecting The Open Source RC Controller

Over the last few months we’ve seen an influx of homebrew RC controllers come our way, and we’re certainly not complaining. While the prices of commercial RC transmitters are at an all-time low, and many of them can even run an open source firmware, there’s still nothing quite like building the thing yourself. How else are you going to get exactly what you want?

For this entry into the 2019 Hackaday Prize, [Vitor de Miranda Henrique] is working on his own version of the ultimate open source remote control. His design follows some of the trends we’ve already seen in terms of outward design and hardware expandability, but also branches off into some new territory with features such as dual integrated displays.

Why does your controller need two displays? The top 4.3 inch TFT is linked up to a 5.2 GHz video receiver, which makes it perfect for controlling vehicles in “first-person” view, such as drones. The lower screen is a 2.8 inch touch screen from Adafruit, which is intended to be used for navigating through menus and options once the firmware is fully fleshed out.

Powering the controller is a ESP32 and dual MCP23017 GPIO expanders to connect up to the array of input devices available to the user. The current iteration of the controller has ten switches, two encoders, some buttons, and a pair of scroll wheels for good measure. Oh, and of course there are a couple of joysticks in the mix as well. All the devices terminate at a custom PCB in the back of the controller which looks to make modifying and adding input devices simple and neat.

We’ve previously seen the Alpha V1, an open source controller with a fairly similar setup, albeit without the dual displays. If even that one is a bit more complex than you’d like, you can always just do it with an Arduino.

What’s More Accurate Than A GPS Clock? The OpenPPS GPS Clock

Making a GPS clock is a relatively straightforward process on the face of it. Buy a GPS module for a few dollars, hook it up to a microcontroller board of your choice, pick the appropriate library and write a bit of code, et voila! A clock with time-wonk bragging rights!

Of course, your GPS clock will always tell the right time, but it won’t be really right. Your microcontroller will introduce all sorts of timing errors and jitter, so at best it’ll only be nearly right. [Rick MacDonald] has been striving to quantify and minimise these errors in his OpenPPS project, which aims to be as accurate a GPS time and frequency reference as possible.

In a very comprehensive multi-page write-up, he details his progression, through the GPS modules he used, his experience with timing jitter when he used an ESP32 alone to process their output, and then his experiments with an FPGA and then temperature-compensated oscillators. It moves from being a mere description of a GPS clock into a fascinating run-down of both GPS timing itself and the development pitfalls he encountered along the way. At the end of it all he has a GPS clock in a smart 3D-printed enclosure which he admits as yet doesn’t do anything more than tell the time, but as he points out it’s a clock with minimised jitter, delay, and drift, and it remains an ongoing project that will evolve into a full-blown time and frequency standard.

If your taste in GPS clocks is far more simple, there are plenty of projects showing how a more basic one can be produced.

Robot Arms Nudge The Hands Of Time In The Strangest Clock

We see a lot of clocks here at Hackaday. Digital clocks, retro clocks, lots of Nixie clocks, binary clocks, and clocks that appear to be designed specifically to be unreadable. But this dual-servo kinematic clock is something we haven’t seen yet, and it’s certainly worth a mention.

[mircemk]’s idea is simple and hearkens back to grammar school days when [Teacher] put a large cardboard clock dial on the blackboard and went through the “big hand, little hand” drill. In this case, the static cardboard clock has been replaced by a 3D-printed dial and hands, while a pair of servos linked together by two arms takes the place of the teacher. The video below shows it in action; the joint in the linkage between the two servos has a screw sticking out that can be maneuvered across the clock face to reposition the hands. It’s a little jittery, though; [mircemk] might want to tune the servo loops up a bit or tighten the linkage joints to make things a little smoother.

Even with the shakes, we find it wonderfully weird and hard to stop watching. It reminds us a bit of this luminous plotting clock from a while back – same linkage, different display.

Continue reading “Robot Arms Nudge The Hands Of Time In The Strangest Clock”

Lots Of Blinky! ESP32 Drives 20,000 WS2812 LEDs

20,000 LEDs sounds like an amazing amount of blink. When we start to consider the process of putting together 20,000 of anything, and then controlling them all with a small piece of electronics the size of a postage stamp, we get a little bit dizzy. Continue reading “Lots Of Blinky! ESP32 Drives 20,000 WS2812 LEDs”

Parasite ATtiny Resets Your ESP32 For You

Embedded development can be a tough process. Between weird electrical gremlins, obscure bugs and our own mistakes, it can be a real struggle at times. To keep cognitive loads to a minimum, it’s best to make sure your tools are as simple and easy to use as possible. [tech] got tired of having to push a button to prepare the ESP32 for programming, and decided to solve the problem.

The solution comes via another microcontroller, in this case an ATtiny9. The small device listens in on the ESP32’s serial receiving pin. When it detects the Arduino IDE’s boot sequence on the line, it switches the BOOT0 and RESET lines on the ESP32, emulating the button presses to force it into programming mode.

Once you’ve become accustomed to one-click programming your ESP boards, you’re not going to want to go back. We could imagine this hack being replicated in a tidy piggyback format so it could be moved from board to board as workflow dictates.

If you’ve got an ESP32 lying around and don’t know what to do with it, you could always consider getting into game development.