Tag Archives: Microcontrollers

Megaprocessor is a Macro Microprocessor

via hardware – Hackaday

If we have to make a list of Projects that are insane and awesome at the same time, this would probably be among the top three right up there. For the past few years, [James Newman] has been busy building Megaprocessor – a huge micro-processor made out of transistors and LED’s, thousands of ’em. “I started by wanting to learn about transistors. Things got out of hand.” And quite appropriately, he’s based out of Cambridge – the “City of perspiring dreams“. The Why part is pretty simple – because he can. We posted about his build as recently as 10 months back, but he’s made a ton of progress since then and an update seemed in order.

megaprocessor_04How big is it ? For starters, the 8-bit adder module is about 300mm (a foot) long – and he’s using five of them. When fully complete, it will stretch 14m wide and stand 2m tall, filling a 30 sq.m room, consisting of seven individual frames that form the parts of the Megaprocessor.

The original plan was for nine frames but he’s managed to squeeze all parts in to seven, building three last year and adding the other four since then. Assembling the individual boards (gates), putting them together to form modules, then fitting it all on to the frames and putting in almost 10kms of cabling is a slow, painstaking job, but he’s been on fire last few months. He has managed to test and integrate the racks shown here and even run some code.

The Megaprocessor has a 16-bit architecture, seven registers, 256bytes of RAM and a questionable amount of PROM (depending on his soldering endurance, he says). It sips 500W, most of it going to light up all the LED’s. He guesses it weighs about half a ton. The processor uses up 15,300 transistors and 8,500 LED’s, while the RAM has 27,000 transistors and 2,048 LED’s. That puts it somewhere between the 8086 and the 68000 microprocessors in terms of number of transistors. He recently got around to calculating the money he’s spent on this to date, and it is notching up over 40,000 Quid (almost $60,000 USD)!  You can read a lot of other interesting statistics on the Cost and Materials page.

And kudos to his crazy Ninja skills to notch up just a few failed, bad solder joints, out of a total of over 250,000, and one dead transistor from among almost 42,000. A few cable crimping issues were the least of his troubles. The worst part was when he received a wrong batch of 4000 transistors (correct purchase order, correct packing list, but wrong parts bagged). He realized the problem after soldering all of them, setting him back by quite a bit. He didn’t bother de-soldering them but instead just built fresh replacement boards. He also built a hardware/software simulator for the Megaprocessor using an FPGA board to help him validate his design. Among the first programs he created were a few games (obviously) – Tetris, Tic-Tac-Toe, Life – for which he needed a suitable input device. So he modded a Venom Arcade stick which usually expects itself to be connected to a PlayStation via USB. He says it was “a very civilized thing to mod”.

There is a LOT more interesting stuff to read on his detailed blog posts, so go grab a supply of Coffee, switch off your Phone, and settle in for a few hours diving in to his crazy-awesome build. “This is nuts” said [Clovis Fritzen], who sent in this tip via the BBC News website. Thanks, and we’d agree with his assessment. Check out a couple of videos of the Megaprocessor in action below.


Filed under: hardware, Microcontrollers

Programmable CW Morse Keyer / beacon

via Dangerous Prototypes


Marko Pavlin has designed a Mini USB dongle with STM32F0xx , he writes:

Mini USB dongle with STM32F0xx is suitable many for simple, mini projects. I attached speaker to Timer14 PWM output (Pin PA6) and LED (or optocoupler connected to PTT) to GPIO pin PA0
The provided software is based on USB Virtual Com Port (VCP) device. The setup is done with command line interface using terminal from any PC. The setup is stored in the internal flash and PC is not required for normal operation. The mini beacon keyer can be used when powered with 5V.

Project info at Mare & Gal Electronics.

Atmega16u2 virtual serial example using LUFA Library

via Dangerous Prototypes


Shane of Wattnotions has published a new build, an Atmega16u2 virtual serial LUFA board:

What I wanted the LUFA library to do was pretty specific – the atmega16u2 should show up as a virtual serial port so that the computer can connect and read data from it like any other serial port. All of the other ways of communicating over USB eg HID etc wouldn’t do it. There was one example that came with LUFA that fit the bill – VirtualSerial. There were a few problems with getting this example to run on the atmega16u2 so I’ll document them and what the fix was.

More info at Wattnotions site.

STM32 Nucleo and DFU USB bootloading

via Dangerous Prototypes


MrMobileWill writes:

Over the last few months I have been playing with the Nucleo development boards from STMicroelectronics. If you’re unfamiliar with them, they are fast, mbed and Arduino (headers) compatible. This makes it easy like an Arduino to program and use. What sets them apart is that they are 32bit and have, depending on the model, tons of memory and flash. The Nucleo boards maintain the Arduino footprint but also have headers for the extra pins which gives this board plenty of GPIO for your projects.  In turn, you end up with multiple buses such as SPI, I2C, and UARTs for your consumption. They are priced very well and come in different flavors based on your needs. Each flavor is based on different ARM Cortex architectures such as M0, M3, and M4. One of the best features is real debugging via ST-Link/V2-1. The unfortunate thing due to the nature of mbed, you can only use the debugging features using a full desktop IDE such as Keil or some of the other free alternatives. But mbed allows you to export your code from the online IDE to the project format for those IDE’s. So there’s that.

More details at MobileWill’s project page.

A GUI and CLI utility for EFM32’s UART bootloader

via Dangerous Prototypes


Mario writes:

I’ve been doing mostly sensor-based systems and I think these microcontrollers are the perfect fit. ARM Cortex (they go from M0 to M4, and their series seem to keep growing), an architecture that was specially designed for low-power sensor-based embedded systems, allowing to measure “stuff” while the CPU is stopped, a nice set of peripherals (OPAMP, 12bit DAC and ADC), great support for GCC ARM Embedded (which makes them really ease to use or getting started to) and a factory-programmed UART bootloader.
The bootloader uses XMODEM-CRC protocol and TeraTerm may be used for uploading. However if you want a command-line tool (like “avrdude” for AVR microcontrollers), there’s anything you can use. So, I built one.

Source code is on Github.

Via the forum.

Project details at Mário Ribeiro’s blog.

XMega analog comparator

via Dangerous Prototypes


Shawon Shahryiar over at Embedded Lab has written an article on XMega analog comparator:

Generally a comparator is a device that compares two quantities. Analog comparators compare voltage – an analog quantity. An analog comparator is essentially an op-amp with infinite gain. It has one output and two inputs. The output is switched to VDD or ground (0V) depending on the relative voltage levels in the two input pins. Just as with an op-amp the two inputs are labeled as inverting input (INV) and non-inverting input (NINV). When the non-inverting input voltage is higher than that of the inverting input, the output switches to VDD and when it is the other way, the output switches to ground. Thus we get two logic states.

Details at Embedded Lab blog.