Vista Normal

Hay nuevos artículos disponibles. Pincha para refrescar la página.
AnteayerSalida Principal

PCB Design Review: A 5V UPS With LTC4040

13 Junio 2024 at 14:00

Do you have a 5 V device you want to run 24/7, no matter whether you have electricity? Not to worry – Linear Technology has made a perfect IC for you, the LTC4040; with the perfect assortment of features, except perhaps for the hefty price tag.

[Lukilukeskywalker] has shared a PCB for us to review – a LTC4040-based stamp you can drop onto your PCB whenever you want a LTC4040 design. It’s a really nice module to see designed – things like LiFePO4 support make this IC a perfect solution for many hacker usecases. For instance, are you designing a custom Pi HAT? Drop this module to give your HAT the UPS capability for barely any PCB effort. if your Pi or any other single-board computer needs just a little bit of custom sauce, this module spices it up alright!

This one is a well-designed module! I almost feel like producing a couple of these, just to make sure I have them handy. If you like the LTC4040, given its numerous features and all, this is also not the only board in town – here’s yet another LTC4040 board that has two 18650 holders, and referencing its PCB design will help me today in this review, you can take a look at it too!

Now, having looked at this PCB for a fair bit, it has a few things that we really do want to take care of. Part of today’s review will be connector selection, another would be the module form-factor, some layout, and some suggestions on sizing the passives – the rows of 1206 components are pretty, but they’re also potentially a problem. Let’s waste no time and delve in.

Battery Wireup And Formfactor

The battery connector uses JST-SH, one pin for VBAT and one for GND. The problem with this is that the module is capable of 2.5 A at 5 V = 12 W. At 3.6 V, that’s 4 A if not more and JST-SH is only rated for 1 A per pin. Using this module with a battery as-intended will melt things. You could add a bigger connector like the standard JST-PH, but that’d increase the module size, and my assessment is that this board doesn’t have to be larger than it already is.

Thankfully, this is an open-source module, so we can change its pinout easily enough, adding pins for the battery into the mix. Currently, this board feels breadboardable, but it isn’t quite – it’s pretty wide, so it will take two breadboards to handle, and a breadboard would also probably be disappointed with the pin amount required. With that in mind, adding pins at the top looks convenient enough.

In general, shuffling the pins around will help a fair bit. My hunch is to make the module’s castellations asymmetric, say, do 7-5-5-5 – one side with seven pins, three sides with five pins. It might not look as perfect, but what’s important is that it will be way way harder to mount incorrectly, something I’ve done with a module of my own design – that was not fun to fix. If you are worried about having enough pins to fill the resulting 22-pin combination, it’s always great to just add GND, doubly so for a power-related module!

Adding more castellations also helps us shuffle the pinout around, freeing up the routing – let’s go through the pins and see what that could help with.

Pinout Changes

The schematic is seriously nice looking – every single block is nicely framed and has its description listed neatly. Comparing it with reference schematic, it looks pretty good!

There’s a few nits to pick. For instance, BST_OFF and CHG_OFF need to be grounded for the IC to work – datasheet page 10. You could ground them through a resistor and pull them onto a castellation, but you can’t leave them floating. This is not easy to notice, however, unless you go through the pins one by one and recheck their wiring; I noticed it because I was looking at the board, saw two unconnected pins and decided to check.

My hunch is that, first, all the pins were given power names, and then two of them were missed as not connected anywhere, which is an understandable mistake to make.

Let’s keep with the schematic style – add two more connectors, one 5-pin and one 7-pin, rearrange the pinout, and keep them in their own nicely delineated area. The 7-pin connector gets the battery pins and a healthy dose of ground, and as for the 5 extra pins at the bottom, they’ll serve as extra ground pins, and give us shuffling slots for pins that are best routed southward.

Components And Placement

Having 1206 resistors on such a module is a double-edged sword. On one hand, given the adjustability, you definitely want resistors that you’d be able to replace easily, so 0402 is not a great option. However, 1206 can actually be harder to replace with a soldering iron, since you need to heat up both sides. The writing is more readable on 1206, no doubt, and it’s also nice that this module is optimized by size. Still, for the sake of routability, I will start by replacing the LEDs and LED resistors with 0603 components – those are resistors you will not be expected to replace, anyway.

Also, I have a hunch that a few components need to be moved around. First one is the RProg, no doubt – it’s in the way of the switching path, going right under the SW polygon. Then, I will rotate the Rsense resistor so that it’s oriented vertically – it feels like that should make the VIN track less awkward, and show whether there’s any space to be freed on the left.

Resistors replaced, a few components moved, and here’s where the fun begins. The IGATE track is specifically designated in the datasheet as pretty sensitive, to the point the PDF talks about leakage from this track to the other tracks – it is a FET gate driver output, after all. Having it snake all around power tracks feels uncomfortable I’d like to refactor these FETs a bit, and see if I can make the IGATE track a bit more straightforward, perhaps also make the space usage on the left more optimized. While doing that, I will be shuffling pins between the castellated edges every now and then.

