CCCamp 2015 rad1o Badge

Conference badges are getting more complex each year. DEFCON, LayerONE, Shmoocon, The Next Hope, Open Hardware Summit, The EMF, SAINTCON, SXSW Create, The Last Hope, TROOPERS11, ZaCon V and of course the CCC, have all featured amazing badges over the years. This years CCCamp 2015 rad1o badge is taking things several notches higher. The event will run from 13th through 17th August, 2015.

The rad1o Badge contains a full-featured SDR (software defined radio) transceiver, operating in a frequency range of about 50 MHz – 4000 MHz, and is software compatible to the HackRF One open source SDR platform. The badge uses a Wimax transceiver which sends I/Q (in-phase/quardrature-phase) samples in the range of 2.3 to 2.7 GHz to an ARM Cortex M4 CPU. The CPU can process the data standalone for various applications such as FM radio, spectrogram display, RF controlled power outlets, etc., or pass the samples to a computer using USB 2.0 where further signal processing can take part, e.g. using GnuRadio. The frequency range can be extended by inserting a mixer in the RF path. Its got an on-board antenna tuned for 2.5GHz, or an SMA connector can be soldered to attach an external antenna. There’s a Nokia 6100 130×130 pixel LCD and a joystick, which also featured in the earlier CCCamp 2011 badge known as the r0ket.

A 3.5mm TRRS audio connector allows hooking up a headphone and speaker easily. The LiPo battery can be charged via one of the USB ports, while the other USB port can be used for software updates and data I/O to SDR Software like GnuRadio. Check out the project details from their Github repository and more from the detailed wiki which has information on software and hardware. There’s also a Twitter account if you’d like to follow the projects progress.

This years Open Hardware Summit also promises an awesome hackable badge. We’ll probably feature it before the OHS2015 conference in September.

Thanks to [Andz] for tipping us off about this awesome Badge.

Micro:bit — BBC Gets A Million Kids Into Embedded Dev

In the Early 1980s, the BBC launched a project to teach computer literacy to a generation of British schoolchildren. This project resulted in the BBC Micro, a very capable home computer that showed a generation exactly what a computer could do. These children then went home, turned on their ZX Spectrums, and became a generation of software engineers. Still, the BBC Micro is remembered fondly.

The computer revolution is long over, but today we suffer a sea change of embedded processors and microcontrollers. With Arduinos and Raspberry Pis, the BBC has decided it’s time to put the power of an ARM microcontroller into the hands of a million 11- and 12-year olds. The result is the Micro:bit. It’s a small microcontroller board with an ARM processor, an IMU, buttons, Bluetooth and a 5×5 LED array – exactly what you need if you’re teaching a million kids how to blink an LED.

Although the BBC has finalized the design for the Micro:bit, there are no specs at all. However, a few educated guesses can be made. The USB controller is provided by Freescale, who also provide the digital compass and magnetometer. Programming is done through a web-based, Arduino-like IDE with what appears to be a decent Micro:bit specific library. The board is also mbed compatible. Bluetooth, and apparently the ARM Cortex M0 core, is provided by a Nordic nRF51822. There are only three alligator clip-compatible I/Os, and its doubtful any student will be building anything that would be too complex for an entry level ARM. It’s also 3V logic; finally, the tyranny of 5V has fallen.

The Micro:bit is best seen as a tool that enables the relatively recent addition of a computer science curriculum in UK schools. There is now a requirement for seven-year-olds to understand algorithms and create simple programs. Previously computer education in the UK has consisted of PowerPoint. Now, secondary school students will be learning Boolean logic.

While the Micro:bit is utterly useless as a tool for doing real work, education is not real work. For blinking a few LEDs, having a device react to movement, playing with Bluetooth, and other lesser evils of electronics, the Micro:bit is great. Not everyone will become the digital technologists this initiative is trying to create, but for those who have an inclination towards semicolons and electrons, this is a great introduction to technology.

