Retrotechtacular: The Magic of Making Cars in the ’30s

retrotechtacular-manufacturing-chevrolet

We usually shy away from calling things ‘magic’ in our features because, you know… science. But in the case of this Chevrolet manufacturing reel from 1936 the presentation is nothing short of an industrialized version of The Sorcerer’s Apprentice. Well, not in the sense of mischief, but in that there is almost no explanation and the way the footage is laced together you get the strong feeling that, at the time, this type of industrialization was magic; a modern marvel. The techniques and skills of each worked passed down from a master to an apprentice but virtually unknown to the general public.

The clip, which is also embedded below, starts off in the machine shop where mold makers are getting ready to go into assembly line production. From there it’s off to the foundry for part casting and then into the stamping plant where white-hot (perhaps red-hot, but black and white film) metal is shaped by man-mangling presses. The image above follows the cast, stamped, and machined parts onto the assembly line. We like seeing a room full of pistons being QA checked by hand using a width gauge and micrometer.  The film continues through to the finished vehicle and we think you’ll agree there’s more than enough voyeuristic video here to overcome that lack of narration.

[Read more...]

Learning Assembly with a Web Based Assembler

AssemblyOnlineVery few people know assembly. [Luto] seeks to make learning assembly just a little bit easier with his “fully functional web-based assembler development environment, including a real assembler, emulator and debugger.”

These days, you can be a microcontroller expert without knowing a thing about assembly. While you don’t NEED to know assembly, it actually can help you understand quite a bit about embedded programming and how your C code actually works. Writing a small part of your code in assembly can reduce code size and speed things up quite a bit. It also can result in some very cool projects, such as using Java to program microcontrollers.

With high quality example code, it is very easy to get started learning assembly. The emulator consists of a microcontroller with 32 registers, hooked up to three LEDs, two buttons, and a potentiometer. This is way better than painfully learning assembly on real hardware. Be sure to check out the online demo! Being able to step through each line of code and clearly see the result help make assembly easier to use and understand. It would be great to see this kind of tool widely adopted in engineering programs.

Have you used assembly in any of your projects? Let us know how it went and why you choose to use assembly

Manual Pick and Place

picknplacePopulating a large surface mount PCB can take forever. [craftycoder] from Freeside Atlanta has built a great looking manual pick and place machine, removing the need for tweezers. No more will passives stick to your tweezers while you are trying to place them on your PCB!

We have seen a lot of pick and place machines in the past few years. What makes this one stand out is its simplicity and the no-nonsense build. This pick and place is built on an MDF platform, uses bearings from Amazon, standard 12 mm rails, and has a small camera for a close-up look at your part placement. Sure it is a manual method, but it beats painstakingly placing each part with tweezers. It would be interesting to see how much this entire build cost; we expect that it was not too expensive. See this thing in action in the video after the break.

We hope this project has inspired you to go out and make something cool! If so, let us know what you have made!
[Read more...]

Java Grinder Spits Out dsPIC and MSP430 Assembly Code

java-code-grinder

[Michael Kohn] sent in a link to the set of projects he’s been working on lately. The Java Grinder is a project that converts Java code for use on microcontrollers. This actually started back in 2009, when he mentioned that the project was worthless because there were already a ton of Java virtual machines out there. But if he had really thought that he’d never learn anything. We’re glad [Michael] picked this back up and made something out of it.

The image above shows the proof of concept. It’s a box bouncing around the Nokia 6100 screen. He wrote the animation in Java, and used his grinder to turn the code into dsPIC assembly, which was then compiled and flashed onto the microcontroller. That’s not all, he’s also coded a Mandelbrot set generator or the same hardware. As it stands he can also produce assembly code for use on MSP430 chips.

This kind of exploration is great for the brain. We see it as a natural extension of the learning you acquire from Nand2Tetris which walks through the essential text The Elements of Computing Systems. If you’re not familiar, that’s a trip from building your first logic gate, which you plunk together with others to build an ALU, then start coding all the way up to a virtual machine to run on your simulated hardware.

Video of the bouncing box and Mandelbrot set is below.

[Read more...]

Happy Birthday, Son. Here’s Your Very Own Claw Machine

mrclawIf [Will Baden] is in the running for Father of the Year, he’s a shoe-in. His son requested a robot-themed birthday party, so [Will] did what any superhero father would do and built him a toy claw machine.

[Will] harvested many of the parts from copy machines: both the 5V and 24V power supplies, the limit switches, 2/3 of the motors, and the 24V solenoid coil in the claw. The carriage is from a commercial printer. He made many of the mounts, including the ones holding the 3 stepper motors from Pololu.

A PIC16F870 is running the show. [Will] programmed it in assembly using Timer2 for stepper pulsing and RB0 interrupt to drop the claw when the button is pushed. He also added a WDT to get out of code trouble if needed. The claw’s solenoid is driven by a ULN2001A Darlington array. [Will] put a kickback diode on the coil so the pulses don’t go farther than they need to. He formed the fingers of the claw by bending pieces of brake line.

Not your kind of claw? Check out these incredible Wolverine claws!

[Read more...]

Making An ARM Powered MIDI Synthesizer

What you see in the picture above is a hand-made 4-oscillator synthesizer with MIDI input, multi-mode filter and a handful of modulation options. It was built by [Matt], an AVR accustomed electronics enthusiast who made an exception to his habits for this project. The core of the platform is a DIP packaged 32-bit Cortex-M0 ARM processor (LPC1114), stuffed with ‘hand’ written assembly code and compiled C functions. With a 50MHz clock speed, the microcontroller can output samples at 250kHz on the 12bit DAC while being powered by 3 AA batteries.

Reading [Matt]‘s write-up, we discover that the firmware he created uses 4 oscillators (sawtooth or pulse shape) together with a low frequency oscillator (triangle, ramp, square, random shapes). It also includes a 2-pole state-variable filter and the ability to adjust the attack-release envelopes (among others). The system takes MIDI commands from a connected device. We embedded videos of his creation in action after the break.

[Read more...]

Trimming The Fat From AVR GCC

avr

[Ralph] has been working on an extraordinarily tiny bootloader for the ATtiny85, and although coding in assembly does have some merits in this regard, writing in C and using AVR Libc is so much more convenient. Through his trials of slimming down pieces of code to the bare minimum, he’s found a few ways to easily trim a few bytes off code compiled with AVR-GCC.

To test his ideas out, [Ralph] first coded up a short program that reads the ATtiny85′s internal temperature sensor. Dissassembling the code, he found the a jump to a function called __ctors_end: before the jump to main. According to the ATtiny85 datasheet, this call sets the IO registers to their initial values. These initial values are 0, so that’s 16 bytes that can be saved. This function also sets the stack pointer to its initial value, so another 16 bytes can be optimized out.

If you’re not using interrupts on an ATtiny, you can get rid of 30 bytes of code by getting rid of the interrupt vector table. In the end, [Ralph] was able to take a 274 byte program and trim it down to 190 bytes. Compared to the 8k of Flash on the ‘tiny85, it’s a small amount saved, but if you’re banging your head against the limitations of this micro’s storage, this might be a good place to start.

Now if you want to hear some stories about optimizing code you’ve got to check out the Once Upon Atari documentary. They spent months hand optimizing code to make it fit on the cartridges.