The Wonderful World Of USB Type-C

Despite becoming common over the last few years USB-C remains a bit of a mystery. Try asking someone with a new blade-thin laptop what ports it has and the response will often include an awkward pause followed by “USB-C?”. That is unless you hear “USB 3” or maybe USB 3.1. Perhaps even “a charging port”. So what is that new oval hole in the side of your laptop called? And what can it really do? [jason] at Reclaimer Labs put together a must-read series of blog posts in 2016 and 2017 plumbing the depths of the USB 3.1 rabbit hole with a focus on Power Delivery. Oh, and he made a slick Easy Bake Oven with it too.

A single USB Type-C connector

When talking about USB-C, it’s important to start at the beginning. What do the words “USB-C” entail? Unsurprisingly, the answer is complicated. “USB Type-C” refers only to the physical connector and detail about how it is used, including some of the 24 pins it contains. Then there are the other terms. “USB 3.1” is the overall standard that encompasses the Type-C connector and new high-speed data busses (“USB SuperSpeed” and “SuperSpeedPlus”). In addition there is “USB Power Delivery” which describes power modes and even more pin assignments. We’re summarizing here, so go read the first post for more detail.

The second post devotes a formidable 1,200 words to providing an overview of the electrical specifications, configuration communication, and connector types for USB 3.1.

A GIF of a flipping USB Type C connector
Marketing at its finest

The third post is devoted to USB Power Delivery. Power Delivery encompasses not only the new higher power modes supported (up to 100W!), but the ways to use the extra 10 or 13 pins available on the Type-C connector. This is both the boon and bane of USB-C, allowing apparently identical ports to carry common signals like HDMI or DisplayPort, act as analog audio outputs, and provide more exotic interfaces like PCIe 3.0 (in the form of Thunderbolt 3, which is a yet another thing this connector can be used for).

It should be clear at this point that the topics touched by “USB Type-C” are exceptionally complex. Save yourself the trouble of a 90MB specification zipfile and take a pass through [jason]’s posts to understand what’s happening. For even more detail about Power Delivery, he walks through sample transactions in a separate post.

Gamers Rejoice: Here’s A Fix For ASUS Strix Vega 64 Thermal Issues

Every year, we demand our computers to be ever faster, capable of delivering progressively more eye-watering graphics and doing it all as reliably as ever. Unfortunately, sometimes, new designs miss the mark. [Cloakedbug] was having issues with voltage regulator temperatures on an ASUS Strix VEGA 64 — one of the latest RADEON graphics cards on the market — and decided to investigate.

Right away, issues were apparent; one of the main thermal pads was making poor contact with the FETs it was intended to carry heat for, and was poorly sized to boot. In a show of poor quality, the pad wasn’t nicely sized for the aluminium plate it was attached to, and was applied in a rather haphazard manner. Suspecting this was perhaps one of the root causes of the card running hot, the decision was made to replace the pad with something more suitable.

Specifying a thicker pad that was properly sized to the heatsink plate was the order of the day, and a couple of other smaller heatsink pads were also replaced, all with Thermal Grizzly Minus Pad 8. [Cloakedbug] reports a temperature drop of over 30 degrees C under load on the VR SOC bank, down from 115 C initially. It sounds like this will go a long way to keeping the card happy and healthy over time. Looking around the web, there’s definitely a few reports of thermal issues out there, so this could be a useful fix if you’re having trouble with the same card at home.

In the end, it’s a simple, tidy fix to an expensive piece of hardware that really should have shipped with this sorted from the factory. We’ve seen a fair few thermal fixes over the years here, like this one involving a thermal camera as a diagnosis tool.

[Thanks to Keith O for the tip!]

Computer Programming Unplugged For Kids

There was a time when computers were far too expensive to let mere students use them. In those days, we wrote fake programs for fictitious machines and checked them by hand. That wasn’t fun, but it did teach you to think about the algorithm. You weren’t worried about how many tabs to indent code in the editor, or checking your social media feed, or changing the track on your Spotify playlist. Maybe that was the idea behind Computer Science Unplugged. The site is aimed at educators and gives them lesson plans to teach kids about computer concepts through activities that don’t use a computer.

The target ages are from 5 to 14 and topics range from binary numbers, sorting, searching, error detection, and robotics. For example, one exercise has students line up to be bits in a binary number. Each kid holds a card that is blank on one side or has the right number of dots on the other (for example, bit 0 has 1 dot, bit 2 has 4 dots, and so on).

Continue reading “Computer Programming Unplugged For Kids”

The $4 Z80 Single-Board Computer, Evolved.

We feature hundreds of projects here at Hackaday, and once they have passed by our front page and disappeared into our archives we often have no opportunity to return to them and see how they developed. Sometimes of course they are one-off builds, other times they wither as their creator loses interest, but just occasionally they develop and evolve into something rather interesting.