After a bit of shuffling and component rerouting, it felt like I wasn’t getting anywhere. It was time to try and reconstruct the circuit in the way it could make sense, prioritizing the power path and starting with it. For that, I pulled out both FETs, current sense resistor and the feedback divider out of the circuit, and tried rearranging them until it looked like they would work.

Following quite a few attempts at placing the components, I had to settle on the last one. I_GATE took quite a detour, though I did route it via-less in the end; VIN and CLN went on the bottom layer to give room to I_GATE (and be able to cross each other), and all the non-sensitive signals went into vias so that they could be routed outside of the switching area. It turned out the pinout is seriously not conducive to a neat layout; I suppose, some chips are just like that. Perhaps, it was that the gate driver only could’ve had been located on this particular, so that’s why the IGATE pin is on the opposite side of where the FET could be, instead of it, say, being next to V_SYS outputs.

Post-Redesign Clarity

Is the board better now? In many ways, yes; in some ways, no. I don’t know that it’s necessarily prettier, if that makes sense, there were certainly things about the board’s original state that were seriously nice. The package chosen for the FETs definitely didn’t help routing with my I_GATE target in mind, giving no leeway to route things between pins; if I were to change them to DFN8, I could indeed more easily provide a VSYS guard track that the datasheet suggests you use for I_GATE.

I’ve also rearranged the pinout quite a bit. That does mean the STATUS/POWER side distinction of the original board no longer works, but now pins don’t have to go across the board, cutting GND in half. After looking into the datasheet, I didn’t find any use for the CSN pin being broken out, since it’s just a sense resistor net; that space is now occupied by a GND pin, and there’s one less track to route out.

There’s now a good few GND pins on the board – way more than you might feel like you need; the right header feels particularly empty. If you wanted, you could add a Maxim I2C LiIon fuel gauge onto the board, since there’s now enough space in the top right, and quite a few free pins on the right. This would let your UPS-powered device also query the UPS’s status, for one. Of course, such things can always be added onto the actual board that the module would mount onto.

I also removed designators about things that felt too generic – specifically, resistors that only have one possible value and won’t need to be replaced, like LED resistors and pullups for mode selection jumpers. All in all, this board is now a little easier to work with, and perhaps, its ground distribution is a little better.

This module’s idea, and both its authors and my implementation are seriously cool! I hope I’ve helped make it cooler, if at least in the battery connector department. Both the pre-review and post-review versions are open-source, so you can also base your own castellated module off this board if you desire – it’s a good reference design for both LTC4040 and also self-made castellated modules. It’s only 30 mm x 30 mm, too, so it will be very cheap to get made. I hope my input can make this module all that cooler, and, at this point, I want to make a board around this module – stay tuned!

As usual, if you would like a design review for your board, submit a tip to us with [design review] in the title, linking to your board files. KiCad design files strongly preferred, both repository-stored files (GitHub/GitLab/etc) and shady Google Drive/Dropbox/etc .zip links are accepted.

Automating 3D Printer Support Hardware

6 Junio 2024 at 23:00

While 3D printers have evolved over the past two decades from novelties to powerful prototyping tools, the amount of support systems have advanced tremendously as well. From rudimentary software that required extensive manual input and offered limited design capabilities, there’s now user-friendly interfaces with more features than you could shake a stick at. Hardware support has become refined as well with plenty of options including lighting, ventilation, filament recycling, and tool changers. It’s possible to automate some of these subsystems as well like [Caelestis Workshop] has done with this relay control box.

This build specifically focuses on automating or remotely controlling the power, enclosure lighting, and the ventilation system of [Caelestis Workshop]’s 3D printer but was specifically designed to be scalable and support adding other features quickly. A large power supply is housed inside of a 3D printed enclosure along with a Raspberry Pi. The Pi controls four relays which are used to control these various pieces hardware along with the 3D printer. That’s not the only thing the Pi is responsible for, though. It’s also configured to run Octoprint, a piece of open-source software that adds web interfaces for 3D printers and allows their operation to be monitored and controlled remotely too.

With this setup properly configured, [Caelestis Workshop] can access their printer from essentially any PC, monitor their prints, and ensure that ventilation is running. Streamlining the print process is key to reducing the frustration of any 3D printer setup, and this build will go a long way to achieving a more stress-free environment. In case you missed it, we recently hosed a FLOSS Weekly episode talking about Octoprint itself which is worth a listen especially if you haven’t tried this piece of software out yet.

Quick & Capable WiFi For Your Nice-Power Supply

1 Junio 2024 at 02:00
Photo of a Nice-Power supply