New Part Day: STM32F7, An ARM Cortex-M7

It was announced last year, but ST is finally rolling out the STM32F7, the first microcontroller in production that is based on the ARM Cortex-M7.

The previous go-to part from the ST catalog was the STM32F4, an extremely powerful chip based on the ARM Cortex M4 processor. This chip was incredibly powerful in its time, and is still a respectable choice for any application that needs a lot of horsepower, but not a complete Linux system. We’ve seen the ~F4 chip pump out 800×600 VGA, drive a thermal imaging camera, and put OpenCV inside a webcam. Now there’s a new, even more powerful part on the market, and the mind reels thinking what might be possible.

Right now there a few STM32F7 parts out, both with speeds up to 216MHz, Flash between 512k and 1MB, and 320kB of RAM. Peripherals include Ethernet, USB OTG, SPDIF support, and I²S. The most advanced chip in the line includes a TFT LCD controller, and a crypto processor on-chip. All of the chips in the STM32F7 line are pin compatible with the STM32F4 line, with BGA and QFP packages available.

As with the introduction of all of ST’s microcontrollers, they’re rolling out a new Discovery board with this launch. It features Ethernet, a bunch of audio peripherals, USB OTG, apparently an Arduino-style pin layout, and a 4.3 inch, 480×272 pixel LCD with capacitive touch. When this is available through the normal distributors, it will sell for around $50. The chips themselves are already available from some of the usual distributors, for $17 to $20 in quantity one. That’s a chunk of change for a microcontroller, but the possibilities for what this can do are really only limited by an engineer’s imagination.

Teensy Adds S/PDIF to Library

With Arduino library support on an ARM Cortex M4 processor, it’s no surprise that we’re fans of the Teensy 3.1. And lately, [Paul Stoffregen] has been building out the Audio Library for this platform, making it even more appealing to the synth / audio geeks among us. And now, with just the addition of a highfalutin LED and some software, the Teensy can output digital audio over optical fiber.

S/PDIF, and more specifically optical TOSLINK, uses LED light sent down an optical fiber to encode audio data. The advantage of this over any voltage-level signals (like with regular wires) is that the source and destination devices aren’t electrically connected at all, which gets rid of the dreaded ground loop hum and any RF interference.

An S/PDIF audio data stream is a bit complex, but if you’re interested [Micah Scott] has a fantastic dissection of it up on her blog. Of course, you don’t have to know anything about any of that to simply use S/PDIF with the Teensy Audio Library.

We love open source hardware and software because of the collaborations that make ultra-rapid development of niche stuff like this possible. You can follow along with the development of the Teensy’s S/PDIF capabilities on the PJRC forum. Contributor [Frank B] modestly claims that “everything was already on the internet”, but that doesn’t make it any less cool that they got from zero to working library in a few weeks. (And note the clever use of a precomputed lookup table for speed.)

LED_TOSLINK2On the hardware side, [Paul] has posted up his adapter board for a cheap, but very professional looking, optical TOSLINK sender. But if you’re feeling ghetto, you can simply use a red LED pointed just right into the optical cable.

The end result? Lossless transmission of CD-quality audio from an Arduino-esque microcontroller, sent on a beam of light, for less than the cost of a latté.

A Very, Very Small IMU

The reason we’re playing with quadcopters, flight controllers, motion controlled toys, and hundreds of other doodads is the MEMS revolution. A lot is possible with tiny accelerometers and gyroscopes, and this is looking like the smallest IMU yet. It’s an 18mm diameter IMU, with RF networking, C/C++ libraries, and a 48MHz ARM microcontroller – perfect for the smallest, most capable quadcopter we’ve ever seen.

The build started off as an extension of the IMUduino, an extremely small rectangular board that’s based on the ATMega32u4. While the IMUduino would be great for tracking position and orientation over Bluetooth, it’s still 4cm small. The Femtoduino cuts this down to an 18mm circle, just about the right size to stuff in a model rocket or plane.

