Old CRT computer enthusiast [x86VileR] recently tracked down an IBM 5153 monitor for which he had been searching several years. Unfortunately shipping a heavy glass CRT isn’t easy. In fact, it took [VileR] three tries to get a functioning monitor delivered intact and working. The first one seemed reasonably protected in its packaging, but arrived so banged up that the CRT had become dislodged inside the monitor and the neck broke off! The second attempt was packaged even better, and he was sure it would arrive problem-free. Alas, it too arrived all banged up and broken.
This one clearly had superior packaging, so I find it difficult to account for this truly stupendous level of damage. The most promising theory is that several people jumped on it simultaneously, just before the delivery truck ran it over. As my friend put it, it would’ve arrived in better shape if he had just smashed it himself before boxing it up.
Double-boxing appears to be the answer, although it might result in a box too large to ship depending on your courier’s rules. Short of building custom wooden crates, do you have any packing tips for shipping heavy and fragile items? Thanks to [J.R. Dahlman] for sending us the tip.
I’ve been playing with a few MicroPython projects recently on several different embedded platforms, including a couple of ESP32 WiFi modules. There are various ways to program these modules:
Use a serial terminal and ampy (maintained by [devxpy] since being dropped by Adafruit in 2018).
If you use Pycom boards or WiFy firmware, there are the pymakr plugins for Atom and Visual Studio.
If you prefer the command-line like me, there is rshell by one of the top MicroPython contributors [Dave Hylands].
For over a year, I have been quite happy with rshell until I started working on these wireless nodes. Being lazy, I want to tinker with my ESP32 modules from the sofa, not drag my laptop into the kitchen or balcony to plug up a USB cable. Can’t I work with them wirelessly?
Well, you can use WebREPL. While its functional, it just didn’t strike my fancy for some reason. [Elliot] mentioned in a recent podcast that he’s using telnet to access his wireless nodes, but he’s using esp-link on an ESP8266, which means throwing another chip into the mix.
The Thonny IDE
I had all but given up when by chance I saw this video on the Dronebot Workshop channel about running MicroPython on the new Raspberry Pi Pico boards. Bill was using Thonny, a Python IDE that is popular in the education community. Thonny was introduced in 2015 by Aivar Annamaa of the University of Tartu in Estonia. Thonny was designed to address common issues observed during six years of teaching Python programming classes to beginners. If you read about the project and its development, you’ll see that he’s put a lot of effort into making Thonny, and it shows.
Leaning about Thonny got me curious, and after a little digging I discovered that it has WebREPL support for MicroPython right out-of-the-box. Although this is a new feature and classified as experimental, I found it reasonably stable to use and more than adequate for home lab use. Continue reading “Wireless MicroPython Programming With Thonny”→
OpenSCAD is a fantastic free tool for 3D modeling, but it’s far less intuitive to use for non-programmers than mouse-driven programs such as Tinkercad. Powerful as it may be, the learning curve is pretty steep. OpenSCAD’s own clickable cheat sheet and manual comes in handy all the time, but those are really more of a reference than anything else. Never fear, because [Jochen Kerdels] had quite the productive lockdown and wrote a free comprehensive guide to mastering OpenSCAD.
[Jochen]’s book opens with a nice introduction to OpenSCAD and it’s user environment and quickly moves into 10 useful projects of increasing complexity that start with simple stuff like wall anchors and shelf brackets and ends with recursive trees.
There are plenty of printing tips along the way to help realize these projects with minimum frustration, and the book wraps up by covering extra functions not expressly used in the projects.
Of course, you could always support [Jochen]’s Herculean effort by buying the print edition and forcing yourself to type everything in instead of copy/pasting, or give it to someone to introduce them to all the program has to offer.
We speak from experience when we say that making pinball targets is harder than you might think. The surface area of the part of the ball that touches is oh-so-small, and you really need to have gravity on your side for best results. Luckily, [TechnoChic] did the work for us and came up with these three versatile sensor designs that would be good for any game, not just pinball. They all use fresh, pristine cardboard from the Bezos Barn and a conductive fabric tape made by Brown Dog Gadgets that they call maker tape.
With the possible exception of not being solderable (can you solder it? ours hasn’t showed up yet), maker tape is seemingly superior to copper tape because it is designed to be conductive in the Z-direction, and if you’ve ever laid out a copper tape circuit, you know that tape overlaps are pretty much par for the course.
First on the list is the track switch, which we think is pretty much necessary. After all, what fun is a pinball machine without at least one pair of rails to ride? Might as well score some points at the same time. This one looks to be the trickiest since the rails have to be consistently spaced, otherwise the ball will fall. The drawbridge target uses a cardboard hinge and the weight of the ball to force two pieces of tape together to complete the circuit.
The flappy hole target is probably our favorite because it’s the most adaptable. You could use it for all kinds of things, like getting the ball to a basement level of a pinball game, or if you want to be evil, set it up in the drain area and deduct points every time you lose the ball, or just use it to trigger the next ball to drop. This one would also be really good for something like Skee-Ball and would really keep the BoM cost down compared to say, IR break-beam targets or coin slot switches.
You can check out these sensors in a brief demo after the break, and then see how [TechnoChic] put these ideas to use in this winter-themed pinball machine we showed you a few weeks ago.
It’s 2021. Everyone and their mother is filming themselves doing stuff, and a lot of it is super cool content. But since most of us have to also work the video capture devices ourselves, it can be difficult to make compelling footage with a single, stationary overhead view, especially when there are a lot of steps involved. A slider rig is a good start, but the ability to move the camera in three dimensions programmatically is really where it’s at.
[KronBjorn]’s excellent automated overhead camera assistant runs on an Arduino Mega and is operated by typing commands in the serial monitor. It can pan ±20° from straight down and moves in three axes on NEMA-17 stepper motors. It moves really smoothly, which you can see in the videos after the break. The plastic-minimal design is interesting and reminds us a bit of an ophthalmoscopephoropter — that’s that main rig at the eye doctor. There’s only one thing that would make this better, and that’s a dedicated macro pad.
If you want to build your own, you’re in luck — there’s quite a lot of detail to this project, including a complete BOM, all the STLs, code, and even assembly videos of the 3D-printed parts and the electronics. Slide past the break to check out a couple of brief demo videos.
If you want a simple and easy introduction to stepper motors, check out the [IMSAI Guy]’s short video where he designs a very basic stepper motor controller and packs in a lot of quick lessons along the way. (Embedded below.)
He first goes over the fundamentals of a stepper motor in a practical, hands-on approach, and also shows us how to ring out the connections if the pinout is unknown. Next he demonstrates stepping the motor manually and then makes a simple FET driver circuit. Just when you’re expecting a small microcontroller to appear, the [IMSAI Guy] instead digs deep into his junk box and explains how to drive the motor with a 22V10 GAL (an electrically erasable PAL) and a 555 timer module. Based on a clearly-explained logic table for driving the coils, a sneaky way to introduce Karnaugh maps, he proceeds to write the output equations in WinCUPL.
WinCUPL is the modern version of CUPL (Compiler for Universal Programmable Logic) originally written by a company called Assisted Technology, now owned by Altium. CUPL and peers like PALASM from Monolithic Memories, Inc. (MMI) and ABEL from Data I/O Corporation were basic Hardware Description Languages specifically designed for PALs, GALs, and CPLDs. PALs were small arrays of logic gates with fusible interconnections, and your design is “burned” into the fuses much like a (EE)PROM. When designing with PALs, you could clearly visualize the connections in your mind, something that has since been remedied by the advent of modern FPGAs.
Alas, he cuts out the part where the source code is compiled and the 22V10 is programmed, and jumps directly into testing the circuit on a breadboard. Spoiler alert — it does work. Zooming in close and squinting, the nifty 555 timer breadboard module that he points out is called a TP353, which you can find from your favorite online supplier.
Twitch Plays Pokemon burst onto the then nascent livestreaming scene back in 2014, letting Twitch viewers take command of a Game Boy emulator running Pokemon Red via simple chat commands. Since then, the same concept has been applied to everything under the sun. Other video games, installing Linux, and even trading on the New York Stock Exchange have all been gameified through Twitch chat.
You, thirsty reader, are wondering how you can get a slice of this delicious action. Fear not, for with a bit of ramshackle code, you can let Twitch chat take over pretty much anything in, on, or around your computer.
It’s Just IRC
The great thing about Twitch chat is that it runs on vanilla IRC (Internet Relay Chat). The protocol has been around forever, and libraries exist to make interfacing easy. Just like the original streamer behind Twitch Plays Pokemon, we’re going to use Python because it’s great for fun little experiments like these. With that said, any language will do fine — just apply the same techniques in the relevant syntax.
SimpleTwitchCommander, as I’ve named it on Github, assumes some familiarity with basic Python programming. The code will allow you to take commands from chat in two ways. Commands from chat can be tabulated, and only the one with the most votes executed, or every single command can be acted on directly. Actually getting this code to control your robot, video game, or pet viper is up to you. What we’re doing here is interfacing with Twitch chat and pulling out commands so you can make it do whatever you like. With that said, for this example, we’ve set up the code to parse commands for a simple wheeled robot. Let’s dive in.