Tales (and Advice) From Setting Up A Product Line

Making something that has to get into others’ hands involves solving a lot of different problems, many of which have nothing at all to do with actually building the dang things. [Conor Patrick] encountered them when he ran a successful Kickstarter campaign for an open-source USB security key that was not only shipped to backers, but also made available as an ongoing product for sale. There was a lot of manual and tedious work that could have been avoided, and so [Conor] laid out all the things he wishes he had done when first setting up a product line.

Turning these unprogrammed boards into finished products then shipping them is a big job.

If the whole process is a river, then the more “upstream” an issue is, the bigger its potential impact on everything that comes afterwards. One example is the product itself: the simplest and most easily managed product line is one that has only one product with no variations. That not only minimizes errors but makes supply, production, and shipping more straightforward. Striving for a minimum number of products and variations is also an example of something [Conor] didn’t do. In their crowdfunding campaign they offered the SoloKeys USB device — an implementation of the FIDO2 authentication token — as either USB-A or USB-C. There were also two types of key: NFC-capable (for tapping to a smartphone) and USB only. That is four products so far.

Offering keys in an unlocked state for those who want to tamper makes it eight different products. On top of that, they offered color choices which not only adds complexity to production, but also makes it harder to keep track of what everyone ordered. [Conor] also observed that the Kickstarter platform and back end are really not set up like a store, and it is clunky at best to try to offer (and manage) different products and variations from within it.

Another major point is fulfillment and in [Conor]’s opinion, unless the quantities are small, an order fulfillment company is worth partnering with. He says there are a lot of such companies out there, and it can be very time consuming to find the right one, but it will be nothing compared to the time and effort needed to handle, package, address, and ship several hundreds (or thousands!) of orders personally. His team did their own fulfillment for a total of over 2000 units, and found it a long and tedious process filled with hidden costs and challenges.

There’s good advice and background in [Conor]’s writeup, and this isn’t his first rodeo. He also shared his thoughts on taking electronics from design to production and the more general advice remains the same for it all: be honest and be open. Under-promise and over-deliver, especially when it comes to time estimates.

VGA Signal In A Browser Window, Thanks To Reverse Engineering

Epiphan VGA2USB LR VGA-to-USB devices

[Ben Cox] found some interesting USB devices on eBay. The Epiphan VGA2USB LR accepts VGA video on one end and presents it as a USB webcam-like video signal on the other. Never have to haul a VGA monitor out again? Sounds good to us! The devices are old and abandoned hardware, but they do claim Linux support, so one BUY button mash later and [Ben] was waiting patiently for them in the mail.

But when they did arrive, the devices didn’t enumerate as a USB UVC video device as expected. The vendor has a custom driver, support for which ended in Linux 4.9 — meaning none of [Ben]’s machines would run it. By now [Ben] was curious about how all this worked and began digging, aiming to create a userspace driver for the device. He was successful, and with his usual detail [Ben] explains not only the process he followed to troubleshoot the problem but also how these devices (and his driver) work. Skip to the end of the project page for the summary, but the whole thing is worth a read.

The resulting driver is not optimized, but will do about 7 fps. [Ben] even rigged up a small web server inside the driver to present a simple interface for the video in a pinch. It can even record its output to a video file, which is awfully handy. The code is available on his GitHub repository, so give it a look and maybe head to eBay for a bit of bargain-hunting of your own.

Peek Inside These Same-But-Different Power Supplies

When [Kerry Wong] found an Amrel PPS 35-2 Programmable Power Supply from the late 90s on eBay, he recognized it as the single-channel version of another unit he owned, the dual-channel Amrel PPS-2322. Naturally, he purchased it and did a compare and contrast of the two models.

From the outside, they look fairly different but weigh about the same. But the similarities on the inside make it quite clear that they share a common design. There are a few things that grab your eye and the 35-2 doesn’t seem quite as well thought out, with some components being soldered into awkward-looking places. Capacitors bristle like barnacles where they are soldered directly to a connector, and a blob of hot glue anchors two resistors that rise up out of the board like a couple of weeds.

The link above shows some high resolution side-by-side photos between the two models, and [Kerry] thoughtfully provides a link to the manual for the PPS series as well as a dump of the firmware (.zip) for the 35-2. A teardown video is embedded below.

Benchtop power supplies are important tools, but we’ve also seen how modern breadboard power supplies are remarkably full-featured.

Continue reading “Peek Inside These Same-But-Different Power Supplies”

Think You Know CURL? Care To Prove It?

Do you happen to remember a browser-based game “You Can’t JavaScript Under Pressure”? It presented coding tasks of ever-increasing difficulty and challenged the player to complete them as quickly as possible. Inspired by that game, [Ben Cox] re-implemented it as You Can’t cURL Under Pressure!

