Taking Pokémon On A Walk

Emulating old computers or video game systems isn’t always about recreating childhood nostalgia or playing classics on hardware that doesn’t exist anymore. A lot of the time it can be an excellent way to learn about the mechanics of programming a video game. Plenty of older titles have available source code that anyone can pour over and modify, and one of those is Pokémon Emerald. This was the first Pokémon game that [Inkbox] played, and he added a few modern features to it with this custom ROM file.

The first thing to add to this game was the ability to have one’s Pokémon follow their character around in the overworld map. This is common in later games, but wasn’t yet a feature when Emerald and Ruby first came out. [Inkbox] needed to import sprites from later games into the Emerald game file, convert their color palettes to match the game’s palette, and then get to work on the mechanics. After everything was finished, the Pokémon not only follow the player around the map but are animated, enter and exit their Pokéballs, and even jump off ledges in a believable, 32-bit way.

One of the great things about older games like these is that they’ve been around long enough to have source code or decompiled code available, they often have plenty of documentation, and the platforms they operate on are well-known by now as well. Pokémon Emerald is not alone in this regard; in fact, there is a huge Game Boy Advance homebrew scene that is not too difficult to get involved in.

Continue reading “Taking Pokémon On A Walk”

Keeping An Eye On Heating Oil

Energy costs around the world are going up, whether it’s electricity, natural gas, or gasoline. This is leading to a lot of people looking for ways to decrease their energy use, especially heading into winter in the Northern Hemisphere. As the saying goes, you can’t manage what you can’t measure, so [Steve] has built this system around monitoring the fuel oil level for his home’s furnace.

Fuel oil is an antiquated way of heating, but it’s fairly common in certain parts of the world and involves a large storage tank typically in a home’s basement. Since the technology is so dated, it’s not straightforward to interact with these systems using anything modern. This fuel tank has a level gauge showing its current percentage full. A Raspberry Pi is set up nearby with a small camera module which monitors the gauge, and it runs OpenCV to determine the current fuel level and report its findings.

Since most fuel tanks are hidden in inconvenient locations, it makes checking in on the fuel level a breeze and helps avoid running out of fuel during cold snaps. [Steve] designed this project to be reproducible even if your fuel tank is different than his. You have other options beyond OpenCV as well; this fuel tank uses ultrasonic sensors to measure the fuel depth directly.

A Single-Watt Hydroponic Lighting System

Hydroponic systems are an increasingly popular way to grow plants indoors using a minimum of resources. Even some commercial farming operations are coming online using hydroponic growing techniques, as these methods consume much less water, land area, and other resources than traditional agricultural methods. The downside is that the required lighting systems often take an incredible amount of energy. That’s why [ColdDayApril] set up a challenge to grow a plant hydroponically using no more than a single watt.

The system is set up to grow a single pepper plant in what is known as a deep-water culture, where the plant is suspended in a nutrient solution which has everything it needs to grow. The lightning system is based around the Samsung LM301B which comes close to the physical limits for converting electricity into white light and can manage around 220 lumens. A special power supply is needed for these low-power diodes, and the light is efficiently directed towards the plant using a purpose-built reflective housing. By placing this assembly very close to the plant and adjusting it as it grows, [ColdDayApril] was able to take the pepper plant from seed to flowering in 92 days.

It’s worth noting that the rest of the system uses a little bit of energy too. A two watt fan helps circulate some air in the hydroponic enclosure, and deep-water systems usually require an air pump to oxygenate the water which uses another two watts. This is still an impressive accomplishment as most hobbyist builds use lighting systems rated in the hundreds of watts and use orders of magnitude more energy. But, if you’re willing to add some fish into the system you can mitigate some of the energy requirements needed for managing the water system even further.

Recreating The “Stuck Throttle” Problem On A Toyota

A few years ago, Toyota was in the news for a major safety issue with a number of their passenger vehicles. Seemingly at random, certain cars were accelerating without concern for driver input, causing many crashes and at least 37 confirmed deaths. They issued recalls both for the floor mats which were reported to have slid forward to jam the accelerator pedal, but this didn’t explain all of these crashes. There was another recall for stuck throttles, which [Colin O’Flynn] demonstrates a possible cause for on his test bench.

