Robot with glowing eyes

Spatial AI And CV Hack Chat

Join us on Wednesday, December 1 at noon Pacific for the Spatial AI and CV Hack Chat with Erik Kokalj!

A lot of what we take for granted these days existed only in the realm of science fiction not all that long ago. And perhaps nowhere is this more true than in the field of machine vision. The little bounding box that pops up around everyone’s face when you go to take a picture with your cell phone is a perfect example; it seems so trivial now, but just think about what’s involved in putting that little yellow box on the screen, and how it would not have been plausible just 20 years ago.

Erik Kokalj

Perhaps even more exciting than the development of computer vision systems is their accessibility to anyone, as well as their move into the third dimension. No longer confined to flat images, spatial AI and CV systems seek to extract information from the position of objects relative to others in the scene. It’s a huge leap forward in making machines see like we see and make decisions based on that information.

To help us along the road to incorporating spatial AI into our projects, Erik Kokalj will stop by the Hack Chat. Erik does technical documentation and support at Luxonis, a company working on the edge of spatial AI and computer vision. Join us as we explore the depths of spatial AI.

join-hack-chatOur Hack Chats are live community events in the Hackaday.io Hack Chat group messaging. This week we’ll be sitting down on Wednesday, December 1st at 12:00 PM Pacific time. If time zones have you tied up, we have a handy time zone converter.

Laptop keyboard with strange characters on the keys

But Think Of The (World Wide) Users!

History is full of stories about technology that makes sense to the designer but doesn’t really fit the needs of the users. Take cake mixes. In 1929, a man named Duff realized that he could capitalize on surplus flour and molasses and created a cake mix. You simply added water to the dry mix and baked it to create a delicious cake. After World War II General Mills and Pillsbury also wanted to sell more flour so they started making cakes. But sales leveled out. A psychologist who was a pioneer in focus groups named Dichter had the answer: bakers didn’t feel like they were contributing to the creation of the cake. To get more emotional investment, the cake mixes would need to have real eggs added in. Actually, Duff had noticed the same thing in his 1933 patent.

It is easy to imagine a bunch of food… scientists? Engineers? Designers?… whatever a person inventing flour mixes in the 1930s was called… sitting around thinking that making a mix that only requires water is a great thing. But the bakers didn’t like it. How often do we fail to account for users?

From Cake Mix to Tech

Apple has made a business of this. Most of us don’t mind things like arcane commands and control key combinations, but the wider pool of global computer users don’t like those things. As the world continues to virtually shrink, we often find our users are people from different lands and cultures who speak different languages. It is, after all, the world wide web. This requires us to think even harder about our users and their particular likes, dislikes, and customs.

Continue reading “But Think Of The (World Wide) Users!”

Prusa XL Goes Big, But That’s Only Half The Story

For a few years now it’s been an open secret that Prusa Research was working on a larger printer named, imaginatively enough, the Prusa XL. Positioned at the opposite end of their product spectrum from the wildly popular Prusa Mini, this upper-tier machine would be for serious hobbyists or small companies that need to print single-part objects that were too large for their flagship i3 MK3S+ printer. Unfortunately, the global COVID-19 pandemic made it difficult for the Czech company to focus on bringing a new product to market, to the point that some had begun to wonder if we’d ever see this mythical machine.

But now, finally, the wait is over. Or perhaps, it’s just beginning. That’s because while Prusa Research has officially announced their new XL model and opened preorders for the $1,999+ USD printer, it’s not expected to ship until at least the second quarter of 2022. That’s already a pretty substantial lead time, but given Prusa’s track record when it comes to product launches, we wouldn’t be surprised if early adopters don’t start seeing their machines until this time next year.

So what do you get for your money? Well, not an over-sized Prusa i3, that’s for sure. While many had speculated the XL would simply be a larger version of the company’s popular open source printer with a few modern niceties like a 32-bit control board sprinkled in, the reality is something else entirely. While the high purchase price and ponderous dimensions of the new machine might make it a tough sell for many in the hacker and maker communities, there’s little question that the technical improvements and innovations built into the Prusa XL provide a glimpse of the future for the desktop 3D printer market as a whole.

Continue reading “Prusa XL Goes Big, But That’s Only Half The Story”

ESP32 board with battery and nearby antenna

How To Easily Set Up Secure OTA Firmware Updates On ESP32

After an electronic IoT device has been deployed into the world, it may be necessary to reprogram or update it. But if physical access to the device (or devices) is troublesome or no longer possible, that’s a problem.

OTA updates allow a device to download new firmware, install it, and reboot itself into the new version. Convenient? Yes. Secure? It definitely needs to be.