One that is taking that final trajectory is [Just4Fun]’s Z80-MBC, a single board computer with only 4 ICs, using an Atmel microcontroller to simulate the Z80 support chips. It has appeared as a revised version, on a smart new PCB rather than its original breadboard, and with built-in SD card and RTC support through readily available breakout boards, and banked RAM for CP/M support. You may remember the original from last year, when it was also a Hackaday Prize entry and stage finalist. From a Hackaday perspective this is particularly interesting, because it shows how the Prize can help a project evolve.

The Atmega32A uses the Arduino bootloader with programming through the ICSP port, and full instructions are given in the hackaday.io project page alongside all the files required to build your own board. There is no mention of whether boards can be bought, but we’d say this could be a commercial-quality product if they chose to take it in that direction.

Talking To Alexa With Sign Language

As William Gibson once noted, the future is already here, it just isn’t equally distributed. That’s especially true for those of us with disabilities. [Abishek Singh] wanted to do something about that, so he created a way for the hearing-impaired to use Amazon’s Alexa voice service. He did this using a TensorFlow deep learning network to convert American Sign Language (ASL) to speech and a speech-to-text converter to interpret the response. This all runs on a laptop, so it should work with any voice interface with a bit of tweaking. In particular, [Abishek] seems to have created a custom bit of ASL to trigger Alexa. Perhaps the next step would be to use a robotic arm to create the output directly in ASL and cut out the Echo device completely? [Abishek] has not released the code for this project yet, but he has released the code for other projects, such as Peeqo, the robot that responds with GIFs.

[Via FlowingData and [Belg4mit]]

Continue reading “Talking To Alexa With Sign Language”

Measuring Web Latency In The Browser

We’ll go out on a limb and assume that anyone reading these words is probably familiar with the classic ping command. Depending on which operating system you worship the options might be slightly different, but every variation of this simple tool does the same thing: send an ICMP echo request and wait for a response. How long it takes to get a response from the target, if it gets one at all, is shown to the user. This if often the very first step to diagnosing network connectivity issues; if this doesn’t work, there’s an excellent chance the line is dead.

But in the modern web-centric view of networking, ping might not give us the whole picture. But nature it doesn’t take into account things like DNS lookups, and it certainly doesn’t help you determine what (if any) services the target has available to you. Accordingly, [Liu Zhiyong] has come up with a tool he calls “pingms”, which allows you to check web server latency right from your browser.

Rather than relying on ICMP, pingms performs a more realistic test. It takes the list of targets from the file “targets.js” and connects to each one over HTTP. How does it work? The code [Liu] has come up with will take each target domain name, append a random number to create a gibberish filename, and then calculate how long it takes to get a response when trying to download the file. Obviously it’s going to be getting a 404 response from the web server, but the important thing is simply that it gets the response.

With this data, [Liu] has come up with a simplistic but very slick interface which shows the user the collected data with easy to understand color-coded graphs. As interesting as it is to see how long it takes your favorite web sites or service providers to wake up and start talking, watching the colored bars hop up and down the list to sort themselves is easily our favorite part of pingms.

[Liu] has released pingms under the GPLv3 license, so if you’re looking to utilize the software for your own purposes you just need to provide a list of test targets. If you need to perform low-level diagnostics, check out this handy network tester you can build for cheap.

Fail Of The Week: Careful Case Mod Is All For Naught

Today’s entry comes to us from [Robert Tomsons], who was kind enough to document this crushing tale of woe so that we might all learn what true heartbreak is. If you’ve ever toiled away at getting that perfect surface finish with body filler, this one is going to hurt. In fact, you might just want to hit that “Back” button and head to safety now. There’s probably a pleasant story about some 3D printed thing being used with a Raspberry Pi of some sort that you can read instead.

For those of you brave enough to continue on, today we’ll be looking at what [Robert] thought would be a simple enough project. Seeing the board from a USB 3.0 external hard drive kicking around his parts bin, he had a rather unusual idea. Wanting to add an extra drive to his computer, but liking the idea of being able to independently control its power, he decided to integrate the external drive into machine’s front panel. This would not only allow him to power off the secondary drive when not in use, but it meant he could just plug his laptop into the front panel if he wanted to pull files off of it.

All [Robert] needed to do was make it look nice. He carefully squared off the edges of the external drive’s back panel to roughly the size of the computer’s 3.5 inch drive bay opening. He then glued the piece in place, and began the arduous task of using body filler to smooth everything out. It’s a dance that many a Hackaday reader will know all too well: filler, sand, primer, sand, filler, sand, primer, sand, so on and so on. In the end, the final result looked perfect; you’d never have thought the front panel wasn’t stock.

It should have been so easy. Just snap the case back together and be done with it. But when [Robert] finally got the machine buttoned back up and looked at the front, well, it’s safe to say his day couldn’t get much worse. Maybe the glue was not up to the task. Perhaps it was how excited he was to get the case put back together; a momentary loss of muscular coordination. A few extra foot-pounds of energy per second, per second. Who can say?

[Robert] says he’ll return to the project, but for now he needs a break. We agree. Interestingly, he mentions in his post that his body filler work was inspired by [Eric Strebel], a name that is well known around these parts. Considering how good it looked before it exploded, we’ll consider that high praise.