Displaying Bitmaps on the Apple II

The Apple II was the popular darling that truly kicked off the ascention of the company that would later bring you darlings such as the iMac, iPod, and iPhone. The brainchild of the legendary Steve Wozniak, it was a low-cost home computer that made use of some interesting compromises to create video output with the bare minimum components. This can make it difficult if you want to output full-bitmap graphics on the Apple II – but it is certainly possible.

[cybernesto] set about completing this task, and released VBMP on GitHub. Programmed in assembly, it builds upon the work of democoder Arnaud Cocquière to display bitmap images on the vintage 6502-powered machine. Capable of displaying monochrome images in 560 x 192 or sixteen colors in 140 x 192, it loads slowly but does get the job done.

We’ve seen similar development underway elsewhere, too – on this vintage satellite tracker project. [Keplermatic] reports that their code runs at a similar speed to the VBMP loader, despite doing several things differently. It’s also available over at GitHub, for your reading pleasure.

If you’re looking to achieve something similar with your vintage hardware, it’s worth a look. Having the source available makes integrating it into further projects a snap. Learning to program these older machines can be challenging, but that’s half the fun – and when you build something awesome, be sure to drop it on the tips line.

Acrylic Stencils Help with Component Placement for SMD Assembly

Surface mount is where the action is in the world of DIY PCBs, and deservedly so. SMDs are so much smaller than through-hole components, and fewer holes to drill make surface-mount PCBs easier to manufacture. Reflow soldering is even a snap now thanks to DIY ovens and solder stencils you can get when you order your boards.

So what’s the point of adding another stencil to the surface-mount process? These component placement stencils are [James Bowman]’s solution for speeding up assembly of boards in production runs too small to justify a pick and place robot. [James] finds that placing small components like discrete resistors and caps easy, but struggles with the placement of the larger components, like QFN packaged microcontrollers. Getting such packages lined up exactly is hard when the leads are underneath, and he found repositioning led to smeared solder paste. His acrylic stencils, which are laser-cut from SVGs derived directly from the Eagle files with a script he provides, sandwich the prepped board and let him just drop the big packages into their holes. The acrylic pops off after placement, leaving the components stuck to the solder paste and ready for their trip to the Easy Bake.

[James] claims it really speeds up hand placement in his biggish runs, and it’s a whole lot cheaper than a dedicated robot. But as slick as we think this idea is, a DIY pick and place is still really sweet.

Tables are Turned as Robots Assemble IKEA Furniture

Hackaday pages are rife with examples of robots being built with furniture parts. In this example, the tables are turned and robots are the masters of IKEA pieces. We are not silly enough to assume that these robots unfolded the instructions, looked at one another, scratched their CPUs, and began assembling. Of course, the procedure was preordained by the programmers, but the way they mate the pegs into the ends of the cross-members is a very human thing to do. It reminds us of finding a phone charging socket in the dark. This kind of behavior is due to force feedback which tell the robots when a piece is properly seated which means that they can use vision to fit the components together without sub-millimeter precision.

All the hardware used to make the IKEA assembler is publicly available, and while it may be out of the typical hacker price range, this is a sign of the times as robots become part of the household. Currently, the household robots are washing machines, smart speakers, and 3D printers. Ten years ago those weren’t Internet connected machines so it should be no surprise if robotic arms join the club of household robots soon. Your next robotics project could be the tipping point that brings a new class of robots to the home.

Back to our usual hijinks, here is a robot arm from IKEA parts and a projector built into a similar lamp. or a 3D printer enclosed in an IKEA cabinet for a classy home robot.

Continue reading “Tables are Turned as Robots Assemble IKEA Furniture”

3D Printed Tool Tips to Straighten DIP Chips and Unstraighten Resistors

Watching someone assemble a kit is a great way to see some tools you may have not encountered before and maybe learn some new tricks. During [Marco Reps’] recent build of a GPS synchronized Nixie clock kit we spied a couple of handy tools that you can 3D print for your own bench.

Fresh from the factory Dual Inline Package (DIP) chips come with their legs splayed every so slightly apart — enough to not fit into the carefully designed footprints on a circuit board. You may be used to imprecisely bending them by hand on the surface of the bench. [Marco] is more refined and shows off a neat little spring loaded tool that just takes a couple of squeezes to neatly bend both sides of the DIP, leaving every leg the perfect angle. Shown here is a 3D printed version called the IC Pin Straightener that you can throw together with springs and common fasteners.

Another tool which caught our eye is the one he uses for bending the metal film resistor leads: the “Biegelehre” or lead bending tool. You can see that [Marco’s] tool has an angled trench to account for different resistor body widths, with stepped edges for standard PCB footprint spacing. We bet you frequently use the same resistor bodies so 3D printing is made easier by using a single tool for each width. If you really must copy what [Marco] is using, we did find this other model that more closely resembles his.