Rejoice, those of us who have purchased a Nice-Power lab PSU from an Eastern source. Yes, the name might sound like a re-brand of a generic product, maybe you will even see this exact PSU on a shelf at a physical store near you, under a more local brand name and with a fair markup. Nevermind the circumstances, the most important part is that [Georgi Dobrishinov] found a way to add an ESP8266 to the PSU by tapping its internal UART control interface, and wrote a web UI for all your Internet-of-Lab-PSUs needs, called the PowerLinkESP project.

All you need is a Wemos D1 development board, or any other ESP8266 board that has UART pins exposed and handles 5 V input. [Georgi] brings everything else, from pictures showing you where to plug it in and where to tap 5 V, to extensive instructions on how to compile and upload the code, using just the Arduino IDE. Oh, and he tops it off with STLs for a 3D printed case, lest your Wemos D1 board flop around inside.

With [Georgi]’s software, you can monitor your PSU with interactive charts for all readings, export charts in both PNG and CSV, and access a good few features. Your ESP8266’s network uplink is also highly configurable, from an STA mode for a static lab config, to an AP mode for any on-the-go monitoring from your phone, and it even switches between them automatically! The firmware makes your PSU all that more practical, to the point that if you’re about to build an interface for your PSU, you should pay attention to [Georgi]’s work.

Lab PSUs with WiFi integration are worth looking into, just check out our review of this one; smart features are so nice to have, we hackers straight up rewrite PSU firmware to get there if we have to. Oh, and if you ever feel like standardizing your work so that it can interface to a whole world of measurement equipment, look no further than SCPI, something that’s easier to add to your project than you might expect, even with as little as Python and a Pi.

2024 Business Card Challenge: Adding Some Refinement to Breadboard Power Supplies

26 Mayo 2024 at 11:00

For small electronics projects, prototyping a design on a breadboard is a must to iron out kinks in the design and ensure everything works properly before a final version is created. The power supply for the breadboard is often overlooked, with newcomers to electronics sometimes using a 9V battery and regulator or a cheap USB supply to get a quick 5V source. We might eventually move on to hacking together an ATX power supply, or the more affluent among us might spring for a variable, regulated bench supply, but this power supply built specifically for breadboards might thread the needle for this use case much better than other options.

The unique supply is hosted on a small PCB with two breakout rails that connect directly to the positive and negative pins on a standard-sized breadboard. The power supply has two outputs, each of which can output up to 24V DC and both are adjustable by potentiometers. To maintain high efficiency and lower component sizes, a switch-mode design is used to provide variable DC voltage. A three-digit, seven-segment display at the top of the board keeps track of whichever output the user selects, and the supply itself can be powered by a number of inputs, including USB-C or lithium batteries.

As an upgrade to one’s own janky power supply (seen here in a project to upgrade the BIOS in an old laptop) this is an excellent step up, and of course comes in a form factor that fits into our current design contest. Of course, if you need a little more current delivering capabilities, there are some modern ATX modifications that can provide a fairly robust benchtop supply without too much expense. You can find some more information about this power supply on the project’s Kickstarter page.

2024 Business Card Challenge

Upgrading a Cheap LX-2BUPS UPS Board To Fix Fatal Flaws

Por: Maya Posch
6 Mayo 2024 at 20:00

Cheap uninterruptable power supply (UPS) boards that take Li-ion cells of some description seem to have cropped up everywhere the past years. Finding use in applications such as keeping single-board computers ticking along in the case of a power failure, they would seem to be a panacea. Unfortunately most of these boards come with a series of fatal flaws, such as those that [MisterHW] found in an LX-2BUPS board obtained from AliExpress. Worst of all was the deep discharge of the Li-ion cells to below 2 V, which took some ingenuity and hard work to fix this and other problems.

The patched up XR2981 boost IC with MCP809 reset IC installed. (Credit: [MisterHW])
The patched up XR2981 boost IC with MCP809 reset IC installed. (Credit: [MisterHW])
This particular board is rated for 5V at 3A, featuring the all too common TP4056 as charging IC and the XYSemi XR2981 boost converter. Since there is no off-switch or other protections on the board, the XR2981 will happily keep operating until around 2.6V, at a rather astoundingly high idle power consumption. Because of this the fixes mostly concentrated on optimizing the XR2981, by using better resistor values (R7, R8, R9), as well as adding a 3.15V MCP809 reset IC, to reduce idle power usage of the boost converter and disable it below a safe cell voltage.

The final coup de grâce was the eviction of the red LED (D6) and replacing it with the blue LED from D2, to stop the former from draining the cell as well. With these changes in place, no-load power usage dropped from nearly 900 µA to just over 200 µA, while preventing deep discharge. Although this board now has a second life, it does raise the question of what the point of these cheap UPS boards is if you have to spend money and time on reworking them before they’re somewhat acceptable. What is your go-to solution for these boards?

❌
❌