Bitbanging USB On Low Power ARMs


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.

SimpleCortex, for when an Arduino is too wimpy

Sometimes, an Arduino just doesn’t have enough horsepower. Whether you’re gathering loads of sensor data and sending it over the web via Ethernet, or just trying to build a home-brew video game, it’s very easy to run into the limitations of the Arduino platform. [Rik] and his fellow classmates may have a solution to this problem with their SimpleCortex development board.

The SimpleCortex began as an answer to the Arduinos [Rik] and his classmates had to use at school.  The SimpleCortex gets its name from an ARM Cortex M3 microcontroller running at 120MHz; more than fast enough to do some very interesting things, and 512kB of Flash to hold much larger programs.

The Arduino IDE is admittedly terrible, and big projects are a pain in the butt with a tiny 8-bit micro. SimpleCortex improves upon this development environment by using the free CoCenter IDE put out by CooCox. The CoCenter IDE supports debugging and code completion, standard features on any serious desktop programming environment.

The SimpleCortex has Arduino-compatable header pins, so it should be easy to use existing shields, like the 3G modem we saw this week and the NTSC video IO shield that can do object tracking. While the specs of the SimpleCortex put it in a distant second to the Raspberry Pi, sometimes you just don’t need Linux, but a standard AVR or PIC isn’t quite enough.

There’s no word on when this board will be available, but the team is working with ITead Studio to officially release boards into the wild.

Build your own Wikipedia reader

One part inexpensive uC, one part touch-screen, one part Internet knowledge-base all come together to make up this Wikipedia reader. It functions in a very similar way to commercial versions by parsing XML dumps from the popular website to an SD card for use on the device. This is not limited to Wikipedia, but could just as easily be an e-reader. [Rossum] developed the package using an NXP ARM Cortex M0 model LCP1114 microcontroller. They cost just a couple of bucks but pack a 50 MHz punch with 32 KB of program memory and 8 KB of SRAM. If the nanotouch and the AVR iPhone concept didn’t convince you that [Rossum] knows what he’s doing, the video after the break of this newest creation will seal the deal.

Continue reading “Build your own Wikipedia reader”