In it, the user is challenged in their knowledge of how to use the ubiquitous curl in a variety of different ways. Perhaps this doesn’t sound terribly daunting, especially if your knowledge of curl is limited to knowing it is a command-line tool to fetch something from a web server. But curl has a staggering number of features. The man page is over 4500 lines in length. The software’s main site offers a (free) 250+ page guide on how to use curl and libcurl. Reflecting on this is exactly what led [Ben] to create his challenge.

It’s a wonderful piece of work, but things get really interesting once [Ben] starts talking about the infrastructure behind it all. At its core the game works by giving the user a problem and a virtual machine, and catching outgoing HTTP calls to see whether they look correct. If the outgoing HTTP call is the right solution for the problem, terminate the current VM and start up the next one with the next problem. He’s put a lot of work into getting suitable VMs up and running quickly, securely, and properly isolated. The code can be found on the project’s GitHub repository for those who want a closer look.

But that’s not all. [Ben] says that in the past he’s had a bad habit of presenting interactive features in his blog posts that can’t keep up with sudden demand. So to address that, the system auto-scales as needed with a small Linux cluster; small brick-sized PCs are started and shut down automatically to meet demand. Hey, the only thing cooler than a functioning cluster is a cluster doing an actual job, like this one that detects NSFW images.

Need Hackable Melodies? Here’s The TETRIS Theme And More

[Robson Couto] started to get interested in musical projects and as a side effect created downloadable code with simple notation for a good variety of themes, songs, and melodies. They are all for the Arduino and use only the built-in tone() function, but don’t let that distract you. If you look past that, you’ll see that each sketch is a melody that consists of single notes and durations; easily adapted to other purposes or simply used as-is. After all, [Robson] wanted the source of each tune to be easily understood, easily modified, and to have no external dependencies.

All that may sound a bit like MIDI, but MIDI has much more in common with hardware events than music notation because it includes (among other things) note starts and note ends as separate elements. Converting MIDI into a more usable format was a big part of a project that fed Bach music to a neural network and got surprisingly good results.

When doing music projects, sometimes having a recognizable melody represented very simply as notes and durations with only one note at a time can be an awfully handy resource, and you can find them on GitHub. There’s a brief video of the Tetris theme (actual name: Korobeiniki) being played after the break.

Continue reading “Need Hackable Melodies? Here’s The TETRIS Theme And More”

Arduino Polygraph Shows How It’s Done

Sometimes, a project comes along that makes a good reference design for anyone doing similar work. In this particular case, it’s a DIY USB polygraph-like machine by [Juangg] using an Arduino and sensors on the hardware side, and a Python front end for data visualization. It’s even complete with 3D printed enclosure and sensor elements.

[Juangg] designed it to use three sensors: a pulse sensor, a breath sensor, and one to measure Galvanic Skin Response (GSR). The pulse sensor uses a piezo element pressed against a fingertip to detect changes in pressure resulting from blood flow. It can be picky about placement, but finding sweet spot can yield remarkably good readings. The breath sensor works on a similar principle but uses a 3D printed fixture to hold the sensor between a strap and the subject’s chest, so that breathing in and out can be detected. The GSR sensor is a voltage divider used to measure small changes in skin conductivity. How well does it all work? That depends on what one is looking to get out of it, but the documentation and design files are available from the project page and the GitHub repository if anyone wants a reference for similar work.

The polygraph may have a mixed reputation, but it makes a good project that demonstrates just how messy biometrics can be from an engineering perspective. And in case you missed it, here’s a reminder that Wonder Woman and the polygraph have much more in common than you might realize.

Super Easy Small Robot Wheels

Anyone who has delved into DIY wheels knows that they are a trickier than it may seem, especially if the wheels aren’t just for show and need to provide things like decent traction and durability. 3D printers have helped a lot, but they’re not a cure-all.

Check out how [Robert K.] makes wheels from segments of automotive silicone hose, which are constructed with fibers embedded within them for durability and structure. Not only are these hoses easily sourced, but the silicone makes a great wheel surface and the hoses themselves are highly durable. He uses a 3D printed jig to cut a slice of hose that press-fits perfectly onto a 3D printed hub. [Robert] finds that a 28 mm hose pulled over a 35 mm diameter wheel is a perfect fit.

These wheels are for a Beetleweight class combat robot, which are limited to three pounds (1.36 kg) or less. You can see some video of [Robert]’s previous Beetleweight robot named ‘Bourbon’, and we have featured what goes into the even-smaller Antweight class (one pound or less) in the past.