As for new tricks, there are a lot of small details worth appreciating in the kit assembly. [Marco] cleans up the boards using snips to cut away the support material and runs them over sandpaper on a flat surface. Not all Nixie tubes are perfectly uniform so there’s some manual adjustment there. And in general his soldering practices are among the best we’ve seen. As usual, there’s plenty of [Marco’s] unique brand of humor to enjoy along the way.

We have a warm spot in our heart for simple tools you can whip up on the ‘ole 3D printer. Check out the PCB vise, a set of ball and socket helping hands, and a collection of toolbag essentials.

Continue reading “3D Printed Tool Tips to Straighten DIP Chips and Unstraighten Resistors”

Simple Mechanism Gives Support for SMT Assembly

With the fine work needed for surface-mount technology, most of the job entails overcoming the limits of the human body. Eyes more than a couple of decades old need help to see what’s going on, and fingers that are fine for manipulating relatively large objects need mechanical assistance to grasp tiny SMT components. But where it can really fall apart is when you get the shakes, those involuntary tiny muscle movements that we rarely notice in the real world, but wreak havoc as we try to place components on a PCB.

To fight the shakes, you can do one of two things: remove the human, or improve the human. Unable to justify a pick and place robot for the former, [Tom] opted to build a quick hand support for surface-mount work, and the results are impressive considering it’s built entirely of scrap. It’s just a three-piece arm with standard butt hinges for joints; mounted so the hinge pins are perpendicular to the work surface and fitted with a horizontal hand rest, it constrains movement to a plane above the PCB. A hole in the hand rest for a small vacuum tip allows [Tom] to pick up a part and place it on the board — he reports that the tackiness of the solder paste is enough to remove the SMD from the tip. The video below shows it in action with decent results, but we wonder if an acrylic hand rest might provide better visibility.

Not ready for your own pick and place? That’s understandable; not every shop needs that scale of production. But we think this is a great idea for making SMT approachable to a wider audience.

Continue reading “Simple Mechanism Gives Support for SMT Assembly”

Racing The Beam On An ATtiny

For the last thirty or so years, the demoscene community has been stretching what is possible on computer systems with carefully crafted assembly and weird graphical tricks. What’s more impressive is hand-crafted assembly code pushing the boundaries of what is possible using a microcontroller. Especially small microcontrollers. In what is probably the most impressive demo we’ve seen use this particular chip, [AtomicZombie] is bouncing boing balls on an ATtiny85. It’s an impressive bit of assembly work, and the video is some of the most impressive stuff we’ve ever seen on a microcontroller this small.

First, the hardware. This is just about the simplest circuit you can build with an ATtiny85. There’s an ISP header, a VGA port with a few resistors, a 1/8″ audio jack driven by a transistor, and most importantly, a 40MHz crystal. Yes, this ATtiny is running far faster than the official spec allows, but it works.

The firmware for this build is entirely assembly, but surprisingly not that much assembly. It’s even less if you exclude the hundred or so lines of definitions for the Boing balls.

The resulting code spits out VGA at 204×240 resolution and sixty frames per second. These are eight color sprites, with Alpha, and there’s four-channel sound. This is, as far as we’re aware, the limit of what an ATtiny can do, and an excellent example of what you can do if you buckle down and write some really tight assembly.

Continue reading “Racing The Beam On An ATtiny”

Much Assembly Required: Game Your Way to Assembly Guru Status

It can be hard these days to find an excuse to create something for learning purposes. Want a microcontroller board? Why make one when you can buy an Arduino or a Blue Pill for nearly nothing? Want to control a 3D printer? Why write the code when you can just download something that works well like Marlin or Repetier? If you want to learn assembly language, then, it can be hard to figure out something you want to do that isn’t so silly that it demotivates you. If that sounds like you, then you should check out Much Assembly Required.

This is a multi-player game that runs in your Web browser. But before you click close, consider this: the game has you control an autonomous robot using an x86-like assembly language. Your robots have to find resources and build structures so it is sort of a mash up of Minecraft and one of the many modern Hammurabi-inspired games like Civilization.

The robots have a variety of peripherals including: drills, lasers, LiDar, legs, a hologram projector, solar-charged batteries, clocks, and more mundane things such as clocks, floppy drives, and a random number generator. The virtual world simulates day and night, so plan your power management accordingly.

You might wonder if you should even bother learning assembly. While it is true it isn’t as necessary as it once was,  understanding what the computer is doing in a very basic way can help form your thinking in surprising ways. There are also those times when you need to optimize something in assembly and that’s the difference between working and not working.

If you want to do something more practical, we’ve looked at options before. Of course, you can always slip your C compiler some assembly, too.