Ubiquitous Successful Bus: Hacking USB 2 Hubs

We’ve been recently looking into USB 2.0 – the ubiquitous point-to-point communications standard. USB 2 is completely different from USB 3, the blue-connector next-generation USB standard. For instance, USB 2 is a full-duplex pseudo-differential bus, and it’s not AC-coupled. This makes USB2 notoriously difficult to galvanically isolate, as opposed to USB 3.  On the other hand, USB 2 is a lot easier to incorporate into your projects. And perhaps the best way to do so is to implement a USB hub.

USB 2 hubs are, by now, omnipresent. it doesn’t cost much to add to your board, and you truly have tons of options. The standard option is 4-port hubs – one uplink port to your host, four downlink ports to your devices. If you only have two or three devices, you might be tempted to look for a hub IC with a lower amount of ports, but it’s not worth bothering – just use a 4-port chip, and stock up on them.

What about 7-port chips? You will see those every now and then – but take a close look at the datasheet. Some of them will be two 4-port chips inside a single package, with four of the ports bottlenecked compared to the three other ports – watch out! Desktop 7-port hubs are basically guaranteed to use two 4-port ICs, too, so, again, watch out for bottlenecks. lsusb -t will help you determine the hub’s structure in case you don’t want to crack its case open, thankfully.

Recommendations? I use SL2.1 chips – they’re available in an SO16 package, very unproblematic, to-the-point pinout and easily hand-solderable. CH334 is a close contender, but watch out because there are different variants of this chip that differ by both package and pinout, so if you’re buying a chip with a certain letter, you will want to stick to it. Not just that, be careful – different variants run out at different rates, so if you lock yourself into a CH334 variant, consider stocking up on it. Continue reading “Ubiquitous Successful Bus: Hacking USB 2 Hubs”

Hacker Tactic: Building Blocks

The software and hardware worlds have overlaps, and it’s worth looking over the fence to see if there’s anything you missed. You might’ve already noticed that we hackers use PCB modules and devboards in the same way that programmers might use libraries and frameworks. You’ll find way more parallels if you think about it.

Building blocks are about belonging to a community, being able to draw from it. Sometimes it’s a community of one, but you might just find that building blocks help you reach other people easily, touching upon common elements between projects that both you and some other hacker might be planning out. With every building block, you make your or someone else’s next project quicker, and maybe you make it possible.

Sometimes, however, building blocks are about being lazy.

Continue reading “Hacker Tactic: Building Blocks”

Ubiquitous Successful Bus: Version 2

I’ve talked a fair bit about USB-C before, explaining how it all works, from many different angles. That said, USB-C is just the physical connector standard, plus the PD part that takes care of voltages and altmodes – things like data transfer are still delegated to the two interfaces you invariably end up using on USB-C ports, USB 2, and USB 3.

You might think USB 2 and USB 3 are tightly related, but in many crucial ways, they couldn’t be more different. I have experience working with both, and, as you might guess, I want to share it all with you. You might be surprised to hear there’s plenty to learn about USB 2 in particular – after all, we’ve had it hang around for 30 years now. Well, let’s make sure you’re fully caught up!

The Ingredients

USB 2 is a point-to-point link – one side is “host” and another is “device”, with the host typically being a PC chipset or a single-board computer. USB 2 relies on a single pseudodifferential pair. It’s “pseudodifferential” because the wires don’t just do differential signaling – they also use digital logic levels and pullup/pulldown resistors to signal device presence, especially in the beginning when the USB link is still getting established. Indeed, you can imitate a USB device’s presence with just a resistor.
Continue reading “Ubiquitous Successful Bus: Version 2”

Hack On Self: The Alt-Tab Annihilator

Last time, I told you about a simple script I made to collect data about my laptop activity, talked about why collecting data about yourself is a moral imperative, and shared the upgraded script with you alongside my plans for it. Today, I will show you a problem I’ve been tackling, with help of this script and the data it gives, and I also would love to hear your advice on a particular high-level problem I’m facing.

Today’s problem is as old as time – I often can’t focus on tasks I badly need done, even ones I want done for myself. This has been a consistent problem in my life, closing off opportunities, getting me to inadvertently betray my friends and family, hurting my health and well-being, reinforcing a certain sort of learned helplessness, and likely reinforcing itself as it goes, too.

