Programming A Poker Game With GPT Help

Although ChatGPT generated a huge amount of hype around replacing white collar workers completely when it was first released to the public, the general consensus now is that it won’t outright replace anyone yet, but rather people who know how to use it as a tool will replace those who don’t. Getting started with it is not too hard, either, but you’ll of course need a project to work on to familiarize yourself with the tool. [Volos Projects] gave himself the challenge of writing a poker game using ChatGPT not as the opposing player, but as a co-designer in order to learn more about it as an assistant.

The poker game is being built on an ESP32 board with a built-in AMOLED screen. Five buttons are wired to the microcontroller to allow the player to select which cards to discard and which to keep. The bet for each hand can be raised or lowered much like the tabletop poker games often seen in bars and restaurants. To program it, though, ChatGPT was used to help design the code at each step of the way, first describing the overall goal and then building each function one-by-one like shuffling the deck, dealing the hand, and then replacing and dealing new cards.

For anyone who hasn’t yet explored using ChatGPT to help design their programming projects, this effort goes a long way to showing just how useful a tool it can be. For more complex tasks, though, it does take a little bit of knowledge on the part of the user because ChatGPT can often turn out nonsense or factually inaccurate information, but at least in a programming environment you’ll generally find out quickly when that happens. It’s not just a useful tool for writing programs, either. It can accomplish a lot of ancillary tasks related to programming as well, even if it’s not writing the code directly.

Thanks to [Peter] for the tip!

Continue reading “Programming A Poker Game With GPT Help”

Quake 2 Ported To Apple Watch

DOOM always seems to spontaneously appear on any new device the day it’s released. From printers to industrial robots to pregnancy tests, it always makes its way on anything with an integrated circuit and a screen. But that’s not the only 90s video game with a cult following and and ability to run on hardware never intended for gaming. The early Quake games are still remarkably popular, and the second installment of this series was recently brought to the Apple Watch thanks to [ByteOverlord].

Building this classic for the Apple Watch requires using the original Quake files and some work with Xcode to get a package together that will run on the wrist-bound computer. There are a few other minimum system requirements to meet as well, but with all of that out of the way the latest release runs fairly well on this small watch. The controls have been significantly modified to use the Apple’s touch screen and digital crown instead of any peripherals, and as a result it’s not likely you’d win any matches if it was possible to cross-play with PC users with a setup like this, but it’s definitely playable although still missing a few features compared to the PC version.

This actually isn’t the first Quake game to be ported to the Apple Watch, either. The first version of Quake ran on this device thanks to [MyOwnClone]’s efforts a little over a year ago. It’s also not the first time we’ve seen Quake running on unusual Apple hardware, either. Take a look at this project which uses one of the early iPods to play this game, along with the scroll wheel for a one-of-a-kind controller.

Thanks to [Joni] for the tip!

Thin Keyboard Fits In Steam Deck Case

Although some of the first Android-powered smartphones had them and Blackberries were famous for them, physical keyboards on portable electronics like that quickly became a thing of the past. Presumably the cost to manufacture is too high and the margins too low regardless of consumer demand. Whatever the reason, if you want a small keyboard for your portable devices you’ll likely need to make one yourself like [Kārlis] did for the Steam Deck.

Unlike a more familiar mechanical keyboard build which prioritizes the feel and sound of the keyboard experience, this one sacrifices nearly every other design consideration in order to be thin enough to fit in the Steam Deck case. The PCB is designed to be flexible using copper tape cut to size with a vinyl cutter with all the traces running to a Raspberry Pi Pico which hosts the firmware and plugs into the Steam Deck’s USB port. The files for the PCB are available in KiCad and can be exported as SVG files for cutting.

In the end, [Kārlis] has a functioning keyboard that’s even a little more robust than was initially expected and which does fit alongside the Deck in its case. On the other hand, [Kārlis] describes the typing experience as “awful” due to its extreme thinness, but either way we applaud the amount of effort that went in to building a keyboard with this form factor. The Steam Deck itself is a platform which lends itself to all kinds of modifications as well, from the control sticks to the operating systems, and Valve will even show you how.

Streaming Video From An ESP32

The ESP32, while first thought to be little more than a way of adding wireless capabilities to other microcontrollers, has quickly replaced many of them with its ability to be programmed as its own platform rather than simply an accessory. This also paved the way for accessories of its own, such as various sensors and even a camera. This guide goes over taking the input from the camera and streaming it out over the network to multiple browsers.

