USB-C For Hackers: Program Your Own PSU

Last time, I showed off a few ways you can convert an existing PSU to USB-C duty, and zoomed in on a particular way you can use to convert one of the ever-abundant 18 V – 20 V laptop PSUs to USB-C. All we have left is to write software for it, and I’ll explain how it works. There’s also that one cool USB-C secret I’ve found out, but you’ll have to read on to find out more.

From the last article, we have a board that has an RP2040 and FUSB302 combo on it, which takes a 20 V DC PSU input from a laptop brick, and can switch either 5 V, 20 V or 0 V to its USB-C socket using FETs. The USB-C communication firmware is simple enough, but there’s caveats, especially regarding safety. Let’s go through those!

The Code Logic

VBUS has to be non-powered by default – we only supply 5 V when the FUSB302 detects a 5.1 kΩ pulldown on one of the CC lines. After supplying 5 V, we send out PSU capability advertisements, of the kind that we’ve learned to parse in the Replying PD article – and whenever we get a Request, we have to switch to the requested profile, connecting the voltage rail requested to the FET. I opt to not do any current consumption control in this design, assuming a well-behaved device, but you theoretically should do that. It wouldn’t be hard to add a high-side current sensor, say, something from Analog Devices – I just don’t want to do that now, especially given that I’m already using two of the exposed ADC pins to do Lenovo/HP PSU capability detection instead, one is used up for VBUS measurement, and the fourth is used for VIN (20 V rail) measurement – that’s four ADCs, which is as much as the RP2040 has got. However, if I ever need more ADCs, I can add an analog mux like 4051 in the next version! Continue reading “USB-C For Hackers: Program Your Own PSU”

Revive A Sony Vaio P-Series With KiCad’s Background Bitmaps

You might remember that KiCad 7 came out this February, with a multitude of wonderful features. One of them was particularly exciting to see, and the KiCad newsletter even had an animated GIF to properly demo it – a feature called “Background Bitmaps”, which is the ability to add existing board images into your board editor, both front and back, and switch between them as you design the board. With it, you can draw traces, recreate the outline and place connectors over these images, giving you a way to quickly to reproduce everything on an existing PCB! I’ve seen some friends of mine use this feature, and recently, I’ve had a project come up that’s a perfect excuse for me to try it.

By [Yoggy], CC-BY-2.0
Back in 2020, I managed to get a Sony Vaio P from a flea market, for about 20€. It’s a beloved tiny laptop from 2009, now a collectors item, and we’ve covered a few hacks with it! The price was this wonderful only because it was not fit for regular flea market customers – it was in bad condition, with the original DC jack lost and replaced by some Molex-like power connector, no hard drive, and no battery in sight.

In short, something worth selling to a known tinkerer like me, but not particularly interesting otherwise. Nevertheless, about half a year later, when I fed it the desired 10.5 V from a lab PSU and gave the power button a few chances, it eventually booted up and shown me the BIOS menu on the screen! I’ve disassembled and reassembled it a few times, replaced the DC jack with an original one from a different Vaio ultrabook I happened to have parts from, and decided to try to bring it back to original condition.

Continue reading “Revive A Sony Vaio P-Series With KiCad’s Background Bitmaps”

How Framework Laptop Broke The Hacker Ceiling

We’ve been keeping an eye on the Framework laptop over the past two years – back in 2021, they announced a vision for a repairable and hacker-friendly laptop based on the x86 architecture. They’re not claiming to be either open-source or libre hardware, but despite that, they have very much delivered on repairability and fostered a hacker community around the laptop, while sticking to pretty ambitious standards for building upgradable hardware that lasts.

I’ve long had a passion for laptop hardware, and when Hackaday covered Framework announcing the motherboards-for-makers program, I submitted my application, then dove into the ecosystem and started poking at the hardware internals every now and then. A year has passed since then, and I’ve been using a Framework as a daily driver, reading the forums on the regular, hanging out in the Discord server, and even developed a few Framework accessories along the way. I’d like to talk about what I’ve seen unfold in this ecosystem, both from Framework and the hackers that joined their effort, because I feel like we have something to learn from it.

If you have a hacker mindset, you might be wondering – just how much is there to hack on? And, if you have a business mindset, you might be wondering – how much can a consumer-oriented tech company achieve by creating a hacker-friendly environment? Today, I’d like to give you some insights and show cool things I’ve seen happen as an involved observer, as well as highlight the path that Framework is embarking upon with its new Framework 16.

Continue reading “How Framework Laptop Broke The Hacker Ceiling”

Render of the shell pictured standing on the pavement, with shell parts printed in white and button parts printed in orange

Packing For Supercon? Here’s A Printable Case For Your Badge

Hackaday Supercon 2023 is a week away, and if you’re still thinking about the equipment you need to take with you, here’s something you’ll want to print – a case for the Supercon 2023 badge that you will find inside of your goodie bag. This year’s Supercon badge is a gorgeous analog playground board we call Vectorscope, powered by an RP2040, MicroPython, and a ton of love for all of the creativity that we’ve seen you bunch express through the wonders of analog electronics. There’s a round LCD screen, SMD buttons galore, as well as some pokey through-hole headers, and if you’ve carried a badge around, you know that all of these can be a bit touchy! You’re in luck, though – just in time, [T.B. Trzepacz] brings us a 3D-printed shell.

Over on Hackaday Discord, we’ve been watching this shell go through multiple iterations throughout the past few days – the initial design pics appeared almost as soon as we published the PCB files for the badge! Yesterday, [T.B. Trzepacz] dropped by the Design Lab where we’ve been putting finishing touches on the badges, and armed with the real-world PCBs, made the final tweaks to the design – then gave us the go-ahead to spread the word.

