One of the things that makers sometimes skip over is the design of the project that they’re creating. Some of us don’t do any design at all, we just pants it. The design part of making something can take quite a while – there is sketching to do, as well as 3d-modelling and PCB creation. [Sam March] wanted to try and create something interesting where he did the design in a single day. The result is, or will be, a 3D printed, electronic, Settlers of Catan game board.
Preferring to spend hours typing code instead of graphically pushing traces around in a PCB layout tool, [James Bowman] over at ExCamera Labs has developed CuFlow, a method for routing PCBs in Python. Whether or not you’re on-board with the concept, you have to admit the results look pretty good.
Key to this project is a concept [James] calls rivers — the Dazzler board shown above contains only eight of them. Connections get to their destination by taking one or more of these rivers which can be split, joined, and merged along the way as needed in a very Pythonic manner. River navigation is performed using Turtle graphics-like commands such as
left(90) and the appropriately named
shimmy(d)that aligns two displaced rivers. He also makes extensive use of pin / gate swapping to make the routing smoother, and there’s a nifty
shuffler feature which arbitrarily reorders signals in a crossbar manner. Routing to complex packages, like the BGA shown, is made easier by embedding signal
escapes for each part’s library definition.
We completely agree with [James]’s frustration with so many schematics these days being nothing more than a visual net lists, not representing the logical flow and function of the design at all. However, CuFlow further obfuscates the interconnections by burying them deep inside the wire connection details. Perhaps, if CuFlow were melded with something like the SKiDL Python schematic description language, the concept would gain more traction?
That said, we like the concept and routing methodologies he has implemented in CuFlow. Check it out yourself by visiting the GitHub repository, where he writes in more detail about his motivation and various techniques. You may remember [James] two of his embedded systems development tools that we covered back in 2018 — the SPI Driver and the I2C driver.
Some time ago, [Bolle] got the idea to redraw the Macintosh SE/30 schematics in Eagle. Progress was initially slow, but over the past month (and with some prodding and assistance from fellow forum frequenter [GeekDot]), he’s taken things a step further by creating a fully functional replacement Macintosh SE/30 logic board PCB.
By using the available schematics, the project didn’t even require much reverse engineering. Though he plans for more modernization in later iterations, this design is largely faithful to the original components and layout, ensuring that it is at least basically functional. He did update the real time clock battery to a CR2032 and, as a benefit of redrawing all the traces, he was able to use a 4-layer PCB in place of the costly 6-layer from Apple’s design.
The board came back from fabrication looking beautiful in blue; and, once he had it soldered up and plugged in, the old Mac booted on the very first try! A copy-paste mistake with the SCSI footprints led to some jumper wire bodging in order to get the hard drive working, but that problem has already been fixed in the next revision. And, otherwise, he’s seen no differences from the original after a few hours of runtime.
Recreating old Macintosh logic boards almost seems like its own hobby these days. With the design and fabrication capabilities now accessible to hobbyists, even projects that were once considered professional work are in reach. If you’re interested in making your own PCB designs, there are many resources available to help you get started. Alternatively, we have seen other ways to modernize your classic Macs.
[Thanks to techknight for the tip!]
Internet-connected sex toys are a great way to surprise your partner from work (even the home office) or for spicing up long-distance relationships. For some extra excitement, they also add that thrill of potentially having all your very sensitive private data exposed to the public — but hey, it’s not our place to kink-shame. However, their vulnerability issues are indeed common enough to make them regular guests in security conferences, so what better way to fight fire with fire than simply inviting the whole of Twitter in on your ride? Well, [Space Buck] built just the right device for that: the Double-Oh Battery, an open source LiPo-cell-powered ESP32 board in AA battery form factor as drop-in replacement to control a device’s supply voltage via WiFi.
In their simplest and cheapest form, vibrating toys are nothing more than a battery-powered motor with an on-off switch, and even the more sophisticated ones with different intensity levels and patterns are usually limited to the same ten or so varieties that may eventually leave something to be desired. To improve on that without actually taking the devices apart, [Space Buck] initially built the Slot-in Manipulator of Output Levels, a tiny board that squeezed directly onto the battery to have a pre-programmed pattern enabling and disabling the supply voltage — or have it turned into an alarm clock. But understandably, re-programming patterns can get annoying in the long run, so adding WiFi and a web server seemed the logical next step. Of course, more functionality requires more space, so to keep the AA battery form factor, the Double-Oh Battery’s PCB piggybacks now on a smaller 10440 LiPo cell.
But then, where’s the point of having a WiFi-enabled vibrator with a web server — that also happens to serve a guestbook — if you don’t open it up to the internet? So in some daring experiments, [Space Buck] showcased the project’s potential by hooking it up to his Twitter account and have the announcement tweet’s likes and retweets take over the control, adding a welcoming element of surprise, no doubt. Taking this further towards Instagram for example might be a nice vanity reward-system improvement as well, or otherwise make a great gift to send a message to all those attention-seeking people in your circle.
All fun aside, it’s an interesting project to remote control a device’s power supply, even though its application area might be rather limited due to the whole battery nature, but the usual Sonoff switches may seem a bit unfitting here. If this sparked your interest in lithium-based batteries, check out [Lewin Day]’s beginner guide and [Bob Baddeley]’s deeper dive into their chemistry.
If you’ve used KiCad before, you’re certainly familiar with the handy 3D view that shows you a rendered view of what your assembled board would look like. But as [Vadim Panov] explains, you can take this capability a step further. With a few extra tools and a little bit of know-how, you can leverage KiCad’s PCB renderings to make custom 3D printable enclosures.
The first step is to design the PCB as you normally would in KiCad. This could be an original PCB of your own invention, or a digital representation of an off-the-shelf model you want to build an enclosure for. If the latter, then the PCB doesn’t need to be 100% accurate; the goal is really just to get the big components into roughly the right areas so you can get the clearances right. Though obviously you’ll want to make sure the board’s outer dimensions and mounting hole locations are recreated as accurately as possible.
From there, [Vadim] recommends a tool called StepUp. This will take your PCB KiCad PCB files and create either a STEP or STL file of the assembled board which can be imported into your CAD package of choice. For the purposes of this demonstration he’s sticking with FreeCAD, as he likes the idea of it being a completely FOSS toolchain from start to finish.
Now that you have a model of the PCB in your CAD software, the rest is up to you. Naturally, there are existing enclosure models you can use such as the ones produced by the “Ultimate Box Maker” that we covered previously, but you could just as easily start building a new enclosure around the digital PCB.
Looking for a bit more guidance? As it so happens, our very own [Anool Mahidharia] will be presenting a class on how you can develop a KiCad + FreeCAD workflow as part of our recently launched HackadayU initiative.
Most modern equipment is connected over USB, and generally speaking we’re all the better for it. But that’s not to say there aren’t some advantages to using serial and parallel ports. For example, the slower and less complex protocols can be a bit easier to debug when devices aren’t communicating, which [Jeremy Cook] demonstrates in his latest project.
Looking to troubleshoot some communications problems he was having between his computer and CNC router, [Jeremy] came up with a handy little gadget that will allow him to visualize data passing through each pin of the parallel port in real-time. Even from across the room he can tell at a glance if communication is active, and with a keen eye, determine if he’s getting bi-directional traffic or not.
From a technical standpoint, this is a pretty simple project. The custom PCB is essentially just a pass-through, with an array of 3 mm LEDs and matching 10K resistors hanging off the data lines. But [Jeremy] found it to be an excellent excuse to brush up his KiCad skills. As he explains in the video after the break, this project certainly won’t impress the folks that do PCB design on a daily basis; but if you’re still learning the ropes, these are precisely the kind of projects you should be looking for.
Before any of you say it in the comments, we already know devices like this are available commercially for a few bucks. But that’s hardly the point. Things would be awfully slow around these parts if we disregarded any project that had a commercial alternative.
Whenever a project calls for displaying numbers, a 7-segment display is the classic and straightforward choice. However, if you’re more into a rustic, retro, almost mystical, and steampunky look and feel, it’s hard to beat the warm, orange glow of a Nixie tube. Once doomed as obsolete technology of yesteryear, they have since reclaimed their significance in the hobbyist space, and have become such a frequent and deliberate design choice, that it’s easy to forget that older devices actually used them out of necessity for lack of alternatives. Exhibit A: the impulse counter [soldeerridder] found in the attic that he turned into a general-purpose, I2C controlled display.
Instead of just salvaging the Nixie tubes, [soldeerridder] kept and re-used the original device, with the goal to embed an Intel Edison module and connect it via I2C. Naturally, as the counter is a standalone device containing mainly just a handful of SN74141 drivers and SN7490 BCD counters, there was no I2C connectivity available out of the box. At the same time, the Edison would anyway replace the 7490s functionality, so the solution is simple yet genius: remove the BCD counter ICs and design a custom PCB containing a PCF8574 GPIO expander as drop-in replacement for them, hence allowing to send arbitrary values to the driver ICs via I2C, while keeping everything else in its original shape.
Containing six Nixie tubes, the obvious choice is of course to use it as a clock, but [soldeerridder] wanted more than that. Okay, it does display the time, along with the date, but also some sensor values and even the likes on his project blog. If you want to experiment with Nixie tubes yourself, but lack a matching device, Arduino has you obviously covered. Although, you might as well go the other direction then.