Bitbanging USB On Low Power ARMs

M0

With the Adafruit Trinket, the Digispark, and some very clever work with the smallest microcontroller Atmel offers, it looks like the ‘in’ thing to do for embedded software developers is to bitbang the USB protocol on hardware that shouldn’t support it. There are a lot of very small ARM chips out there without USB support, so it was only a matter of time before someone was able to bitbang USB on the ARM Cortex M0+.

The board above is based on an Energy Micro EFM32ZG, a very small 24-pin QFN device with up to 32 kB of Flash and 17 GPIOs. As with all the bitbanged USB hacks, the differential data lines are attached directly to the microcontroller. A 24 MHz crystal is needed, but the team behind the project is working on using the internal RC oscillator instead.

The code is portable with minimal changes between other manufacturer’s Cortex M0+ chips, and with a little work, this could become a very, very cheap USB-programmable ARM dev board, something the community could certainly use.

GEVCU – an Open Generalized Electric Vehicle Control Unit

At Hackaday we’re very happy to see the increasing number of open hardware devices that appear everyday on the internet, and we’re also quite thrilled about open-source electric cars. Pictured above is the GEVCU, an open source electric vehicle control unit (or ECU). It is in charge of processing different inputs (throttle position, brake pressure, vehicle sensors) then send the appropriate control commands to electric motor controllers (aka inverters) via CAN bus messages or digital / PWM signals.

The project started back in December 2012 and was originally based on an Arduino Due. Since then, the GEVCU went through several revisions and ultimately a complete custom board was produced, while still keeping the Cortex M3 ATSAM3X8E from the Due. As you may have guessed, the board also includes a Wifi transceiver so users may adjust the ECU parameters via a web based platform. All resources may be downloaded from the official GitHub.

NXP’s ARM Micros With Motor Controllers

motor

It’s still relitavely early in the year, and all those silicon manufacturers are coming out with new toys to satiate the engineer and hobbyist for years to come. NXP’s offering is the LPC1500, a series of ARM microcontrollers optimized for motor and motion-control applications.

The specs for the new chips include an ARM Cortex-M3 running at 72MHz, up to 256kB Flash, 36kB SRAM, USB, CAN, 28 PWM outputs, an a real-time clock. There are options for controlling brushless, permanent magnet, or AC induction motors on the LPC1500, with dev boards for each type of motor. Each chip has support for two Despite NXP’s amazing commitment to DIP-packaged ARM chips, the LPC1500 chips are only available in QFP packages with 48, 64, and 100 pins.

Don’t think the LPC1500 would be a perfect chip for a CNC controller – the chips only support control of two motors. However, this would be a fantastic platform for building a few robots, an electric car, or a lot of the other really cool projects we see around here.

The BitBox Console Gets Upgraded

BitBox Rev2

The Bitbox, an open source game console, has received a number of updates in the past couple of months. Last time we covered this DIY console, [Makapuf] had just managed to get the first revision to run a simple game. The second revision will increase the colors to 32k, add another channel of sound for stereo, switch controllers from PS2 to USB, and add support for Olimex’s UEXT expansion devices.

While the hardware upgrades are impressive, there’s been a lot of work on the Bitbox software as well. A new game demo called Fire was created as a set of tutorials to help people start developing for the console. There’s also a BitBoy, a GameBoy emulator for the Bitbox. BitBoy is a ported version of gnuboy for the ARM Cortex-M4 processor that powers the Bitbox. It successfully emulates a number of commercial GameBoy ROMs.

We’re looking forward to seeing what’s next for the Bitbox. After the break, check out a video of BitBoy running on the Bitbox.

[Read more...]

STM32 Nucleo, The Mbed-Enabled, Arduino-Compatable Board

Nucleo

The STM32 line of microcontrollers – usually seen in the form of an ST Discovery dev board – are amazingly powerful and very popular micros seen in projects with some very hefty processing and memory requirements. Now, ST has released a great way to try out the STM32 line with the Nucleo board.

There are two really great features about these new Nucleo boards. First, they’re mbed compatable, making them a great way to get started in the ARM development world. Secondly, they have Arduino pin headers right on the board, giving you access to all your shields right out of the box.

Right now, there are four varieties of the Nucleo board based on the STM32F030, -F103, -F152, and -F401 microcontrollers. The STM32F401 is the high-powered variant, An ARM Cortex-M4 microcontroller running at 84 MHz, 512kB of Flash, and enough I/O for just about any project.

If you’d like to get your hands on one of the STM32 Nucleo boards, you can order a voucher to pick one up at Embedded World in Germany next week. Otherwise, you’re stuck ordering from Mouser or Farnell. Bonus: the high-end F401-based board is only $10 USD.

ARM Debugger for Nearly One Dollar

Oh that title is so misleading. But if you squint your eyes and scratch your noggin it’s almost true. Thanks to the hard work of [Peter Lawrence] it is now possible to hack together an extremely inexpensive CMSIS-DAP ARM debugger.

Let’s talk about function and we’ll get back to cost later. CMSIS-DAP is a standard that gives you the kind of breakpoint control you expect from a proper debugger. In this case [Peter] implemented the standard using 4k words of space on a PIC 16F1454. This lets it talk to the debug port on ARM chips, and the bootloader (also written by him) doubles as a USB-to-UART bridge. Boom, done. OpenOCD (and a couple of other software packages) talks to the PIC and it talks to the ARM. Nice.

Back to the cost question. You can get a 16F1454 for nearly a dollar when you order in quantity. If you cut up an old USB cable, recycle some jumper wire, and already have power and decoupling on hand, you’re in business for nearly one dollar.

Sega Master System on a STM32 Development Board

Sega on STM32

Some hackers have managed to convert an STM32 development into a Sega Master System emulator. This means Sonic the Hedgehog running on an ARM Cortex-M4.

This hack has a number of parts. First, [Alessandro Rocchegiani] showed off a video of his Sega Master System emulator running on the STM32F429 Discovery development board. This first version used the on board 2.4″ TFT LCD screen.

[Fabrice] was working with this STM32 Discovery board already. He had developed an expansion board that added a number of features to the development kit, including an R-2R DAC for video output. When [Fabrice] found out about the Sega Master System emulator, he worked with [Alessandro] and his son [Fabrizio] to get VGA output working. They also added support for the Wii controller using [Fabrice]‘s Wii library. The result is a Sega Master System emulator with VGA output at 640 x 480, with 16 bit color and Wii controller support.

You can watch a video of both the LCD and VGA versions of the hack after the break.

[Read more...]