Hackaday Prize Entry: A Bit Dingus

There was a time when just about every computer – even laptops – came with a parallel port. That’s 25 pins of bit-banging goodness, accessible from every programming environment, that could control any random pile of electronics sitting on a desk. The days of parallel ports are behind us now, and if you want to blink a pin with a computer, you’re looking at controlling a microcontroller over USB or something.

[ajlitt]’s Tiny Bit Dingus is just that: a microcontroller stuffed into a USB plug with a few pin headers. With the right app, you can control these pin headers over USB. It’s the closest you’re going to get to a parallel port with modern hardware.

This bit dingus isn’t meant to replace the Bus Pirate, an Arduino, or anything else; it’s meant to be a small and simple way to connect random electronics to a computer with as few parts as possible. If you’re looking for a part to add to your electronic tinkerer everyday carry rig, this would be it.

There’s a few bits of interesting hardware inside the Bit Dingus. A while back, [ajltt] ran into the Freescale KL27, a Cortex M0+ that does USB without a crystal, has a USB bootloader, and doesn’t require many additional components at all. It’s the perfect size for the project at 5x5mm, and is unbrickable while still being flashable over USB.

The 2015 Hackaday Prize is sponsored by:

ARM-BMW, The Open Hardware Cortex-M0 Development Board

[Vsergeev] tipped us about a neat Cortex-M0 based development board with a total BoM cost under $15. It’s called the ARM Bare Metal Widget (ARM-BMW), focuses on battery power, non-volatile storage and debuggability.

The chosen micro-controller is the 50MHz NXP LPC1114DH28 which provides the user with 32kB of Flash, 8kB of SRAM, a 6 channel ADC and I2C/SPI/UART interfaces among others. The ARM-BMW contains a 2Mbyte SPI flash, an I2C I/O expander, several headers for expansion/debug purposes, 4 LEDs, 2 buttons, 2 DIP switches and finally a JTAG/SWD header for flashing and debugging. As you can see in the picture above you may either populate your own HC49UP crystal or use the internal 12MHz RC oscillator.

The platform can be powered using either a USB cable or a LiPo battery. As you can guess it also includes a much-needed battery charger (the MCP73831T) and a switched capacitor DC/DC converter to supply 3.3V. You may find all the files on the hardware or software repositories.

An Open Source Cortex-M0 Halogen Reflow Oven Controller With LCD

reflow oven controller

Homemade reflow ovens are a great inexpensive way to quickly solder multiple prototypes at once. [Andy] may just have built one of the best ones we’ve featured so far on Hackaday. For his project a £25 1300W 12litre halogen oven was chosen because of its low cost and fast heating time, the latter being required to follow typical reflow profile ramp-up stages.

To control the AC power [Andy] first bought a chinese Fotek Solid State Relay (SSR) on ebay, which was quickly replaced by an american one after reading concerning reports on the internet. He then made the same ‘mistake’ by buying the typical MAX6675 thermocouple-to-digital converter from the same website, as he spent much time understanding why the measurements were wrong when the IC was just defective. His final build is based around a 640×360 TFT LCD that he previously reverse engineered, the cortex-M0 STM32F051C8T7, a SPI flash, some power regulators and buttons. The firmware was written in C++ and we’ll let our readers visit [Andy]’s page to see how well  his oven performs.

Persistence of Vision Planetary Map

POV planetary map

Looking at the looping GIF above you’re probably thinking, oh, another hard drive POV setup… Well… Not quite.

This is one of [Dev’s] latest projects, and it is a planetary map that shows the angular positions of all 8 of the major celestial bodies from any given date between 1800 and 2050. It’s also capable of showing analogue clock hands, the phases of the moon, and other simple graphics.

The main unit is a hard disk, but [Dev] milled off many of the features on it to give it a more exposed, purpose-built look. He designed the LED bearing PCB from scratch using EagleCAD, which sits on the back of the drive, with the spindle poking through. It has 8 rings of 5 surface mounted LEDs, which shine through opaque plastic diffuser rings that he printed using Shapeways — they feature small recesses to fit snugly on the board over the LEDs. On the top level is a 1mm thick black disc of some unknown material that [Dev] had sitting around, which now has 8 holes machined into it in the exact position of the LEDs.

