Grep By Example is also available as a PDF Minibook, and a Grep playground helps you learn quickly.

Galvanize Your Grip On Grep With This Great Grep Guide

These days, you can’t throw a USB stick without hitting something that’s running Linux. It might be a phone, an embedded device, or your TV. Either way, it’s running Linux, and somewhere along the line of the development of whatever your USB stick smacked into, somebody used the Global Regular Expression Print utility- better known as Grep. But what is Grep, and why do you need it? [Anton Zhiyanov] not only answers those questions but provides Grep by example: Interactive Guide to help you along.

Grep By Example is also available as a PDF Minibook, and a Grep playground helps you learn quickly.
Grep By Example is also available as a PDF Minibook, and a Grep playground helps you learn quickly.

To understand Linux, one must understand its commercial predecessor, Unix. One of the things that made Unix (and then Linux) unique was its philosophy: Write programs that work together, do one thing well, and handle text streams.¬† This philosophy describes a huge number of programs, and one of these programs is Grep. It’s installed everywhere there’s a *nix installed, and once one becomes familiar with it, their command-line-fu reaches an all new level.

At its core, Grep is simply a bloodhound. It’s scent? A magical incantation called Regular Expressions. Regular Expressions (aka Regex) are simply a way of describing what a stream of text should look like. So when you feed Grep a bit of Regular Expression, it Prints¬†only the text that matches that expression. Neat, right?

The trouble is that Regex can be kind of hard, and Grep has various versions and capabilities that need to be learned. And this is where the article shines- it covers both in an excellent interactive tutorial that’ll help you become a Grep Guru in no time. And if you want to do a deeper dive, check out what it takes to make your own Regex Engine from scratch!

Back To Basics With A 555 Deep Dive

Many of us could sit down at the bench and whip up a 555 circuit from memory. It’s really not that hard, which is a bit strange considering how flexible the ubiquitous chip is, and how many ways it can be wired up. But when was the last time you sat down and really thought about what goes on inside that little fleck of silicon?

If it’s been a while, then [DiodeGoneWild]’s back-to-basics exploration of the 555 is worth a look. At first glance, this is just a quick blinkenlights build, which is completely the point of the exercise. By focusing on the simplest 555 circuits, [Diode] can show just what each pin on the chip does, using an outsized schematic that reflects exactly what’s going on with the breadboarded circuit. Most of the demos use the timer chip in free-running mode, but circuits using bistable and monostable modes sneak in at the end too.

Yes, this is basic stuff, but there’s a lot of value in looking at things like this with a fresh set of eyes. We’re impressed by [DiodeGoneWild]’s presentation; while most 555 tutorials focus on component selection and which pins to connect to what, this one takes the time to tell you why each component makes sense, and how the values affect the final result.

Curious about how the 555 came about? We’ve got the inside scoop on that.

Continue reading “Back To Basics With A 555 Deep Dive”

A wooden box sits on a darker wooden table. The box has a red, glowing number 8 on it.

Ambient Display Tells You If Borealis Is Coming To Town

For those times when you’d rather not get sucked down another internet rabbit hole when you really just wanted the weather, an ambient display can be great. [AlexanderK106] built a simple ambient display to know the probability the Northern Lights would visit his town.

Starting with a NodeMCU featuring the ESP8266, [AlexanderK106] walks us through a beginner-friendly tutorial on how to do everything from configure the Arduino IDE, the basics of using a breadboard. finding a data source and parsing it, and finally sticking everything into an enclosure.

The 7-segment display is taped and set into the back of the 1/4″ pine with enough brightness to shine through the additional layer of veneer on top. The display is set to show one digit and then the next before a three second repeat. A second display would probably make this easier to use day-to-day, but we appreciate him keeping it simple for this tutorial.

Looking for more ambient displays? Checkout the Tempescope or this clock that lets you feel the temperature outside!

A sliced digital file of a marker light enclosure. Background is a white and grey grid and object itself is a series of print path lines in red, orange, and green.

3D Printing Hard-To-Find Vintage Vehicle Parts

When I was growing up, my dad and I restored classic cars. Combing junkyards for the pieces we needed was a mixture of interesting and frustrating since there was always something you couldn’t find no matter how long you looked. [Emily Velasco] was frustrated by the high price of parts even when she was able to find them, so she decided to print them herself. She wrote an excellent tutorial about designing and 3D printing replica parts if you find yourself in a similar situation.

All four marker lights on [Velasco]’s 1982 Toyota pickup were on their way to plastic dust, and a full set would run her $160. Instead of shelling out a ton of cash for some tiny parts, she set out to replicate the marker lamps with her 3D printer. Using a cheap marker lamp replacement for a more popular model of pickup as a template, she was able to replace her marker lamps at a fraction of the cost of the options she found online. Continue reading “3D Printing Hard-To-Find Vintage Vehicle Parts”

A Primer For The Homebrew Game Boy Advance Scene

