Four jumper wires with white heatshrink on them, labelled VCC, SCL, SDA and GND

The Connector Zoo: I2C Ecosystems

I2C is a wonderful interface. With four wires and only two GPIOs, you can connect a whole lot of sensors and devices – in parallel, at that! You will see I2C used basically everywhere, in every phone, laptop, desktop, and any device with more than a few ICs inside of it – and most microcontrollers have I2C support baked into their hardware. As a result, there’s a myriad of interesting and useful devices you can use I2C with. Occasionally, maker-facing companies create plug-and-play interfaces for the I2C device breakouts they produce, with standardized pinouts and connectors.

Following a standard pinout is way better than inventing your own, and your experience with inconsistent pin header pinouts on generic I2C modules from China will surely reflect that. Wouldn’t it be wonderful if you could just plug a single I2C-carrying connector into an MPU9050, MLX90614 or HMC5883L breakout you bought for a few dollars, as opposed to the usual hurdle of looking at the module’s silkscreen, soldering pin headers onto it and carefully arranging female headers onto the correct pins?

As with any standard, when it comes to I2C-on-a-connector conventions, you would correctly guess that there’s more than one, and they all have their pros and cons. There aren’t quite fifteen, but there’s definitely six-and-a-half! They’re mostly inter-compatible, and making use of them means that you can access some pretty powerful peripherals easily. Let’s start with the two ecosystems that only have minor differences, and that you’ll encounter the most! Continue reading “The Connector Zoo: I2C Ecosystems” →

Linux Fu: The Infinite Serial Port

Ok, the title is a bit misleading. Like most things in life, it really isn’t infinite. But I’m going to show you how you can use a very interesting Linux feature to turn one serial port from a microcontroller into a bunch of virtual ports. In theory, you could create over 200 ports, but the reality is you will probably want to stick with fewer.

The feature in question is what’s known as pseudoterminal or sometimes a pty or pts. These special files were made to feed data to programs that expect to accept data from a terminal. The files provide two faces. To the client, it looks like any other terminal device. To the creator, though, it is just another file. What you write to that file goes to the fake terminal and you can read anything that is sent from the program connected to the terminal. You use these all the time, probably, without realizing it since running a shell under X Windows, for example, doesn’t attach to a real terminal, after all.

You could, of course, do the same trick with a composite USB device, assuming you have one. Also assuming you can find a working driver and get it working. However, many microcontrollers have a serial port — even one with a USB converter built-in — but fewer have full-blown USB hardware. Even the ones that do are often at odds with strange drivers on the PC side. Serial ports work and work well even on the simplest microcontrollers.

The Plan

The plan is simple enough. A Linux program listens to a real serial port and watches for special character sequences in the data stream. Those sequences will allow you to switch data so that the data stream will go to a particular terminal. Data coming back from the terminals will go to the real serial port after sending a sequence that identifies its source.

Continue reading “Linux Fu: The Infinite Serial Port” →

Ask Hackaday: Repair Café Or Not?

A huge part of the work our community does, aside from making things and doing a lot of talking about the things we’d like to make, involves repair. We have the skills to fix our own stuff when it breaks, we can fix broken stuff that other people throw out when it breaks, and we can fix broken stuff belonging to other people. As our consumer society has evolved around products designed to frustrate repairs and facilitate instead the sale of new replacements for broken items this is an essential skill to keep alive; both to escape having to incessantly replace our possessions at the whim of corporate overlords, and to fight the never-ending tide of waste.

Repair Cafés: A Good Thing

A German repair cafe
A German repair café. , Redaktion NdW, CC BY 2.0

So we repair things that are broken, for example on my bench in front of me is a formerly-broken camera I’ve given a new life, on the wall in one of my hackerspaces is a large screen TV saved from a dumpster where it lay with a broken PSU, and in another hackerspace a capsule coffee machine serves drinks through a plastic manifold held together with cable ties.

We do it for ourselves, we do it within our communities, and increasingly, we do it for the wider community at large. The Repair Café movement is one of local groups who host sessions at which they repair broken items brought in by members of the public, for free. Their work encompasses almost anything you’d find in a home, from textiles and furniture to electronics, and they are an extremely good cause that should be encouraged at all costs.

For all my admiration for the Repair Café movement though, I have chosen not to involve myself in my local one. Not because they aren’t a fine bunch of people or because they don’t do an exceptionally good job, but for a different reason. And it symbolically comes back to an afternoon over thirty years ago, when sitting in a university lab in Hull, I was taught how to wire a British mains plug. Continue reading “Ask Hackaday: Repair Café Or Not?” →

Big Chemistry: Synthetic Oil