Right now, femtoIO is running a very reasonable Kickstarter for the beta editions of these boards with a $500 goal. The boards themselves are a little pricey, but that’s what you get with 9-DOF IMUs and altimeter/temperature sensors.

Extreme Vectrex Multicart Plays Bad Apple

[Sprite_TM] had a Vectrex console that he wanted to play with. Alas, his makeshift multicart had fallen into disrepair. Rolling up his hacking sleeves, he set about making a new one, a better one. His PCB design included his microcontroller of choice: the ST STM32F411, a 32-bit 100Mhz ARM Cortex M4, along with a 16MB SPI flash chip. [Sprite_TM] wanted to make programming games onto the multicart simple. Using the libopencm3 firmware library for the STM in conjunction with Elm-Chans FatFS, the multicart could be plugged into a computer’s USB port and have any game data dragged and dropped onto it like a USB stick. The PCB then connects directly into the Vectrex’s cartridge port. The first cartridge file is a basic menu that lists all of the game ROMs stored in the flash memory. When the user selects the game the STM loads that ROM file which the menu software then boots.

After loading his entire Vectrex ROM library onto the multicart, [Sprite_TM] realized he had far too much space left over – so he decided to add some extras. His first choice was Bad Apple (YouTube link), a music video made by fans of the Touhou Project game series. The video features black and white silhouettes of the many game characters in a shadow art style. Since its debut, Bad Apple has been ported from everything from the Sega Genesis (YouTube link) to laser scanners (YouTube link). It was time for the Vectrex to join the list.

After ripping the video from YouTube, [Sprite_TM] used MPlayer to save each frame as a PNG along with a wave file of the music. Next, he ran Potrace on the PNG files to get vector versions. Using a custom PHP script, the resulting JSON file was post-processed into relative vectors the Vectrex uses. Digital audio was possible by having the Vectrex’s 8-bit DA-converter perform double duty both for the video circuit and the audio. However, the volume must be turned to the max in order to hear the music. Incidentally, the DAC can only output audio in this scenario when vectors are not being drawn, so the event timing needed to be adjusted. The video and audio data was re-parsed after a modified version of VecX was used to get the timing events synchronized before transferring Bad Apple onto the multicart.

You can see the Vectrex version of Bad Apple after the break, along with a 3D-engine based on Doom levels. The engine is written in C and makes use of the Z-buffer, creating the effect of solid 3D-objects in front of each other.  There are no weapons or enemies to dispatch here, but the effect is impressive nonetheless.

Continue reading “Extreme Vectrex Multicart Plays Bad Apple”

Energia Multitasking uses RTOS on MSP432

We keep wondering where the Arduino world is headed with the hardware getting more and more powerful. If the IDE doesn’t keep up what’s the point? Now we have at least one answer to that problem. Energia is the Arduino-like-framework for Texas Instruments based boards. They just came out with a multitasking system built into Energia targeted at the ARM Cortex-M4F based MSP432 Launchpad which we covered a few weeks back.

The announcement post gives a couple of examples of uses for multitasking. The simplest is blinking LEDs at different rates. If you wanted to do this closer to the metal you’re talking about multiple timers, or multiple compares on a single timer, perhaps a interrupt-driven-system-tick that has a high enough resolution for a wide range of your blinking needs. But these are not always easy to set up unless you are intimately comfortable with this particular architecture. The Energia multitasking will handle this for you. It’s upon the TI Real Time Operating System (TI-RTOS) but wraped in the familiar IDE.

The UI divorces you from thinking about the hardware at all. You simply launch a new tab and start coding as if you’re using a completely separate piece of hardware. The announcement post linked above mentions that these Sketches are running “in parallel”. Well… we know it’s not a multi-core system like the Propeller but we’ll let it slide. It is certainly easier than building your own scheduler for this type of hardware.

[Thanks MycoWx]