Emulating A Power Grid

The electric power grid, as it exists today, was designed about a century ago to accommodate large, dispersed power plants owned and controlled by the utilities themselves. At the time this seemed like a great idea, but as technology and society have progressed the power grid remains stubbornly rooted in this past. Efforts to modify it to accommodate solar and wind farms, electric cars, and other modern technology need to take great effort to work with the ancient grid setup, often requiring intricate modeling like this visual power grid emulator.

The model is known as LEGOS, the Lite Emulator of Grid Operations, and comes from researchers at RWTH Aachen University. Its goal is to simulate a modern power grid with various generation sources and loads such as homes, offices, or hospitals. It uses a DC circuit to simulate power flow, which is visualized with LEDs. The entire model is modular, so components can be added or subtracted easily to quickly show how the power flow changes as a result of modifications to the grid. There is also a robust automation layer to the entire project, allowing real-time data acquisition of the model to be gathered and analyzed using an open source cloud service called FIWARE.

In order to modernize the grid, simulations like these are needed to make sure there are no knock-on effects of adding or changing such a complex system in ways it was never intended to be changed. Researchers in Europe like the ones developing LEGOS are ahead of the curve, as smart grid technology continues to filter in to all areas of the modern electrical infrastructure. It could also find uses for modeling power grids in areas where changes to the grid can happen rapidly as a result of natural disasters.

DOOM Comes To The NRF5340

If you’re looking for a reminder of how powerful the tiny microcontrollers that run our everyday gadgets have become, check out the work impressive work [Audun Wilhelmsen] has done to get DOOM running on the Nordic Semiconductor nRF5340. This is the sort of Bluetooth SoC you’d expect to find in a headset or wireless keyboard, and yet it’s packing a 128 MHz processor that can go head to head with the Intel 486 that the iconic first person shooter recommended you have in your old beige box PC.

That said, porting the open source shooter over to the nRF5340 wasn’t exactly easy. The challenge was getting the game, which recommended your PC have 8 MB back in 1993, to run on a microcontroller with a paltry 512 KB of memory. Luckily, a lot of the data the game loads into RAM is static. While that might have been necessary when the game was running from a pokey IDE hard drive, the nearly instantaneous access times of solid state storage and the nRF5340’s execute in place (XIP) capability meant [Audun] could move all of that over to an SPI-connected 8 MB flash chip with some tweaks to the code.

nRF53 Development board with I2S DAC

In general, [Audun] explains that many of the design decisions made for the original DOOM engine were made with the assumption that the limiting factor would be CPU power rather than RAM. So that lead to things often getting pre-calculated and stored in memory for instant access. But with the extra horsepower of the nRF5340, it was often helpful to flip this dynamic over and reverse the optimizations made by the original developers.

On the hardware side, things are relatively straightforward. The 4.3″ 800×480 LCD display is connected over SPI, and an I2S DAC handles the sound. Bluetooth would have been the logical choice for the controls, but to keep things simple, [Audun] ended up using a BBC micro:bit that could communicate with the nRF5340 via Nordic’s own proprietary protocol. Though he does note that Bluetooth mouse and keyboard support is something he’d like to implement eventually.

If some of the software tricks employed by this hack sounded familiar, it’s because a very similar technique was used to get DOOM running on an IKEA TRÅDFRI light bulb a week or so back. Unfortunately it must have ruffled some feathers, as it was pulled from the Internet in short order. It sounds like [Audun] got the OK from his bosses at Nordic Semiconductor to go public with this project, so hopefully this one will stick around for awhile.

Continue reading “DOOM Comes To The NRF5340”

Arduino Nano Memory Upgrade With No Soldering

Ok, we’ll come clean. [Design Build Destroy] didn’t really add any memory to his Arduino Nano. But he did get about 1.5K more program space when compared to the stock setup. The trick? On some Nano boards and clones, the bootloader is set to use a large block of reserved memory, but Optiboot only requires a fraction of that reserved memory. By reprogramming the bootloader and changing the configuration fuses, you can reclaim that unused memory.

Of course, you can’t easily overwrite the bootloader and fuses over the serial port to prevent you from bricking your device. The video below shows how to connect another Arduino to do the programming. You could also use any dedicated AVR programmer you happen to have. Oddly, the Uno already uses Optiboot with the same processors, and is set correctly and the video shows the differences in the configuration between the two in their default state.

Of course, depending on where you get your Nano devices and their age, you may already have this set up at which point you won’t gain anything, but you should be able to easily tell if you need to go through the steps or not. The same trick will probably work with any older Arduino boards you have laying around if Optiboot supports them. What can you do with the extra memory? Maybe speech recognition?

Continue reading “Arduino Nano Memory Upgrade With No Soldering”

Do You SpaceAPI?

