[Dave] wanted to learn more about the ARM architecture, so he started with an image of the ARMV1 die. If you’ve had some experience looking at CPU die, you can make some pretty good guesses at what parts of the chip have certain functions. [Dave], however, went further. He reverse engineered the entire ALU–about 2,200 transistors worth.
Slider5098 Articles
Madeline Gannon The Robot Tamer!
Let’s be honest. Who doesn’t want an industrial six-axis robot arm in their garage to do their bidding? Introducing [Madeline Gannon], the Robot Tamer!
The only tricky part is… if you received an industrial six-axis robot arm, would you be able to control it to do your bidding (easily)? Having taken robotics courses myself in college, and worked with ABB robots like this one, I can tell you, it’s not exactly plug-and-play. Yeah, there’s the teach pendant and you can pretty quickly teach the robot to do a repetitive task well, but unless you’re setting up your own mini manufacturing line — what’s the point? You’re going to want to inject some CNC code or something and have it carve you a sculpture! Or pour you a mixed drink I guess…
Maybe [Madeline] has the answer. Working as an artist in residence at Pier 9, she’s created wearable markers and a motion capture system that allows a giant ABB robot to see, and respond to your movements in a shared space.
Printing Objects Directly From Fallout 4
Fallout 4 was released about a month ago, and although we don’t have a ‘took an arrow to the knee’ meme like Bethesda’s last game, there are ample opportunities for cosplay and printing out deathclaws and mirelurks on a 3D printer. How do you turn files hidden away in a game’s folders into a real, printed object? It’s actually pretty easy and [Angus] is here to tell you how.
The files for Fallout enemies and items can be readily accessed with the Bethesda Archive Extractor, although this won’t give you files that a 3D printer can understand. You’ll get a .NIF file, and NifSkope can convert the files found in the Fallout archives to an .OBJ file any 3D modeling program can understand. The next step from there is taking the .OBJ file into Meshmixer and fixing everything with Netfabb. After that, it’s off to the printer.
[Angus] printed his model of a Deathclaw in ABS in multiple parts, gluing them together with a little bit of acetone. This didn’t go exactly as planned; there were some contaminants in the ABS that turned into a white film on the black ABS. This was ultimately fixed with XTC-3D, the 3D print coating everyone is experimenting with.
The finished product is a solid yellow but completely smooth 3D model of one of the toughest enemies in Fallout 4. The only thing left to do is paint the model. The best way to proceed at this point is probably doing what model builders have been doing for decades – an airbrush, and hundreds of tiny bottles of paint. [Angus] is opening up his YouTube comments for suggestions, and if you have a better idea he’s looking for some help.
Continue reading “Printing Objects Directly From Fallout 4”
Guerrilla Grafters Grow Great Gifts For Greater Good
If you’ve been to downtown San Francisco lately, you might have noticed something odd about the decorative trees in the city: they’re now growing fruit. This is thanks to a group of people called the Guerrilla Grafters who are covertly grafting fruit-bearing twigs to city tress which would otherwise be fruitless. Their goal is to create a delicious, free source of food for those living in urban environments.
Biology-related hacks aren’t something we see every day, but they’re out there. For those unfamiliar with grafting, it’s a process that involves taking the flowering, fruiting, or otherwise leafy section of one plant (a “scion”) and attaching them to the vascular structure of another plant that has an already-established root system (the “stock”). The Guerrilla Grafters are performing this process semi-covertly and haven’t had any run-ins with city officials yet, largely due to lack of funding on the city’s part to maintain the trees in the first place.
This hack doesn’t stop at the biological level, though. The Grafters have to keep detailed records of which trees the scions came from, when the grafts were done, and what characteristics the stock trees have. To keep track of everything they’ve started using RFID tags. This is an elegant solution that can be small and inconspicuous, and is a reliable way to keep track of all of one’s “inventory” of trees and grafts.
It’s great to see a grassroots movement like this take off, especially when it seems like city resources are stretched so thin that the trees may have been neglected anyway. Be sure to check out their site if you’re interested in trying a graft yourself. If you’re feeling really adventurous, you can take this process to the extreme.
Thanks to [gotno] for the tip!
Not Ready For FPGAs? Try A CPLD
[Kodera2t] wanted to experiment with programmable logic. Instead of going with an FPGA board, he decided to build his own CPLD (complex programmable logic device) board, with a built-in programmer. The CPLD is a Xilinx 9536 which is inexpensive and, though obsolete, still readily available. The programmer for the board uses an FT232RL and the total cost is very low ([kodera2t] says it is in the price range of a Raspberry Pi Zero or about $4).
From a user’s point of view, a CPLD is just a small FPGA. Internally, there is a significant difference in how they implement your design. Although there are differences between different product families, CPLDs usually use a sea of logic gates arranged as an AND/OR chain. By feeding inputs and inverted inputs into the AND gates and then ORing the results, you can build interesting logic circuits. However, modern CPLDs use Verilog or VHDL, so you describe what you want just like with an FPGA and the software figures out how to use the underlying circuits to give you what you want.
MIT Robots Fight With Lightsabers
Students of the MIT Robotics Lab decided to have some fun this holiday season with the big release of Star Wars. They built a lightsaber wielding delta-bot, and some very interesting hip-mounted lightsaber robot arms, akin to General Grievous.
First up in the video though is their Jedi Training robot, which is a variation of the delta-bot robot we’re all familiar with thanks to 3D printers. With a lightsaber mounted on top, it’s not too fast, but has a large range of motion to allow you to practice your lightsaber form. They call it the Triple Scissor Extender — and as you can imagine, it was built for something completely different. You can check out the designer’s personal blog here, though he doesn’t have any info on this particular project — yet.
Second is a robot they designed for a project called Supernumerary Robotic Limbs (SRL), which is literally designed to give you extra robotic arms — it was the next logical step to give them lightsabers…
Programming With Rust
Do hardware hackers need a new programming language? Your first answer might be no, but hold off a bit until you hear about a new language called Rust before you decide for sure.
We all know real hackers use assembly language to program CPUs directly, right? Well, most of us don’t do as much assembly language as we used to do. Languages like C can generate tight, predictable code and are easier to manage.
Although some people use more abstract languages in some embedded systems, it is no secret that for real-time systems, device driver development, and other similar tasks, you want a language that doesn’t obscure underlying details or generate code that’s difficult to reason about (like, for example, garbage collection). It is possible to use special techniques (like the Real-Time Java Specification) to help languages, but in the general case a lean language is still what most programmers reach for when you have to program bare metal.
Even C++, which is very popular, obscures some details if you use things like virtual functions (a controversial subject) although it is workable. It is attractive to get the benefit of modern programming tools even if it does conceal some of the underlying code more than straight C.
About Rust
That’s where Rust comes in. I could describe what Rust attempts to achieve, but it is probably easier to just quote the first part of the Rust documentation:
Rust is a systems programming language focused on three goals: safety, speed, and concurrency. It maintains these goals without having a garbage collector, making it a useful language for a number of use cases other languages aren’t good at: embedding in other languages, programs with specific space and time requirements, and writing low-level code, like device drivers and operating systems. It improves on current languages targeting this space by having a number of compile-time safety checks that produce no runtime overhead, while eliminating all data races. Rust also aims to achieve ‘zero-cost abstractions’ even though some of these abstractions feel like those of a high-level language. Even then, Rust still allows precise control like a low-level language would.