A Cortex-M0 drives the LEDs using an LPCXpresso board which allows the LEDs to sit across only one byte of a hardware I/O port. On the software end, each rotation of the disk is segmented into three hundred and sixty 1 degree slices. This system allows him to achieve a circular resolution of 8×360 pixels at 25 frames per second. Not bad for a persistence of vision device!

Stick around after the break to see the rather entertaining demo video of the device.

Continue reading “Persistence of Vision Planetary Map”

Help create a universal ARM programmer

The new crop of ARM Cortex M0/M3/M4 microcontrollers have a lot of interesting features for developers. In addition to supporting drag and drop programming via USB, the same hardware can also be used as a debugger. Setting breakpoints and inspecting memory at any point in the code is a wonderful feature, but not all the new ARM dev boards we’ve seen support this feature.

The folks over on SimpleCortex have a solution to this problem, but they need your help. To get their CMSIS-DAP hardware working with Open Source tools, they’re looking for a few good programmers and hardware developers to build a toolchain.

Right now, the hardware only works with Keil development tools. A closed source development environment is no good to anyone, so if you have some experience writing drivers and such, send the guys at SimpleCortex an email. They’ll give you a free board in return for a contribution to building an open source ARM toolchain.

Common sense requires us to mention that you should probably only send these guys an email if you actually plan on working on this problem. Still, it’s a great opportunity to contribute to open hardware.

DIY ARM prototyping board

We’re impressed by the ARM prototyping board which [Danjovic] is showing off. He proves that in this day of ever shrinking packages it’s still possible to make your own development tools with protoboard and a soldering iron.

To tell you the truth, if he had designed and etched his own board we probably wouldn’t have featured it. But he didn’t need to spend time on the layout, etching, and reflow. Instead it’s just some enamel wire and a lot of patience. The patience is because the NXP ARM Cortex-M0 chip comes in a HVQFN package. We’re not entirely sure about the HV part (the package alphabet was not entirely clear on this) but QFN means Quad Flat No-Lead. That means no legs on the chip. So [Danjovic] glued it upside down and soldered point-to-point to break out all of the pins.

The top side of the board has a bootloader button, reset button, power regulation, and a crystal oscillator. He doesn’t mention what bootloader he’s using, but a Nokia USB cable gives him the connectivity to push his programs onto the chip.

The coming age of ARM chips for the hobbyist

The days of the 8 bit Arduino may be quickly coming to a close. Sure, there will always be a place for AVRs in blinking LEDs and turning on relays, but for doing anything cool – playing MP3s, driving LCD displays, or running a CNC machine – you need the power of a 32 bit chip. [Brian Carrigan] put up a great tutorial on getting started with these bigger, more powerful micros and moving beyond what is possible with an 8 bit PIC or AVR.

These new 32 bit chips are much more powerful, but aren’t exactly hobbyist friendly. Most of the ARM chips we’ve found are stuffed into very fine pitch QFN or QFP packages that require a reflow oven to solder to a board. In fact, we can only find one through-hole Cortex M0 chip that is suited for breadboard development. This doesn’t make it easy to whip up a circuit in a few hours, so builders needing a very powerful microcontroller will be more dependent on dev boards.

Already there are a good number of ARM-based 32 bit dev boards available including the offerings from Leaf Labs, the extremely inexpensive STM Discovery boardKinetis KL25Z Freedom Board, the outrageously powerful BeagleBone, and the perpetually delayed Arduino (over) Due.

None of these boards are particularly new developments; they’ve all been around the block once or twice. However, there are many more options for 32 bit development than the current 8 bit PIC and AVR holy war. We’re going to turn the comments over to Hackaday readers with the following questions: what supersized dev board are you rolling with? What’s good for a beginner, and what should they watch out for?