While most passenger vehicles older than about 15-20 years controlled the throttle with a cable connected directly from the throttle body to the accelerator pedal, most manufacturers have switched to a fly-by-wire system which takes sensor input from the accelerator pedal and sends that position information to the vehicle’s computer which in turn adjusts the throttle position. This might be slightly cheaper to manufacture, but introduces a much larger number of failure modes to a critical system. Continue reading “Recreating The “Stuck Throttle” Problem On A Toyota”

Play DOOM On Seven-Segment Displays

Getting DOOM to run on a computer it was never meant to run on is a fun trope in the world of esoteric retro computers. By now we’ve seen it run on everything from old NES systems to microwaves, treadmills, and basically anything with a computer inside of it. What we don’t often see are the displays themselves being set up specifically to run the classic shooter. This build might run the game itself on ordinary hardware, but the impressive part is that it’s able to be displayed on this seven-segment display.

This build makes extensive use of multiplexers to drive enough seven-segment displays to use as a passable screen. There are 1152 seven segment digits arranged in a 48 by 24 array, powered by a network of daisy-chained MAX7219 chips. A Python script running on a Raspberry Pi correlates actual image data with the digit to be displayed on each of the segments, and the Raspberry Pi sends all of that information out to the screen. The final result is a display that’s fast enough and accurate enough to play DOOM in a truly unique way.

There is much more information available about this project on their project page, and they have made everything open source for those who wish to follow along as well. The project includes more than just the ability to play DOOM, too. There’s a built-in video player and a few arcade programs programmed specifically to make use of this display. Perhaps one day we will also see something like this ported to sixteen-segment displays instead of the more common seven-segment.

Comparing Solar Energy Harvesters

There doesn’t have to be much more to setting up a simple solar panel installation than connecting the panel to a battery. Of course we would at least recommend the use of a battery management system or charge controller to avoid damaging the battery, although in a pinch it’s not always strictly necessary. But these simple systems leave a lot on the table, and most people with any sizable amount of solar panels tend to use a maximum power point tracking (MPPT) system to increase the yield of the panels. For a really tiny installation like [Salvatore] has, you’ll want to take a look at a similar system known as a solar energy harvester.

[Salvatore] is planning to use an energy harvester at his small weather station, which is currently powered by an LDO regulator and a small solar cell. While this is fairly energy efficient, the energy harvesters that he is testing with this build will go far beyond what an LDO is capable of. The circuit actually has two energy harvesters built onto it which allows him to test the capabilities of both before he makes a decision for his weather station. Every amount of energy is critical when using the cell he has on hand, which easily fits in the palm of one’s hand.

The testing of this module isn’t complete yet, but he does have two working prototypes to test in future videos to see which one truly performs the best. For a project of this size, this is a great way to get around the problem of supplying a small amount of power to something remote. For a larger solar panel installation, you’ll definitely want to build an MPPT system though.

Continue reading “Comparing Solar Energy Harvesters”

Building A Local Network With LoRaWAN

At its core, the Internet is really just a bunch of computers networked together. There’s no reason that there can’t be other separate networks of computers, or that we all have to tie every computer we have to The One Internet To Rule Them All. In fact, for a lot of embedded systems, it doesn’t make much sense to give them a full network stack and Cat6e Ethernet just to report a few details about themselves. Enter LoRaWAN, a wireless LAN that uses extremely low power for Internet-of-Things devices, and an implementation of one of these networks in an urban environment.

The core of the build is the LoRaWAN gateway which sits at the top of a tall building to maximize the wireless range of all of the other devices. It’s running ChirpStack on the software side and uses a Kerlink Wigrid station to broadcast. The reported range is a little over 9 km with this setup. Other gateways can also be added, and the individual LoRa modules can report to any available gateway. From there, the gateways all communicate back to the central server and the information can be sent out to the wider network, Internet or otherwise.

The project’s creator [mihai.cuciuc] notes that this sort of solution might not be best for everyone. There are other wide area networks available, but using LoRaWAN like this would be likely to scale better as more and more devices are added to the network. For some other ways that LoRa can be used to great effect, take a look at this project which builds an off-grid communications network with it.