On the server side of things, the ESP32 and its attached camera are set up with MQTT, a lightweight communications protocol which uses a publish/subscribe model to send information. The ESP32 is configured to publish its images only, but not subscribe to any other nodes. On the client side, the browser runs a JavaScript program which is able to gather these images and stitch them together into a video.

This can be quite a bit of data to send out over the ESP32’s compact hardware, so there are some tips and tricks for getting more out of these little devices, including using an external antenna for better Wi-Fi signal, or omitting it entirely in favor of Ethernet. As far as getting a lot out of a tiny microcontroller, though, leveraging MQTT really helps the ESP32 go a long way. These chips have come along way since they were first introduced; they’re powerful enough to act as 8-bit gaming consoles too.

Thanks to [Surfskidude] for the tip!

USB-C Power For Ham Radio

Even though manufacturers of handheld ham radios have been busy adding all sorts of bells and whistles into their portable offerings, for some reason, many of them lack a modern USB-C port. In the same vein, while some have USB for programming or otherwise communicating between the radio and a computer, very few can use USB for power. Instead , they rely on barrel jacks or antiquated charging cradles. If you’d like to modernize your handheld radio’s power source, take a look at what [jephthai] did to his Yaesu.

In the past, USB ports could be simply soldered onto a wire and used to power basically anything that took 5 VDC. But the radio in question needs 12 volts, so the key was to find a USB-C cable with the built-in electronics to negotiate the right amount of power from USB-PD devices. For this one, [jephthai] cut the barrel connector off his radio’s power supply and spliced in some Anderson power pole connectors so he could use either the standard radio charger or one spliced onto this special cable.

With this fairly simple modification out of the way, it’s possible to power the handheld radio for long outings with the proper USB battery bank on hand. For plenty of situations this is much preferable to toting around a 12 V battery, which was the method of choice for powering things like QRP rigs when operating off-grid.

Hands-Free Compass Uses Haptic Feedback

If you’ve never experienced it before, getting turned around on a cloudy day in the woods or getting lost during an event like a snowstorm can be extremely disorienting and stressful — not to mention dangerous. In situations where travel goes outside the beaten path, it’s a good idea to have some survival gear around, including a good compass. But if you need your hands for other things, or simply don’t want to have to stop often to check a compass, you might want to try out something like this belt-mounted haptic feedback compass.

The compass is based around a Raspberry Pi Pico microcontroller and uses a ULN2803a transistor array chip to control a series of motors. The motors are mounted all along a belt using custom 3D printed clips with wires woven to each through the holes in the belt. The firmware running on the belt communicates with an Android app via USB to control each of the motor’s vibration based on the direction the wearer is traveling and their desired heading. With certain patterns, the wearer can get their correct heading based on the vibrations they feel through the belt.

While it does rely on having a functioning phone, a modern smartphone’s built-in compass doesn’t require a signal to work. We would still recommend having a good simple compass in your pack as backup if you’re going to be far off the beaten path, though. There are other ways of navigation besides by compass, map, or GPS too. Have a shot at inertial navigation if you want a challenge.

Thanks to [Peter] for the tip!

Heat Pump Control That Works

Heat pumps are taking the world by storm, and for good reason. Not only are they many times more efficient than electric heaters, but they can also be used to provide cooling in the summer. Efficiency aside, though, they’re not perfectly designed devices, largely with respect to their climate control abilities especially for split-unit setups. Many of them don’t have remotely located thermostats to monitor temperature in an area, and rely on crude infrared remote controls as the only user interface. Looking to make some improvements to this setup, [Danilo] built a setup more reminiscent of a central HVAC system to control his.

Based on an ESP32 from Adafruit with an integrated TFT display, the device is placed away from the heat pump to more accurately measure room temperature. A humidity sensor is also included, as well as an ambient light sensor to automatically reduce the brightness of the display at night. A large wheel makes it quick and easy to adjust the temperature settings up or down. Armed with an infrared emitter, the device is capable of sending commands to the heat pump to more accurately control the climate of the room than the built-in controls are able to do. It’s also capable of logging data and integrating with various home automation systems.

While the device is optimized for the Mitsubishi heat pumps that [Danilo] has, only a few lines of code need to be changed to get this to work with other brands. This is a welcome improvement for those frustrated with the inaccurate climate controls of their heat pumps, and since it integrates seamlessly into home automation systems could also function in tandem with other backup heat sources, used in cold climates when it’s too cold outside to efficiently run the heat pump. And, if you don’t have a heat pump yet, you can always try and build your own.