Fortunately, over-the-air (OTA) firmware updates are a thing, allowing embedded devices to be reprogrammed over their wireless data connection instead of with a physical hardware device. Security is of course a concern, and thankfully [Refik] explains how to set up a basic framework so that ESP32 OTA updates can happen securely, allowing one to deploy devices and still push OTA updates in confidence.

[Refik] begins by setting up a web server using Ubuntu Linux, and sets up HTTPS using a free SSL certificate from Let’s Encrypt, but a self-signed SSL certificate is also an option. Once that is done, the necessary fundamentals are in place to support deploying OTA updates in a secure manner. A bit more configuration, and the rest is up to the IoT devices themselves. [Refik] explains how to set things up using the esp32FOTA library, but we’ve also seen other ways to make OTA simple to use.

You can watch a simple secure OTA firmware update happen in the video, embedded below. There are a lot of different pieces working together, so [Refik] also provides a second video for those viewers who prefer a walkthrough to help make everything clear. Watch them both, after the break.

Continue reading “How To Easily Set Up Secure OTA Firmware Updates On ESP32”

Z80 Video Output Via The Raspberry Pi Pico

Building basic computers from the ground up is a popular pastime in the hacker community. [Kevin] is one such enthusiast, and decided to whip up a video interface for his retro Z80 machine.

The output from [Kevin]’s build.
The computer in question is a RC2014 Classic ][, a popular single-board 8-bit computer kit. As standard, it doesn’t have a video output, so [Kevin] built one using the PIO interface of the Raspberry Pi Pico.

74-series logic is pressed into service to handle address selection, enabling the Pico and Z80 to effectively communicate. Wait states in the Z80 are used to avoid the vintage chip tripping over when the two are communicating. The Pico outputs video in 160 x 120 resolution with eight bits of color per pixel, using a simple resistor-ladder DAC to do basic VGA.

The build serves as a great way to get familiar with programming both the Pi Pico and the Z80 itself. With that said, it’s probably possible to simply just emulate the Z80 on the Pi Pico given the latter runs at a default clock rate of 125 MHz, eclipsing the RC2014’s snail-like 7.3728 MHz main clock.

If you’ve been building your own retro graphics hardware, do let us know.  We love that sort of thing around here!

Automating Mobile Games With A Robot Arm

My Singing Monsters is one of those mobile titles that has users play simple games to earn coins and gems in the usual way. [Anykey] found that his son was a fan of the game, but that sometimes it felt a little rigged. Thus, rather than waste time playing themselves, he set up a robot to do the job for them. (Super-boring video, embedded below.)

The player must complete a basic but time-consuming memory game. Upon winning, the player gets to choose a prize from 17 mystery cards. The top prize of 1,000 diamonds always seemed to be hidden under another card, leading to the aforementioned frustration.

In order to test if the game was rigged, [Anykey] set up a uArm Swift Pro to play the game, with the robot arm moving a small stylus over the iPad playing the game. The iPad’s video was piped to a PC via HDMI out, going into a Camlink capture card. A Python script using OpenCV was then created to play the game automatically, and log the results of prizes gained along the way. All the code is up on GitHub.

After over 100 attempts, the robot never managed to pick the right card to score 1,000 diamonds. Given that there are only 17 cards to choose from, one would expect the 1,000 diamond prize to come up several times in that many selections.

It seems then that the prize selection for completing the memory game may not actually be down to picking the right card. Instead, the prize given is selected by some other calculation entirely.

We love a robot playing games at Hackaday, even if it’s as simple as Tic-Tac-Toe. Video after the break.

Continue reading “Automating Mobile Games With A Robot Arm”

Generate Fully Parametric, 3D-Printable Speaker Enclosures

Having the right speaker enclosure can make a big difference to sound quality, so it’s no surprise that customizable ones are a common project for those who treat sound seriously. In that vein, [zx82net]’s Universal Speaker Box aims to give one everything they need to craft the perfect enclosure.

The parts can be 3D-printed, but the design ensures that the front and back panels are flat, so one can use wood or some other material for those depending on preference and appearance. The assembly is screwed together using six M3 bolts per side with optional heat-set inserts, but it’s entirely possible to simply glue the unit together if preferred.

One thing that makes this design a bit more broadly useful is that [zx82net] not only provides the parametric design file for Fusion360, but also includes STEP format CAD files, and a small number of pre-configured assemblies for a few commonly available speaker drivers: the Dayton Audio DMA70-4, ND91-4, and the TCP115-4. Not enough for you? Check out [zx82net]’s collection of ready-to-rock enclosures in a variety of designs and configurations; there’s bound to be something to appeal to just about anyone.

[via Reddit]