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.
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.
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.
Learning assembly is very important if you want to get a grasp of how a computer truly works under the hood. VisUAL is a very capable ARM emulator for those interested in learning the ARM assembly.
In addition to supporting a large subset of ARM instructions, the CPU is emulated via a series of elaborate and instructive animations that help visualise the flow of data to/from registers, any changes made to flags, and any branches taken. It also packs very useful animations to help grasp some of the more tricky instruction such as shifts and stack manipulations.
As it is was designed specifically to be used as teaching tool at Imperial College London, the GUI is very friendly, all the syntax errors are highlighted, and an example of the correct syntax is also shown.
You can also do the usual things you would expect from any emulator, such as single step through execution, set breakpoints, and view data in different bases. It even warns you of any possible infinite loops!
That being said, lugging such an extravagant GUI comes at a price; programs that consume a few hundred thousand cycles hog far too much RAM should be run in the supported headless mode.
You wake up one morning with The Idea — the one new thing that the world can’t do without. You slave away at it night and day, locked in a garage expending the perspiration that Edison said was 99 percent of your job. You Kickstart, you succeed, you get your prototypes out the door. Orders for the new thing pour in, you get a permanent space in some old factory, and build assembly workstations. You order mountains of parts and arrange them on shiny chrome racks, and you’re ready to go — except for one thing. There’s nobody sitting at those nice new workstations, ready to assemble your product. What’s worse, all your attempts to find qualified people have led nowhere, and you can’t even find someone who knows which end of a soldering iron to hold.
Granted, the soldering iron lesson is usually something that only needs to happen once, but it’s not something the budding entrepreneur needs to waste time on. Finding qualified workers to power a manufacturing operation in the 21st century is no mean feat, as Dr. Danielle Applestone discussed at the 2017 Hackaday Superconference. Dr. Applestone knows whereof she speaks — she was the driving force behind the popular Othermill, serving as CEO for Other Machine Co. and orchestrating its rise to the forefront of the desktop milling field. Now rebranded as Bantam Tools, the company is somewhat unique in that it doesn’t ship its manufacturing off to foreign shores — they assemble their products right in the heart of Berkeley, California. So finding qualified workers is something that’s very much on her mind on a daily basis.
The demoscene is a hotbed of masterful assembly programming, particularly when it comes to platforms long forgotten by the passage of technology and time. There’s a certain thrill to be had in wringing every last drop of performance out of old silicon, particularly if it’s in a less popular machine. It’s that mindset that created Don’t Mess With Texas – a glorious megademo running on the TI-99/4A.
Entered in the oldskool demo contest at Syncrony 2017, the demo took out the win for [DESiRE], a group primarily known for demos on the Amiga – a far more popular platform in the scene. The demo even includes a Boing Ball effect as a cheeky nod to their roots. Like any good megademo, the different personalities and tastes brings a huge variety of effects to the show – there’s a great take on vintage shooters a la Wolfenstein in there too. [jmph] shared a few more details on the development process over on pouet.net.
The TI-99/4A wasn’t the easiest machine to develop for. It’s got a 16-bit CPU hamstrung by an 8-bit bus, and only 256 bytes of general purpose RAM. Despite the group’s best attempts, the common 32K RAM expansion present in the floppy drive controller is a requirement to run the demo. Just to make things harder, the in-built BASIC is too slow for any real use and there’s no function to allow the use of in-line assembly instructions. The group had to resort to a cartridge-based assembler to get the job done.
In the machine’s favour, it has a great sound chip put to brilliant use – the demo’s soundtrack will take you right back to the glory days of chiptune. It’s also got strong graphics capabilities for the era on par with, if not better than, the Commodore 64. The video subsystem in the TI works so hard that it’s the only DIP in the machine that gets a heatsink! The demo does a great job of pushing the machine to its limits in this regard.
We’re used to reflow soldering of our PCBs at the hacker level, for quite a few years people have been reflowing with toaster ovens, skillets, and similar pieces of domestic equipment and equipping them with temperature controllers and timers. We take one or two boards, screen print a layer of solder paste on the pads by using a stencil, and place our surface-mount components with a pair of tweezers before putting them in the oven. It’s a process that requires care and attention, but it’s fairly straightforward once mastered and we can create small runs of high quality boards.
But what about the same process at a professional level, what do you do when your board isn’t a matchbox-sized panel from OSH Park with less than 50 or so parts but a densely-packed multilayer board about the size of a small tablet computer and with many hundreds of parts? In theory the same process of screen print and pick and place applies, but in practice to achieve a succesful result a lot more care and planning has to go into the process.
This is being written the morning after a marathon session encompassing all of the working day and half of the night. I was hand-stuffing a row of large high-density boards with components ranging from 0402 passives to large QFPs and everything else in between. I can’t describe the board in question because it is a commercially sensitive prototype for the industrial customer of the friend I was putting in the day’s work for, but it’s worth going through the minutiae of successfully assembling a small batch of prototypes at this level. Apologies then, any pictures will be rather generic.