Snake On A BBC Micro:bit

The first of the BBC Micro Bits are slowly making their ways into hacker circulation, as is to be expected for any inexpensive educational gadget (see: Raspberry Pi). [Martin] was able to get his hands on one and created the “hello world” of LED displays: he created a playable game of snake that runs on this tiny board.

For those new to the scene, the Micro Bit is the latest in embedded ARM systems. It has a 23-pin connector for inputs and outputs, it has Bluetooth and USB connectivity, a wealth of sensors, and a 25-LED display. That’s small for a full display but it’s more than enough for [Martin]’s game of snake. He was able to create a hex file using the upyed tool from [ntoll] and upload it to the Micro Bit. Once he worked out all the kinks he went an additional step further and ported the game to Minecraft and the Raspberry Pi Sense HAT.

[Martin] has made all of the code available if you’re lucky enough to get your hands on one of these. Right now it seems that they are mostly in the hands of some UK teachers and students, but it’s only a matter of time before they become as ubiquitous as the Raspberry Pi or the original BBC Micro.  It already runs python, so the sky’s the limit on these new boards.

Continue reading “Snake On A BBC Micro:bit”

Makerville Knit: Industrial-Strength WiFi Breakout

If you need an industrial-strength IoT product, you need an industrial-strength WiFi chipset. For our own household hacks, we’re totally happy with the ESP8266 chip. But if you need to connect to the big, scary Internet you’ll probably want state-of-the-art encryption. In particular, Amazon insists on TLS 1.2 for their Web Services (AWS), and we don’t know how to get that working on the ESP.

[Anuj] designed a breakout board called the knit which includes a Marvell MW300 WiFi SOC. This chip has an onboard ARM Cortex M4F running at 200 MHz, which means you’ve got a lot of everything to play with: flash memory, RAM, a floating-point unit, you name it. And Marvell’s got an SDK for using AWS that includes things like an operating system and peripheral support and other niceties. TLS 1.2 is included.

Cd_tjKoWwAApnU9_thumbnailBest of all, a MW300 breakout is reasonably affordable (though more expensive than the mass-produced ESP8266 modules, naturally) and it’s an entirely open design. [Anuj] also seems to be setting up for a production run, if you don’t feel like making it yourself.

The MW300 is in all sorts of commercial IoT designs, and it’s a battle-tested go-to for interfacing with “the cloud” securely. The only hobbyist-friendly board that’s similar is the Adafruit WICED WiFi Feather, but it’s more expensive, less powerful, and out of stock at the moment, which just shows the demand for something like this.

Of course, if you need more integrated peripherals, you could just hack up a “Hello Barbie” toy which has the same chip as well as sweet audio codecs and a nice fat flash ROM.

We think it’s neat that [Anuj] would make and test a breakout for this powerful little WiFi SOC. We don’t need one for our projects right now — we’re running in entirely insecure mode — but it’s good to know what your options are. (We’re also looking into esp-open-rtos for the ESP8266 — we know they’ve been working on TLS 1.2 encryption, but we don’t know what their status is at the moment. Anyone?)

Open source OBD-II Adapter

Automotive diagnostics have come a long way since the “idiot lights” of the 1980s. The current version of the on-board diagnostics (OBD) protocol provides real time data as well as fault diagnostics, thanks to the numerous sensors connected to the data network in the modern vehicle. While the hardware interface is fairly standardized now, manufacturers use one of several different standards to encode the data. [Alex Sidorenko] has built an open source OBD-II Adapter which provides a serial interface using the ELM327 command set and supports all OBD-II standards.

The hardware is built around the LPC1517 Cortex-M3 microprocessor and can accept a couple of different versions. Here’s the PDF schematic, and a set of Gerber files (ZIP archive) for the PCB layout, if you’d like to dig in to it’s internals. The MC33660 ISO K Line Serial Link Interface device is used to provide bi-directional half-duplex communication interface with the micro-controller. Also included is the TJF1051, a high-speed CAN transceiver that provides an interface between the micro controller and the physical two-wire CAN lines on the ODB-II connector. The serial output from the adapter board is connected to a computer using a serial to USB adapter.

The software is written in C++ for the LPCXpresso IDE – a GNU tool chain for ARM Cortex-M processors, but can also be compiled using a couple of other toolchains. He’s got instructions if you’d like to build the firmware from source, or if you’d like to program the adapter via Flash Magic.

