Microsoft Wants You (To Help With Assistive Tech)

In college I had an exceptional piano teacher that was entirely blind. One day he noticed I had brought in my new-ish laptop, and his unexpected request — “can I look at your laptop?” — temporarily flabbergasted me. Naturally there wasn’t much he could do with it, so he gave it a once over with his fingers to understand the keyboard layout, and that was that. I still think about this experience from time to time, and the most obvious lesson is that my paradigm for using a computer didn’t map well to his abilities and disability.

The folks at Microsoft are thinking about this problem, too, and they’re doing a lot of work to make technology work for more users, like the excellent Xbox Adaptive Controller pictured above. Now, if you have some experience helping folks overcome the challenges of disability, or have a killer idea for an assistive technology solution, Microsoft is looking for projects to fund. Did you rig up a Raspberry Pi and webcam to automatically read text aloud? Maybe you pulled that old Kinect out, and are working on sign-language reader using 3D data points.

Make a pitch of your project or solid idea by the November 4th deadline, and just maybe you can get some help to make it a reality. Just make sure you come back and tell us about it! After all, some of the coolest hacks we’ve ever covered have been adaptive tech projects.

Thanks to [MauroPichiliani] for sending in this tip.

IBM Made A MIPS Laptop. Will It Make You WinCE?

We’re used to our laptop computers here in 2022 being ultra-portable, super-powerful, and with impressively long battery lives. It’s easy to forget then that there was a time when from those three features the laptop user could usually expect only one of them in their device. Powerful laptops were the size of paving slabs and had battery lives measured in minutes, while anything small usually had disappointing performance or yet again a minuscule power budget.

In the late 1990s manufacturers saw a way out of this in Microsoft’s Windows CE, which would run on modest hardware without drinking power. Several devices made it to market, among them one from IBM which [OldVCR] has taken a look at. It makes for an interesting trip down one of those dead-end side roads in computing history.

In the box bought through an online auction is a tiny laptop that screams IBM, we’d identify it as a ThinkPad immediately if it wasn’t for that brand being absent. This is an IBM WorkPad, a baby sibling of the ThinkPad line intended as a companion device. This one has a reduced spec screen and an NEC MIPS processor, with Windows CE on a ROM SODIMM accessible through a cover on the underside. For us in 2022 MIPS processors based on the open-sourced MIPS ISA are found in low-end webcams and routers, but back then it was a real contender. The article goes into some detail on the various families of chips from that time, which is worth a read in itself.

We remember these laptops, and while the IBM one was unaffordable there was a COMPAQ competitor which did seem tempting for on-the-road work. They failed to make an impact due to being marketed as a high-end executive’s toy rather than a mass-market computer, and they were seen off as “real” laptops became more affordable. A second-hand HP Omnibook 800 did the ultra-portable job on this bench instead.

The industry had various attempts at cracking this market, most notably with the netbooks which appeared a few years after the WorkPad was produced. It was left to Google to reinvent the ultra-portable non-Intel laptop as an internet appliance with their Chromebooks before they would become a mass-market device, but the WorkPad remains a tantalizing glimpse of what might have been.

Windows CE occasionally makes an appearance here, and yes, it runs DOOM.

Livestreaming Backpack Takes Streaming On-The-Go

Anyone who’s anyone on the internet these days occasionally streams content online. Whether that’s the occasional livestream on YouTube or an every day video game session on Twitch, it’s definitely a trend that’s here to stay. If you want to take your streaming session on the go, though, you’ll need some specialized hardware like [Melissa] built into this livestreaming backpack.

[Melissa] isn’t actually much of a streamer but built this project just to see if it could be done. The backpack hosts a GoPro camera with a USB interface, mounted on one of the straps of the pack with some 3D printed parts, allowing it to act as a webcam. It is plugged into a Raspberry Pi which is set up inside the backpack, and includes a large heat sink to prevent it from overheating in its low-ventilation environment. There’s also a 4G modem included along with a USB battery pack to keep everything powered up.

The build doesn’t stop at compiling hardware inside a backpack, though. [Melissa] goes into detail on the project’s page about how to get all of the hardware to talk amongst themselves and where the livestream is setup as well. If you’d like a more permanently-located streaming setup with less expensive hardware, we have seen plenty of builds like this which will get the job done as well.

Demonstrate Danger, Safely

Dan Maloney and I were talking about the chess robot arm that broke a child’s finger during the podcast, and it turns out that we both have extreme respect for robot arms in particular. Dan had a story of a broken encoder wheel that lead to out-of-control behavior that almost hit him, and I won’t even get within striking distance of the things unless I know they’re powered off after seeing what programming errors in a perfectly functioning machine can do to two-by-fours.

This made me think of all the dangerous things I’ve done, but moreover about all the intensely simple precautions you can to render them non-risky, and I think that’s extremely important to talk about. Tops of my list are the aforementioned industrial robot arm and high powered lasers.

Staying safe with an industrial robot arm is as easy as staying out of reach when it’s powered. Our procedure was to draw a line on the floor that traced the arm’s maximum radius, and you stay always outside that line when the light is on. It’s not foolproof, because you could hand the ’bot a golf club or something, but it’s a good minimum precaution. And when you need to get within the line, which you do, you power the thing down. There’s a good reason that many industrial robots live in cages with interlocks on the doors.