This shell is practical but elegant and does a mighty fine job protecting both the badge and the wearer. Nothing is hidden away, from the buttons to the expansion headers, and the lanyard holes keep it wearable. At this time, grab the Basic 2 files – these should work for SLA and FDM printers alike, and they’re tolerant enough even for FDM printers below average. Pick your favourite color scheme, or go for one of the transparent SLA resins, and when you arrive at the Supercon, you’ll have a case you can rely on.

Want to give this case your own spin? Perhaps a Pip-Boy aesthetic or a Vectrex console vibe? Should you want to modify anything, the Fusion360 sources are right there, open-source as they ought to be.

USB-C For Hackers: Build Your Own PSU

What if you wanted to build your own USB-C PSU? Good news – it’s easy enough! If you ever wanted to retrofit a decent DC PSU of yours to the USB-C standard, say, you got a Lenovo/HP/Dell 19V-20V charger brick and you’ve ever wished it were USB-C, today is the day when we do exactly that. To be fair, we will cheat a bit – but only a tiny bit, we won’t be deviating too much from the specification! And, to begin with, I’ll show you some exceptionally easy ways that you can turn your DC PSU into a USB-C compatible one, with a simple module or a few.

Turning a 20 V PSU into a USB-C PSU feels natural if you want to charge a laptop – those tend to request 20 V from a USB-C PSU anyway, so what’s the big deal? However, you can’t just put 20 V onto a USB-C connector – you have to add a fair bit of extra logic to make your newly christened USB-C PSU safe to use with 5 V devices, and this logic also requires you go through a few extra steps before 20 V appears on VBUS. Any USB-C PSU has to output 5 V first and foremost whenever a device is connected, up until a higher voltage is negotiated digitally, and the PSU may only switch to a higher voltage output when it’s requested to do so.

Now, for that, a PSU offers a list of profiles, and we looked into those profiles in the Replying PD article – each profile is four bytes that contain information about the profile voltage, maximum current that the device may draw at that voltage, and a few other details. For a PSU to be USB-C compliant, the USB-C specification says that, in addition to 5 V, you may also offer 9 V, 15 V, and 20 V.

Also, the specification says that if a PSU supports certain in-spec voltage like 15 V, it’s also required by the spec to offer all of the spec-defined voltages below the maximum one – for 15 V, that also requires supporting 9 V. Both of these are UX requirements, as opposed to technical requirements – it’s easier for device and PSU manufacturers to work with a small set of pre-defined voltages that majority of the chargers will support, but in reality, you can actually offer any voltage you want in the PSU advertisement; at worst, a device is going to refuse and contend with slowly charging from the 5 V output that you’re required to produce.

I’d like to walk you through how off-the-shelf USB-C PSUs work, all of the options you can use to to create one, and then, let’s build our own USB-C PSU from scratch! Continue reading “USB-C For Hackers: Build Your Own PSU”

Displays We Love Hacking: The HD44780 Family

There are too many different kinds of displays – some of them, you already know. I’d like to help you navigate the hobbyist-accessible display world – let’s take a journey together, technology by technology, get a high-level overview of everything you could want to know about it, and learn all the details you never knew you needed to know. In the end, I’d like you to be able to find the best displays for any project you might have in mind, whatever it could be.

There’s a HD44780 clone IC under this epoxy blob! CC0 1.0

Today, let’s take a look at a well-known LCD technology – the HD44780 displays, a type of display that we hobbyists have been working with since the 1980s. Its name comes from the HD44780 driver chip – a character display driver IC that connects to a raw display panel and provides an easy interface.

HD44780 displays are not known for power efficiency, cutting-edge technology, ultimate flexibility, or small size, for that matter. However, they’re tried and true, easy to drive, require little to no computing power on your MCU, and you will be able to buy them for the foreseeable future. They’re not about to get taken off the market, and they deserve a certain kind of place in our parts boxes, too.

If you work with HD44780 displays for a project or two, you might acquire a new useless superpower – noticing just how many HD44780 displays are still in use in all sorts of user-facing devices, public or private. Going out and about in your day-to-day life, you can encounter a familiar 16 x 2 grid of characters in cash registers, public transport ticket machines, home security panels, industrial and factory equipment, public coffee machines, and other microcontroller-assisted places of all kinds! Continue reading “Displays We Love Hacking: The HD44780 Family”

Image of the presenter on the podium, in front of the projector screen with graphs shown on it

Supercon 2022: [Alex Whittemore] On Treating Your Sensor Data Well

If you build your own devices or hack on devices that someone else has built, you know the feeling of opening a serial terminal and seeing a stream of sensor data coming from your device. However, looking at scrolling numbers gets old fast, and you will soon want to visualize them and store them – which is why experienced makers tend to have a few graph-drawing and data-collecting tools handy, ready to be plugged in and launched at a moment’s notice. Well, if you don’t yet have such a tool in your arsenal, listen to this 16-minute talk by [Alex Whittemore] to learn about a whole bunch of options you might not even know you had!

For a start, there’s the Arduino Serial Plotter that you get for free with your Arduino IDE install, but [Alex] also reminds us of the Mu editor’s serial plotter – about the same in terms of features, but indisputably an upgrade in terms of UX. It’s not the only plotter in town, either – Better Serial Plotter is a wonderful standalone option, with a few features that supercharge it, as [Alex] demonstrates! You don’t have to stop here, however – we can’t always be tethered to our devices’ debugging ports, after all. Continue reading “Supercon 2022: [Alex Whittemore] On Treating Your Sensor Data Well”