As video game systems pass into antiquity, some of them turn out to make excellent platforms for homebrew gaming. Not only does modern technology make it easier to interact with systems that are now comparatively underpowered and simpler, but the documentation available for older systems is often readily available as well, giving the community lots of options for exploration and creativity. The Game Boy Advance is becoming a popular platform for these sorts of independent game development, and this video shows exactly how you can get started too.

This tutorial starts with some explanation of how the GBA works. It offered developers several modes for the display, so this is the first choice a programmer must make when designing the game. From there it has a brief explanation of how to compile programs for the GBA and execute them, then it dives into actually writing the games themselves. There are a few examples that [3DSage] demonstrates here including examples for checking the operation of the code and hardware, some simple games, and also a detailed explanation the framebuffers and other hardware and software available when developing games for this console.

While the video is only 10 minutes long, we recommend watching it at three-quarters or half speed. It’s incredibly information-dense and anyone following along will likely need to pause several times. That being said, it’s an excellent primer for developing games for this platform and in general, especially since emulators are readily available so the original hardware isn’t needed. If you’d like to build something from an even more bygone era than the early 2000s, though, take a look at this tutorial for developing games on arcade cabinets.

Continue reading “A Primer For The Homebrew Game Boy Advance Scene”

Edging Ahead When Learning On The Edge

“With the power of edge AI in the palm of your hand, your business will be unstoppable.

That’s what the marketing seems to read like for artificial intelligence companies. Everyone seems to have cloud-scale AI-powered business intelligence analytics at the edge. While sounding impressive, we’re not convinced that marketing mumbo jumbo means anything. But what does AI on edge devices look like these days?

Being on the edge just means that the actual AI evaluation and maybe even fine-tuning runs locally on a user’s device rather than in some cloud environment. This is a double win, both for the business and for the user. Privacy can more easily be preserved as less information is transmitted back to a central location. Additionally, the AI can work in scenarios where a server somewhere might not be accessible or provide a response quickly enough.

Google and Apple have their own AI libraries, ML Kit and Core ML, respectively. There are tools to convert Tensorflow, PyTorch, XGBoost, and LibSVM models into formats that CoreML and ML Kit understand. But other solutions try to provide a platform-agnostic layer for training and evaluation. We’ve also previously covered Tensorflow Lite (TFL), a trimmed-down version of Tensorflow, which has matured considerably since 2017.

For this article, we’ll be looking at PyTorch Live (PTL), a slimmed-down framework for adding PyTorch models to smartphones. Unlike TFL (which can run on RPi and in a browser), PTL is focused entirely on Android and iOS and offers tight integration. It uses a react-native backed environment which means that it is heavily geared towards the node.js world.

Continue reading “Edging Ahead When Learning On The Edge”

Advanced PCB Graphics With KiCAD 6 And Inkscape

There are many, many video tutorials about designing the functional side of PCBs, giving you tips on schematic construction, and layout tips. What is a little harder to find are tutorials on the graphical aspects, covering the process from creating artworks and how you can drive the tools to get them looking good on a PCB, leveraging the silkscreen, solder and copper layers to maximum effect. [Stuart Patterson] presents his guide for Advanced PCB Graphics in KiCAD 6.0 and Inkscape, (Video, embedded below) to help you on your way to that cool looking PCB build.

Silkscreen layers in yellow, solder mask opening in red

The first step is to get your bitmap, whether you create it yourself, or download it, and trace it into a set of vectors using the Inkscape ‘trace bitmap’ tool. If you started with an SVG or similar vector shape, then you can skip that stage.

Next simply create a PCB outline shape by deleting all the details that aren’t part of the outline. A little scaling here and there to get the dimensions correct and you’re done with the first part. [Stuart] has an earlier video showing that process.

The usability improvements in KiCAD 6.0 are many, but one greatly demanded feature is the ability to group objects, just like you do in Inkscape and any other vector graphics tool for that matter. That means you can simply import that SVG outline into the Edge.Cuts PCB layer and all the curves will be nicely tied together. Next you select the details you want for the silkscreen layer, solder mask removal layers and any non-circuit copper. In Inkscape it would be wise to use the layers feature to assign the different material types to a uniquely named layer, so they can be hidden for exporting. This allows you to handle silk, mask and copper PNG exports from a single master file, in addition to any vector details for outline, slots and holes.

Once you have PNG bitmap exports for the silk, mask etc. you need to create a footprint inside a board-specific library, using the KiCAD image converter tool. It was interesting to note that you can export a new image footprint from the tool and paste it straight into the footprint editor, and tweak all the visibility details at the same time. That will save some time and effort for sure. Anyway, we hope this little tutorial from [Stuart] helps, and we will be sure to bring you plenty more in the coming months.

Need some more help with KiCAD? Checkout this tutorial, and if you want a bit more power from the tool, you need some action plugins!

Continue reading “Advanced PCB Graphics With KiCAD 6 And Inkscape”