Here at Hackaday we’re privileged to be part of a global community of hackers, makers, technology enthusiasts and creative people whose collective works make our daily news feeds such a fascinating read. We encounter you all directly in the physical world rather the virtual one at the many events across the community, or at the various hackerspaces we visit on our travels. But how can we keep track of the world of hackerspaces when there are so many? Maybe SpaceAPI might hold the answer.

Continue reading “Do You SpaceAPI?”

Super Mario Bros. 35 Lives Again With A Fan-Made Server

If you liked playing Super Mario Bros. 35, the unique multiplayer battle royale Mario game that Nintendo released last year on the Switch to celebrate 35 years since the original NES version of Super Mario Bros, then it’s likely that you have been disappointed since April. The gaming giant ended support and removed the game’s servers once their 35 year celebrations were over, leaving the game’s players hanging. Happily there’s a solution, because [Kinnay] has presented a reverse-engineered Nintendo game server replacement along with a game patch, that should keep gamers in multi-Mario fun forever.

While it’s a boon for fans of this particular game, the real value here is in introducing us to the reverse engineering work on those Nintendo servers. We learn about their various foibles over several generations of console, and perhaps most importantly we learn something of their inner workings.

Usually when a game server is turned off it’s because the platform it supports is so ancient as to have hardly any users. This time-limited game on an up-to-date platform is unusual then, but since it was made available to subscribers to Nintendo’s online service for free it’s less of a surprise. Certainly not in the same class as the loss of servers for an entire platform.

Thanks [Digiaap] for the tip.

Header image: Elvis untot, CC BY-SA 4.0.

Linux Fu: Databases Are Next-Level File Systems

It is funny how exotic computer technology eventually either fails or becomes commonplace. At one time, having more than one user on a computer at once was high tech, for example. Then there are things that didn’t catch on widely like vector display or content-addressable memory. The use of mass storage — especially disk drives — in computers, though has become very widespread. But at one time it was an exotic technique and wasn’t nearly as simple as it is today.

However, I’m surprised that the filesystem as we know it hasn’t changed much over the years. Sure, compared to, say, the 1960s we have a lot better functionality. And we have lots of improvements surrounding speed, encoding, encryption, compression, and so on. But the fundamental nature of how we store and access files in computer programs is stagnant. But it doesn’t have to be. We know of better ways to organize data, but for some reason, most of us don’t use them in our programs. Turns out, though, it is reasonably simple and I’m going to show you how with a toy application that might be the start of a database for the electronic components in my lab.

You could store a database like this in a comma-delimited file or using something like JSON. But I’m going to use a full-featured SQLite database to avoid having a heavy-weight database server and all the pain that entails. Is it going to replace the database behind the airline reservation system? No. But will it work for most of what you are likely to do? You bet. Continue reading “Linux Fu: Databases Are Next-Level File Systems”

The Epic Saga Of Hacking Knights Of The Round

For the uninitiated, Knights of the Round was a hack-and-slash arcade game released by Capcom in 1991 that rather loosely followed the legend of King Arthur and the eponymous Knights of the Round Table. In it, up to three players make their way from stage to stage, vanquishing foes and leveling up their specific character’s weapons and abilities. But [Sebastian Mihai] was looking for a new way to experience this classic title, so he decided to reverse engineer the game and create his own version called Warlock’s Tower.

Those familiar with the original game will no doubt notice some of the differences right away while watching the video below, but for those who don’t have an intimate knowledge of Arthur’s digital adventures, the major changes are listed on the project’s web page. Among the most notable are the removal of cooperative multiplayer and stage time limits. This turns the game from a frantic beat ’em up to a more methodical adventure. Especially since you now have to compete the game in a single life. If we had to guess, we’d say [Sebastian] prefers his games to have a bit of a challenge to them.

Even if you aren’t interested in playing Warlock’s Tower yourself, the story of how [Sebastian] created it is absolutely fascinating. He started with zero knowledge of Motorola 68000 assembly, but by the end of the project, was wrangling multiple debuggers and writing custom tools to help implement the approximately 70 patches that make up the custom build.

The hundreds of hours of work that went into creating these patches is documented as a sort of stream of consciousness on the project page, allowing you to follow along in chronological order. Whether it inspires you to tackle your own reverse engineering project or makes you doubt whether or not you’ve got the patience to see it through, it’s definitely worth a read. If you’re a Knights of the Round fan, you should also take a look at the incredible wealth of information he’s amassed about the original game itself, which honestly serves as an equally impressive project in its own right.

Modified versions of classic games, known colloquially as “ROM hacks” are fairly common among serious fans who want to see their favorite games improved over time. While they aren’t always as ambitious as Warlock’s Tower, they all serve as examples of how a dedicated community can push a product well beyond the scope envisioned by its original creators.

Continue reading “The Epic Saga Of Hacking Knights Of The Round