So you spent your youth learning your craft in front of an Amiga 500+, but a quarter century later all you have left is a broken computer and a pile of floppies you can’t read any more. What’s to be done? This was the position [Rob Smith] found himself in, and since some of the commercial solutions to ripping Amiga floppies were rather expensive, he decided to have a go at making his own.
His write-up makes for a fascinating read, as he delves into the physical interface of the PC floppy drive he used, and into the timing required from the Arduino that controlled it. He faced some challenges in getting his code to be fast enough for the task, and goes into some of the optimisation techniques he employed. His code for both Arduino and Windows is open-source, and can be downloaded from his GitHub repository. Future plans involve supporting the FDI disc format as well as ADF, and adding the ability to write discs.
We’ve shown you a lot of Amigas over the years, but perhaps of most relevance here in our archive are this Raspberry Pi floppy emulator and this floppy autoloader for archiving a disc collection.
Via Hacker News.
Since an FPGA is just a sea of digital logic components on a chip, it isn’t uncommon to build a CPU using at least part of the FPGA’s circuitry. VexRiscv is an implementation of the RISC-V CPU architecture using a language called SpinalHDL.
SpinalHDL is a high-level language conceptually similar to Verilog or VHDL and can compile to Verilog or VHDL, so it should be compatible with most tool chains. VexRiscv shows off well in this project since it is very modular. You can add instructions, an MMU, JTAG debugging, caches and more.
Continue reading “VexRiscv: A Modular RISC-V Implementation for FPGA”
Can you build a foundry out of a loaf of bread and a can of tuna fish? As it turns out, yes you can. And not only can you melt aluminum in said foundry but you can also make a mold from plain beach sand and cast a usable part.
Through the magic of backwoods engineering and that can-do Canadian attitude, [AvE] demonstrates in his inimitable style how a pyrolized loaf of sourdough bread can serve as a perfectly acceptable foundry, using a tuna can as a crucible. We covered [AvE]’s carbon foam creation process before and showed some of its amazing properties, including the refractory characteristics requisite for foundry service. Once reduced to carbon foam, the bread can easily handle the flame of a propane torch and contain the heat long enough to melt aluminum. And using nothing more than beach sand, [AvE] was able to lost-foam cast a knob-like part. Pretty impressive results for such a low-end, field expedient setup.
Normally we warn our more tender-eared readers about [AvE]’s colorful language, lest they succumb to the vapors when he lets the salt out. But he showed remarkable restraint with this one, even with his cutting mat aflame. Pretty SFW, so enjoy seeing what you can do with nothing.
Continue reading “The Tuna Fish Sandwich Foundry”
Running around while dousing each other with Super Soakers and screaming in delight is de rigueur on suburban lawns on hot summer days, but if you build this giant replica of a Super Soaker that can double as a pressure washer, you might have the upper edge on the neighborhood gang.
You may remember [Mark Rober] from such projects as his bullseye-catching dart board and his previous entry in the awesome uncle of the year awards, the fully automatic snowball gun. We’re not entirely sure that this seven-foot long replica of the original Super Soaker will win him any uncle or neighbor plaudits, given that it the stream it produces is not far off of what a pressure washer can manage and can literally slice a watermelon in half. Fortunately, [Mark] included swappable nozzles to reduce the pressure enough that relatively safe dousing is still on the table. The housing is a pretty accurate plywood and foam replica of the original toy, but the mechanism is beefed up considerably — a pair of nitrogen tanks, some regulators, and a solenoid valve. See the gun in all its window-smashing, kid-soaking glory in the video after the break.
We realize [Mark]’s build is just a fun way to beat the heat, but it gives us a few ideas for more practical uses. Maybe a DIY water-jet cutter that’s not built around a pressure washer?
Continue reading “World’s Largest Super Soaker is Dangerously Good Clean Fun”
[Todd Christell] grows tomatoes in hydroponic buckets in his backyard, and recently he suffered a crop loss when a mechanical timer failed to dispense the nutrient flow as directed. He decided the solution was to add a sensor array to his home network.
[Todd]’s home automation setup runs on a Raspberry Pi loaded with Jessie OS and Node-Red, with Mosquitto as his MQTT message broker. With a sensor network in place, [Todd] would get updates on his phone alerting him if there was a problem with the pumps or if the nutrient bath was getting too low.
The proposed hydroponic setup would consist of an ESP8266-12 equipped with a DS18B20 waterproof temperature sensor, a reed sensor detecting nutrient levels, and a relay board triggering one pump to fill the grow buckets from the main sump and another to top off the sump with the solution from a reserve tank. One early problem he encountered was the electric fence (pictured above) that he employs to keep squirrels away from his tomatoes, interfered with the ESP8266’s signal.
It is easy to dismiss bash — the typical Linux shell program — as just a command prompt that allows scripting. Bash, however, is a full-blown programming language. I wouldn’t presume to tell you that it is as fast as a compiled C program, but that’s not why it exists. While a lot of people use shell scripts as an analog to a batch file in MSDOS, it can do so much more than that. Contrary to what you might think after a casual glance, it is entirely possible to write scripts that are reliable and robust enough to use in many embedded systems on a Raspberry Pi or similar computer.
I say that because sometimes bash gets a bad reputation. For one thing, it emphasizes ease-of-use. So while it has features that can promote making a robust script, you have to know to turn those features on. Another issue is that a lot of the functionality you’ll use in writing a bash script doesn’t come from bash, it comes from Linux commands (or whatever environment you are using; I’m going to assume some Linux distribution). If those programs do bad things, that isn’t a problem specific to bash.
One other limiting issue to bash is that many people (and I’m one of them) tend to write scripts using constructs that are compatible with older shells. Often times bash can do things better or neater, but we still use the older ways. For example:
Continue reading “Linux Fu: Better Bash Scripting”
[James Bruton] built an electric skateboard out of oversized LEGO bricks he printed himself, and equipped the board with an excellent re-creation of a classic motor.
He began by downloading brick, gear, and pulley designs from Thingiverse and printing them up five times their normal size, taking 600 hours. The deck consists of 8M Technic bricks lengthwise and 4M bricks crosswise, with plates covering top. There’s even a monster 5×6 plate that’s clearly courtesy of a parametric brick design because you won’t find that configuration among LEGO’s official parts.
The coolest part of the project is probably [James]’ re-creation of an old school LEGO motor. He sized up a 6216M Technic motor originally rated for 4.5V swapping in a 1.5 kW, 24V motor controlled by a 120A ESC and powered pair of Turnigy 5000mAh LiPos wired in series.
[James] had to design his own casing in Blender because couldn’t find a file for the original LEGO part—pro tip for the future, LDraw has the 6216 design and it can be dropped into Blender.
Another nice touch are the wheels, with hubs based off upsized 40-tooth Technic gears with Ninjaflex tires that weigh half-a-kilo each and took 32 hours apiece to print.
We’ve published a lot of [James] ‘ work, including his BB-8 model and some of his other Star Wars models. Continue reading “Electric Skateboard Rocks the Giant LEGO”