Espressif Leaks ESP32-C3: A WiFi SoC That’s RISC-V And Is ESP8266 Pin-Compatible

Six years on from the emergence of the Espressif ESP8266 we might believe that the focus had shifted to the newer dual-core ESP32. But here comes a twist in the form of the newly-revealed ESP32-C3. It’s a WiFi SoC that despite its ESP32 name contains a RISC-V core in place of the Tensilica core in the ESP32s we know, and uses the ESP8266 pin-out rather than that of its newer sibling. There’s relatively little information about it at the time of writing, but CNX Software have gathered together what there is including a draft datasheet whose English translation is available as a Mega download. As with other ESP32 family members, this one delivers b/g/n WiFi and Bluetooth Low-Energy (BLE) 5, where it differs is the RISC-V 32 Single-core processor with a clock speed of up to 160 MHz. There is 400 kB of SRAM and 384 kB ROM storage space built in.

While there is no official announcement yet, Espressif has been dropping hints. There’s been an OpenOCD configuration file for it in the Espressif repositories since the end of last month. And on Friday, Espressif Software Engineering Manager [Sprite_tm] answered a reddit comment, confirming the RISC-V core.

ESP-01: Kjerish, CC BY-SA 4.0, RISC-V logo: RISC-V foundation, Public domain.

Why they are releasing the part as an ESP32 rather than giving it a series number of its own remains a mystery, but it’s not hard to see why it makes commercial sense to create it in an ESP8266-compatible footprint. The arrival of competing parts in the cheap wireless SoC space such as the Bouffalo Labs BL602 we mentioned recently is likely to be eating into sales of the six-year-old chip, so an upgrade path to a more capable part with minimal new hardware design requirements could be a powerful incentive for large customers to stay with Espressif.

We’re left to guess on how exactly the rollout will proceed. We expect to see similar developer support to that they now provide for their other chips, and then ESP32-C3 powered versions of existing ESP8266 boards in short order. It’s also to be hoped that a standard RISC-V toolchain could be used instead of the device-specific ones for current Espressif offerings. What we should not expect are open-source replacements for the blobs that drive the on-board peripherals, as the new chip will share the same closed-source IP as its predecessors for them. Perhaps if the PINE64 initiative to reverse engineer blobs for the BL602 bears fruit, we might see a similar effort for this chip.

DOOM Running On The Nintendo Game & Watch

Today the newly-released Nintendo Game & Watch can play DOOM. Sure, there are caveats…this is a watered down version due to the restraints of the hardware itself. But the important thing is that this shows the hardware has been fully owned. This is code written to replace the firmware that ships on the STM32 within, and that makes this a gorgeous little hardware platform that is completely open to homebrew hacking.

Honestly, you had to assume this was going to happen pretty quickly considering the effort being thrown into it. We first reported on Tuesday that the EEPROM memory which stores the ROMs on the Game and Watch had been decoded. Shortly after that was published, [stacksmashing] and [Konrad Beckmann] were showing test patterns on the display and mentioning the audio was working as well. Turns out they were able to dump the stock firmware despite the chip being security locked.

We’ll have to wait for more details on exactly how to dump firmware, but [stacksmashing] drops enough of a mention in the video below to confirm the obvious. A common approach to dumping code from a locked microcontroller is to find a vulnerability that grants execution of custom code. Being able to run just a few lines of your own code is enough set up something as simple as looping through all internal flash memory addresses and dumping them over a few GPIO pins. In this case our two heroes discovered some ARM code was being loaded from the EEPROM onto the STM32, and managed to inject their own directives to perform the dump. They have promised full details soon.

What we have today is a pretty tricky hack not just to load code, but to get DOOM to run on meager hardware specs. Notably, 128 k of SRAM and 1.3 MB of external RAM. There’s also a bottleneck with the 1.1 MB of FLASH for storing game files. The textures were stripped down, and memory allocation was rewritten, but the proof of concept is there and the game runs. Homebrew, here we come!

Continue reading “DOOM Running On The Nintendo Game & Watch”

Artistic Robot Has Paints, Will Travel

Creativity is a very human trait, and one that many try to emulate with robots. Some focus on the cerebral side of things, working with neural networks and machine learning to produce new artistic output. Others work on the mechanical side, building ‘bots that can manipulate tools in the real world for artistic purposes. [Technovation]’s latest build falls into the latter category – a small Arduino-powered ‘bot that likes to paint.

The robot moves around on two wheels, each driven by a stepper motor for accurate movement. The paintbrush itself is controlled with another stepper, which rotates it between the paint pots and the canvas. A servo is used to dip the brush into pots, and to apply it to the canvas. An Arduino Uno runs the show, with the robot currently programmed to paint random lines of various colors on the canvas.

By virtue of its roving design, it could theoretically paint on arbitrarily large canvasses. It’s a platform that could prove highly capable when paired with a neural network and perhaps some machine vision to allow it to concoct more complex artworks. We’ve seen other paint bots before, too. Video after the break.

Continue reading “Artistic Robot Has Paints, Will Travel”

Blue Pill As A Nerdy Swiss Army Knife