Laser safety is similar. You need to know where the beam is going, make sure it’s adequately terminated, and never take one in the eye. This can be as simple as putting the device in a box: laser stays in box, nobody goes blind. If you need to see inside, a webcam is marvelous. But sometimes you need to focus or align the laser, and then you put on the laser safety glasses and think really hard about where the beam is going. And then you close the box again when you’re done.

None of these safety measures are particularly challenging to implement, or conceptually hard: draw a line on the floor, put it in a box. There were a recent series of videos on making Lichtenberg figures safely, and as a general rule with high voltage projects, a great precaution is a two-button deadman’s switch box. This at least ensures that both of your hands are nowhere near the high voltage when it goes on, at the cost of two switches.

If all of the safety precautions are simple once you’ve heard them, they were nothing I would have come up with myself. I learned them all from other hackers. Same goes with the table saw in my workshop, or driving a car even. But since the more hackery endeavors are less common, the “common-sense” safety precautions in oddball fields are simply less commonly known. It’s our jobs as the folks who do know the secrets of safety to share them with others. When you do something dangerous, show off your safety hacks!

Machine Learning Does Its Civic Duty By Spotting Roadside Litter

If there’s one thing that never seems to suffer from supply chain problems, it’s litter. It’s everywhere, easy to spot and — you’d think — pick up. Sadly, most of us seem to treat litter as somebody else’s problem, but with something like this machine vision litter mapper, you can at least be part of the solution.

For the civic-minded [Nathaniel Felleke], the litter problem in his native San Diego was getting to be too much. He reasoned that a map of where the trash is located could help municipal crews with cleanup, so he set about building a system to search for trash automatically. Using Edge Impulse and a collection of roadside images captured from a variety of sources, he built a model for recognizing trash. To find the garbage, a webcam with a car window mount captures images while driving, and a Raspberry Pi 4 runs the model and looks for garbage. When roadside litter is found, the Pi uses a Blues Wireless Notecard to send the GPS location of the rubbish to a cloud database via its cellular modem.

Cruising around the streets of San Diego, [Nathaniel]’s system builds up a database of garbage hotspots. From there, it’s pretty straightforward to pull the data and overlay it on Google Maps to create a heatmap of where the garbage lies. The video below shows his system in action.

Yes, driving around a personal vehicle specifically to spot litter is just adding more waste to the mix, but you’d imagine putting something like this on municipal vehicles that are already driving around cities anyway. Either way, we picked up some neat tips, especially those wireless IoT cards. We’ve seen them used before, but [Nathaniel]’s project gives us a path forward on some ideas we’ve had kicking around for a while.

Continue reading “Machine Learning Does Its Civic Duty By Spotting Roadside Litter”

Gaming Mouse Becomes Digital Camera

Ever since the world decided to transition from mechanical ball mice to optical mice, we have been blessed with computer pointing devices that don’t need regular cleaning and have much better performance than their ancestors. They do this by using what is essentially a tiny digital camera to monitor changes in motion. As we’ve seen before, it is possible to convert this mechanism into an actual camera, but until now we haven’t seen something like this on a high-performance mouse designed for FPS gaming.

For this project [Ankit] is disassembling the Logitech G402, a popular gaming mouse with up to 4000 dpi. Normally this is processed internally in the mouse to translate movement into cursor motion, but this mouse conveniently has a familiar STM32 processor with an SPI interface already broken out on the PCB that could be quickly connected to in order to gather image data. [Ankit] created a custom USB vendor-specific endpoint and wrote a Linux kernel module to parse the data into a custom GUI program that can display the image captured by the mouse sensor on-screen.

It’s probably best to not attempt this project if you plan to re-use the mouse, as the custom firmware appears to render the mouse useless as an actual mouse. But as a proof-of-concept project this high-performance mouse does work fairly well as a camera, albeit with a very low resolution by modern digital camera standards. It is much improved on older mouse-camera builds we’ve seen, though, thanks to the high performance sensors in gaming mice.

Easy Network Config For IoT Devices With RGBeacon

When you’re hooking up hardware to a network, it can sometimes be a pain to figure out what IP address the device has ended up with. [Bas Pijls] often saw this problem occurring in the classroom, and set about creating a simple method for small devices to communicate their IP address and other data with a minimum of fuss.

[Bas] specifically wanted a way to do this without adding a display to the hardware, as this would add a lot of complexity and expense to simple IoT devices. Instead, RGBeacon was created, wherin a microcontroller flashes out network information with the aid of a single RGB WS2812B LED.

In fact, all three colors of the RGB LED are used to send information to a computer via a webcam. The red channel flashes out a clock signal, the green channel represents the beginning of a byte, and the blue channel flashes to indicate bits that are high. With a little signal processing, a computer running a Javascript app in a web browser can receive information from a microcontroller flashing its LEDs via a webcam.

It’s a neat hack that should make setting up devices in [Bas]’s classes much easier. It needn’t be limited to network info, either; the code could be repurposed to let a microcontroller flash out other messages, too. It’s not dissimilar from the old Timex Datalink watches which used monitor flashes to communicate!