It’s deeply disturbing to sit down fully intending to work on a project, then notice no progress on it hours later, and come to a gut-wrenching realization you’ve had hundreds of such days before – I think this screws with you, on a fundamental level. Over the years, I’ve been squeezing out lessons from this failure mode, making observations, trying out all sorts of advice, in search of a solution.

Join me today in non-invasive brain augmentation and reprogramming, as I continue trying to turn my life around – this time, with help of my laptop, a computer that I already spend a ton of time interfacing with. Ever notice that starting work on a task  is often the hardest part of it? It’s the same for me, and I decided to hack away at it.

Staying On Track

Continue reading “Hack On Self: The Alt-Tab Annihilator”

Phoniebox: A Family-Friendly Simple Music Box

Ever hear of the Phoniebox project? If not – tune in, that’s a hacker’s project your entire family will appreciate. Phoniebox is a software suite and tutorial for building a jukebox controlled through RFID cards, and it can play audio from a wide variety of sources – music and playlists stored locally, online streams like internet radio stations, Spotify, podcasts of your choice, and so on. It’s super easy to build – get a Raspberry Pi board, connect an NFC reader to it, wire up a pair of speakers, and you’re set. You can assemble a PhonieBox together with your kids over the weekend – and many do.

Want some inspiration, or looking to see what makes Phoniebox so popular? Visit the Phoniebox gallery – it’s endearing to see just how many different versions have been built over the six years of project’s existence. Everyone’s Phoniebox build is different in its own special way – you bring the hardware, Phoniebox brings well-tested software and heaps of inspiration.

You already have a case to house a  Phoniebox setup – if you think you don’t, check the gallery, you’ll find that you do. Experiencing a problem? There’s a wealth of troubleshooting advice and tutorials, and a helpful community. Phoniebox is a mature project and its scale is genuinely impressive – build one for your living room, or your hacker’s lair, or your hackerspace. RFID-controlled jukeboxes are a mainstay on Hackaday, so it’s cool to see a project that gives you all the tools to build one.

This Bluetooth GATT Course Is A Must Watch

Bluetooth is a backbone technology for innumerable off-the-shelf and hacker devices. You should know how to work with it – in particular, nowadays you will certainly be working at the Bluetooth GATT (Generic Attribute) layer. This two-part project by [V. Hunter Adams] of Cornell fame spares no detail in making sure you learn Bluetooth GATT for all your hacking needs – not only will you find everything you could want to know, you also get example GATT server and client application codebases to use in your projects, designed to work with the commonly available Pi Pico W!

What’s better than a visual demonstration? The video below shows the GATT server running on a Pico W – handling six different parameters at once. [Hunter] pokes at the server’s characteristics with a smartphone app – sending string data back and forth, switching an LED, and even changing parameters of audio or video color output by the Pico. Flash the server code into your Pico W, play with it, read through it, and follow the tutorial to learn what makes it tick.
Continue reading “This Bluetooth GATT Course Is A Must Watch”

V-Cut Vias Test Your Whole Panel At Once

We might consider PCB panels as simply an intermediate step towards getting your PCBs manufactured on the scale of hundreds. This is due to, typically, an inability to run traces beyond your board – and most panel generators don’t give you the option, either. However, if you go for hand-crafted panels or modify a KiKit-created panel, you can easily add extra elements – for instance, why not add vias in the V-Cut path to preserve electrical connectivity between your boards?

[Adam Gulyas] went out and tried just that, and it’s a wonderfully viable method. He shows us how to calculate the via size to be just right given V-Cut and drilling tolerances, and then demonstrates design of an example board with discrete component LED blinkers you can power off a coin cell. The panel gets sent off to be manufactured and assembled, but don’t break the boards apart just yet — connect power to the two through-hole testpoints on the frame, and watch your panel light up all at once.

It’s a flashy demonstration – even more so once you put light-diffusing spheres on top of the domes. You could always do such a trick with mousebites, but you risk having the tracks tear off the board, and, V-Cuts are no doubt the cleanest way to panelize – no edge cleaning is required after breaking the boards apart. Want to learn about panel design? We’ve written and featured multiple guides for you over the years.