We featured [Alex]’s inexpensive PIC based ODB-II interface way back in 2007, so he’s been working on this for a while and has a good grip on what he’s doing.

Embed with Elliot: ARM Makefile Madness

To wrap up my quick tour through the wonderland of make and makefiles, we’re going to look at a pair of possible makefiles for building ARM projects. Although I’m specifically targeting the STM32F407, the chip on a dev board that I have on my desk, it’s reasonably straightforward to extend these to any of the ST ARM chips, and only a bit more work to extend it to any ARM processor.

If you followed along in the first two installments of this series, I demonstrated some basic usages of make that heavily leveraged the built-in rules. Then, we extended these rules to cross-compile for the AVR series of microcontrollers. Now we’re going to tackle a more complicated chip, and that’s going to mean compiling with support libraries. While not required, it’s a lot easier to get an LED blinking on the ARM platforms with some additional help.

One of the main contributions of an IDE like Arduino or mbed or similar is the ease of including external libraries through pull-down menus. If you’ve never built a makefile-based project before, you might be surprised how it’s not particularly more difficult to add libraries to your project.
Continue reading “Embed with Elliot: ARM Makefile Madness”

British Kids Finally Get Their Micro:Bits

The little board that has at times seemed so plagued with delays as to become the Duke Nukem Forever of small computers has finally shipped. A million or so British seventh-grade schoolchildren and their teachers will today start receiving their free BBC micro:bits.

Announced early last year, the plan was to rekindle the learning of code in schools through handing out a powerful and easy to program small computer to the students. The hope is that it will recapture the spirit of the 1980s, when school computing meant programming Acorn’s BBC Micro rather than learning how to use Microsoft Word.

Sadly the project has been delayed multiple times, the original target of last October was missed, and a revised estimate from January suggested they might ship at half-term (about four weeks ago). With only a few days to go before the Easter school holidays the kids will have to try them out at home, but at least they’re arriving.
Continue reading “British Kids Finally Get Their Micro:Bits”

Hands On With The Odroid C2; the Raspberry Pi 3 Challenger

A couple of weeks ago we covered the launch of the Odroid C2, a single board computer from the Korean company Hardkernel in the same form factor and price segment as the Raspberry Pi 3. With four ARM Cortex A53 cores at 2GHz and 2Gb of DDR3 on board it has a paper spec that comfortably exceeds that of the Pi 3’s 1.2GHz take on the same cores and 1Gb of DDR2. This could be a board of great interest to our readers, so we ordered one for review.

The parcel from Korea arrived in due course, the C2 in its box inside it well protected by a sturdy cardboard outer packaging. We had ordered a couple of extras: a micro-SD card preloaded with Ubuntu and a USB power lead (more on that later), both were present and correct.

When unpacking the board it is immediately obvious how closely they’ve followed the Raspberry Pi form factor. There are a few differences, no camera or DSI connectors, the SD card in a different place, a power jack where the Pi has its audio jack, and oddly the network port is the other way up. Otherwise it looks as though it should fit most Pi cases. Of course the only case we had to hand was a PiBow which are cut for specific Pi models, so sadly we couldn’t test that assertion.

Continue reading “Hands On With The Odroid C2; the Raspberry Pi 3 Challenger”

ARM Board Transmits FM

There is more than a casual link between computer people and musicians. Computers have created music since 1961 when an IBM7094 sang the song Daisy Bell (later inspiring another computer, the HAL 9000, to do the same).

[Vinod.S] wanted to create music on an STM32F407 Discovery board, but he also wanted it to play on his FM radio. He did it, and his technique was surprising and straightforward. The key is that the ARM processor on the Discovery board uses an 8MHz crystal, but internally (using a phase-locked loop, or PLL) it produces a 100MHz system clock. This happens to be right in the middle of the FM radio band. Bringing that signal back out of the chip on a spare output pin gives you the FM carrier.

That’s simple, but a carrier all by itself isn’t sufficient. You need to FM modulate the carrier. [Vinod.S] did the music playback in the usual way and fed the analog signal via a resistor to the crystal. With some experimentation, he found a value that would pull the crystal frequency enough that when multiplied up to 100MHz, it would produce the desired amount of FM deviation. You can see a video of the whole thing in action, below.

Continue reading “ARM Board Transmits FM”