ATtiny Does 170×240 VGA With 8 Colors

The Arduino is a popular microcontroller platform for getting stuff done quickly: it’s widely available, there’s a wealth of online resources, and it’s a ready-to-use prototyping platform. On the opposite end of the spectrum, if you want to enjoy programming every bit of the microcontroller’s flash ROM, you can start with an arbitrarily tight resource constraint and see how far you can push it. [lucas][Radical Brad]’s demo that can output VGA and stereo audio on an eight-pin DIP microcontroller is a little bit more amazing than just blinking an LED.

[lucas][RB] is using an ATtiny85, the larger of the ATtiny series of microcontrollers. After connecting the required clock signal to the microcontroller to get the 25.175 Mhz signal required by VGA, he was left with only four pins to handle the four-colors and stereo audio. This is accomplished essentially by sending audio out at a time when the VGA monitor wouldn’t be expecting a signal (and [lucas][Rad Brad] does a great job explaining this process on his project page). He programmed the video core in assembly which helps to optimize the program, and only used passive components aside from the clock and the microcontroller.

Be sure to check out the video after the break to see how a processor with only 512 bytes of RAM can output an image that would require over 40 KB. It’s a true testament to how far you can push these processors if you’re determined. We’ve also seen these chips do over-the-air NTSC, bluetooth, and even Ethernet.

Continue reading “ATtiny Does 170×240 VGA With 8 Colors”

Industrial Automation in Action: Steam Controller Assembly

Right up front, we’ll cop to the inevitable “not a hack” comments on this one. This video of the Steam Controller assembly plant is just two minutes of pure robotics porn, plain and simple.

From injection molding of the case parts through assembly, testing and final palletizing of packaged controllers for the trip to distributors, Valve’s video is amazingly detailed and very well made. We’d wager that the crane shots and the shots following product down conveyors were done with a drone. A grin was had with the Aperture Labs logo on the SCARA arms in the assembly and testing work cell, and that inexplicable puff of “steam” from the ceiling behind the pallet in the final shot was a nice touch too. We also enjoyed the all-too-brief time-lapse segment at around 00:16 that shows the empty space in Buffalo Grove, Illinois being fitted out.

This may seem like a frivolous video, but think about it: if you’re a hardware hacker, isn’t this where you want to see your idea end up? Think of it as inspiration to get your widget into production. You’ll want to get there in stages, of course, so make sure you check out [Zach Fredin]’s 2015 Hackaday Superconference talk on pilot-scale production.

Continue reading “Industrial Automation in Action: Steam Controller Assembly”

A Modern 386 Development Board

Some readers out there probably have nostalgic feelings for their first 386 based PC, the beeps and hisses of the modem, and the classic sound of a floppy drive’s stepper motor. Perhaps that turbo button that we could never quite figure out.

If you want the power of a 386 processor today, you’re in luck: [Pierre Surply] has developed a modern development board for the 80386SX CPU. This board is based on a 386 processor that comes in a LQFP package for “easy” soldering, and an Altera Cyclone IV FPGA.

To allow the CPU to run, the FPGA emulates the chipset you would usually find on a PC motherboard. The FPGA acts as both a bus controller and a memory controller for the CPU. On the board, there’s an SRAM chip and internal memory on the FPGA, which can be accessed through the 386’s bus access protocol.

The FPGA also provides debugging features. A supervisor application running on the FPGA gives debugging functionality via a FTDI USB to UART chip. This lets you control operation of the CPU from a PC for debugging purposes. The FPGA’s memory can be programmed through a JTAG interface.

The project is very well documented, and is a great read if you’re wondering how your old 386 actually worked. It can even be hand soldered, so the adventurous can grab the design files and give it a go. The francophones reading can also watch the talk in the video below.

Continue reading “A Modern 386 Development Board”

Hacking a Universal Assembler

I have always laughed at people who keep multitools–those modern Swiss army knives–in their toolbox. To me, the whole premise of a multitool is that they keep me from going to the toolbox. If I’ve got time to go to the garage, I’m going to get the right tool for the job.

Not that I don’t like a good multitool. They are expedient and great to get a job done. That’s kind of the way I feel about axasm — a universal assembler I’ve been hacking together. To call it a cross assembler hack doesn’t do it justice. It is a huge and ugly hack, but it does get the job done. If I needed something serious, I’d go to the tool box and get a real assembler, but sometimes you just want to use what’s in your pocket.

Continue reading “Hacking a Universal Assembler”

Writing Doom For The Raspberry Pi

We’ve all seen Doom played on the Raspberry Pi before… but this isn’t a port of the game. No, this was a school project at the Imperial College of London — writing the game in bare assembly. They wrote it from scratch.

bare metal doom thumbnail
Complete with a custom home made controller connected directly to the GPIO pins!

Yep. There’s not even an operating system on the Pi. It’s 9800 lines of bare metal ARM assembly. If that doesn’t hurt your brain we dunno what does!

They are using the official textures from the game, and it’s not quite a perfect replica — but it’s pretty darn close.

Part of the project was to build an emulator to make it easier to test the game, but it didn’t work out the greatest — so most of the actual game development was performed on the actual hardware. Yikes!

Stick around after the break to see Doom in all its former glory. Top notch work guys!

Continue reading “Writing Doom For The Raspberry Pi”

3D Printed Pogo Pin Programmer

The new hotness for Internet of Things hardware is the ESP8266. Alone it can connect to a WiFi network, but it doesn’t really have a lot of output options. Paired with an ATMega, and you really have something. That’s the philosophy behind the WIOT board, and when [Chris] was assembling these boards, he needed a way to flash firmware. The board has an unpopulated ISP header from the assembler, so pogo pins are the answer. How do you make a pogo pin jig? With a 3D printer, of course.

The ISP header wasn’t populated to give the board a slim profile, but this means a jig of sorts would be needed to program the WIOT. The first attempt was buying a few pogo pin adapters from Tindie, but this was terribly uncomfortable to hold while the board was being programmed.

To fix this problem, a small clip device was rigged up, printed out, and used for programming. Interestingly, this clip has a very deep throat, and a few holes used for bolting on a separate programmer. This shows a lot of forward thinking: the programmer can be reused for different boards with completely different layouts and programmers. If the next revision of the WIOT needs a JTAG header to program the micro, the problem of programming it is already covered.

Meet The Machines That Build Complex PCBs

You can etch a simple PCB at home with a few chemicals and some patience. However, once you get to multilayer boards, you’re going to want to pay someone to do the dirty work.

The folks behind the USB Armory project visited the factories that build their 6 layer PCB and assemble their final product. Then they posted a full walkthrough of the machines used in the manufacturing process.

The boards start out as layers of copper laminates. Each one is etched by applying a film, using a laser to print the design from a Gerber file, and etching away the unwanted copper in a solution. Then the copper and fibreglass prepreg sandwich is bonded together with epoxy and a big press.

Bonded boards then get drilled for vias, run through plating and solder mask processes and finally plated using an Electroless Nickel Immersion Gold (ENIG) process to give them that shiny gold finish. These completed boards are shipped off to another company, where a pick and place followed by reflow soldering mounts all the components to the board. An X-Ray is used to verify that the BGA parts are soldered correctly.

The walkthrough gives a detailed explanation of the process. It shows us the machines that create products we rely on daily, but never get to see.