Not everyone can afford an oscilloscope, and some of us can’t find a USB logic analyzer half the time. But we can usually get our hands on a microcontroller kit, which can be turned into a makeshift instrument if given the appropriate code. A perfect example is buck50 developed by [Mark Rubin], an open source firmware to turn a STM32 “Blue Pill” into a multi-purpose test and measurement instrument.

buck50 comes with a plethora of functionality built in which includes an oscilloscope, logic analyzer, and bus monitor. The device is a two way street and also comes with GPIO control as well as PWM output. There’s really a remarkable amount of functionality crammed into the project. [Mark] provides a Python application that exposes a text based UI for configuring and using the device though commands and lots of commands which makes this really nerdy. There are a number of options to visualize the data captured which includes gnuplot, gtk wave and PulseView to name a few.

[Mark] does a fantastic job not only with the firmware but also with the documentation, and we really think this makes the project stand out. Commands are well documented and everything is available on [GitHub] for your hacking pleasure. And if you are about to order a Blue Pill online, you might want to check out the nitty-gritty of the clones that are floating around.

Thanks [JohnU] for the tip!

RGB Party Bike Flashes With The Beat

One of the biggest dangers to a cyclist is not being seen at night. To counteract this, all manner of lighting and reflective gear is available to help ensure bicycles are seen on the streets. Of course, you don’t have to stop at the purely practical. [TechnoChic] decided to have some fun with her ride, festooning her party bike with many, many LEDs.

As you’d expect, the RGB illuminations are thanks to WS2812B LED strips. Running the show is  a trio of Arduino Nano 33 IoTs – one for the LEDs on the bike’s frame, the other two mounted on the front and back wheels respectively. This allowed for the easy control of LEDs on the spokes without having to pass data and power lines to the rotating wheels. The LEDs on the frame are even music-reactive, with the Arduino sampling music input via one of its analog-to-digital converters.

Paired with a boombox on the bike, the build makes for a great way to hype up group rides through the city at night. We can imagine such a bike being an absolute hit at Critical Mass, though you’ve probably gotta add a laser or glitter cannon if you’re going to draw attention at Burning Man. If you’re tired of pedaling, you might consider an electric conversion, too. Video after the break.

Continue reading “RGB Party Bike Flashes With The Beat”

Intel’s Forgotten 1970s Dual Core Processor

Can you remember when you received your first computer or device containing a CPU with more than one main processing core on the die? We’re guessing for many of you it was probably some time around 2005, and it’s likely that processor would have been in the Intel Core Duo family of chips. With a dual-core ESP32 now costing relative pennies it may be difficult to grasp in 2020, but there was a time when a multi-core processor was a very big deal indeed.

What if we were to tell you that there was another Intel dual-core processor back in the 1970s, and that some of you may even have owned one without ever realizing it? It’s a tale related to us by [Chris Evans], about how a team of reverse engineering enthusiasts came together to unlock the secrets of the Intel 8271.

If you’ve never heard of the 8271 you can be forgiven, for far from being part of the chip giant’s processor line it was instead a high-performance floppy disk controller that appeared in relatively few machines. An unexpected use of it came in the Acorn BBC Micro which is where [Chris] first encountered it. There’s very little documentation of its internal features, so an impressive combination of decapping and research was needed by the team before they could understand its secrets.

As you will no doubt have guessed, what they found is no general purpose application processor but a mask-programmed dual-core microcontroller optimized for data throughput and containing substantial programmable logic arrays (PLAs). It’s a relatively large chip for its day, and with 22,000 transistors it dwarfs the relatively svelte 6502 that does the BBC Micro’s heavy lifting. Some very hard work at decoding the RMO and PLAs arrives at the conclusion that the main core has some similarity to their 8048 architecture, and the dual-core design is revealed as a solution to the problem of calculating cyclic redundancy checks on the fly at disk transfer speed. There is even another chip using the same silicon in the contemporary Intel range, the 8273 synchronous data link controller simply has a different ROM. All in all the article provides a fascinating insight into this very unusual corner of 1970s microcomputer technology.

As long-time readers will know, we have an interest in chip reverse engineering.

Beer Pong Difficulty Level: 10

Beer pong is a fun enough game for those of a certain age, but one thing that it lacks is a way of cranking up the difficulty setting independent of the amount of beer one has consumed. At least, that was the idea [Ty] had when he came up with this automated beer pong table which allows the players to increase the challenge of this game by sliding the cups around the top of the table.

The build uses a belt-driven platform under a clear cover with a set of magnets attached. Each of the cups on the table has a corresponding magnet, which allows them to slide fairly easily back and forth on the table. The contraption is controlled by an Arudino Nano with a small screen and dial that allows the players to select a difficulty level from 1 to 10. The difficulty levels increase the speed that the cups oscillate on the table, which certainly adds another layer of complexity to this already challenging game.

While we hope to eventually see a beer pong table that can automatically arrange the cups as the game is played, we do appreciate the effort to make an already difficult game even more difficult. Of course, if you have problems with the difficulty level you might want to pick up a PongMate CyberCannon Mark III to help with those clutch beer pong shots.

Continue reading “Beer Pong Difficulty Level: 10”