For as long as I’ve been driving, I’ve been changing oil. Longer than that, actually — before I even got my license, I did a lot of the maintenance and repair work on the family car. It seemed natural to do it back then, and it continues today, despite the fact that it would probably be cheaper overall to farm the job out. I keep doing it mainly because I like keeping in touch with what’s going on with my cars.

Oil changes require supplies, but the last few times I made the trip to BigBoxMart I came back empty-handed. I don’t know whether it’s one of the seemingly endless supply chain problems or something else, but the aisle that usually has an abundance of oil was severely understocked. And what was there was mostly synthetic oil, which I’ve never tried before.

I’ve resisted the move to synthetic motor oil because it just seemed like a gimmick to relieve me of more of my hard-earned money than necessary. But now that it seems like I might have little choice but to use synthetic oil, I thought I’d do what normally do: look into the details of synthetic oils, and share what I’ve found with all of you.

Continue reading “Big Chemistry: Synthetic Oil” →

Vintage Computer Festival East Raises The Bar Again

When I arrived at the InfoAge Science and History Museum for this year’s Vintage Computer Festival East, I fully expected it to be a reduced event compared to last year. After all, how could it not? Due to the schedule getting shifted around by COVID, show runner Jeffrey Brace and his team had just six months to put together an event that usually gets planned over the course of an entire year. With such a truncated preparation time, they more than deserved a little slack.

But as anyone who attended VCF East 2022 can attest, they didn’t need it. Not only did the event meet the high expectations set by last year’s Festival, it managed to exceed them. There were more workshops, more talks, more vendors, more consignment rooms, more live streams, more…well, everything. This year’s program even got a splash of glossy color compared to the grayscale handout attendees received in October. It was, by any metric you care to use, better than ever.

It does however leave me in somewhat on an unenviable position. As we’ve learned during the pandemic, a virtual representation of an event as extensive as VCF can give you a taste of what’s offered, but all the nuance is lost. Looking at pictures of somebody’s passion project can’t compare to actually meeting the person and seeing that glint of pride in their eye as they walk you through all the details.

So bear that in mind through this rundown of some of the projects that caught my eye. This isn’t  a “best of” list, and the Festival is certainly not a competition. But each attendee will invariably come away with their own handful of favorite memories, so I’ll document mine here. If you’d like to make your own memories, I’d strongly suggest making the trek out to the Jersey Shore come April 2023 for the next Vintage Computer Festival East.

Continue reading “Vintage Computer Festival East Raises The Bar Again” →

Hackaday Links Column Banner

Hackaday Links: May 1, 2022

We start this week with news from Mars, because, let’s face it, the news from this planet isn’t all that much fun lately. But a couple of milestones were reached on the Red Planet, the first being the arrival of Perseverance at the ancient river delta it was sent there to explore. The rover certainly took the scenic route to get there, having covered 10.6 km over the last 424 sols to move to a position only about 3.5 km straight-line distance from where it landed. Granted, a lot of that extra driving was in support of the unexpectedly successful Ingenuity demonstration, plus taking time for a lot of pit stops along the way at interesting features. But the rover is now in place to examine sedimentary rocks most likely to harbor the fossil remains of ancient aquatic life — as opposed to the mainly igneous rocks it has studied along the crater floor so far. We’re looking forward to seeing what happens.

Continue reading “Hackaday Links: May 1, 2022” →

New Tech And The Old Ways

This week on Hackaday, we featured a project that tickled my nostalgia bone, and proved that there are cool opportunities when bringing new tech to old problems. Let me explain.

[Muth] shared a project with us that combines old-school analog photography printing with modern LCD screens. The basic idea is to use a 4K monochrome screen in place of a negative, making a contact print by placing the screen directly on top of photographic paper and exposing it under a uniform light source. Just like the old ways, but with an LCD instead of film.

LCD exposure animationBut what’s the main difference between a screen and film? You can change the image on the LCD at will, of course. So when [Muth] was calibrating out exposures, it dawned on him that he could create a dynamic, animated version of his image and progressively expose different portions of the paper, extending the available dynamic range and providing him the ability to control the slightest nuances of the resulting image contrast.

As an old photo geek, this is the sort of trick that we would pull off manually in the darkroom all the time. “Dodging” would lighten up a section of the image by covering up the projected light with your hand or a special tool for a part of the exposure time. With [Muth]’s procedure, he can dodge the image programmatically on the per-pixel level. We would have killed for this ability back in the day.

The larger story here is that by trying something out of the box, applying a new tool to an old procedure, [Muth] stumbled on new capabilities. As hackers, we’re playing around with the newest tech we can get our hands on all the time. When you are, it might be that you also stumble on new possibilities simply afforded by new tech. Keep your eyes open!