Federico Musto of Arduino SRL Shows Off New ARM-based Arduino Boards

I caught up with Federico Musto, President and CEO of Arduino SRL, at the 2016 Bay Area Maker Faire. Their company is showing off several new boards being prepared for release as early as next month. In partnership with Nordic Semi and ST Microelectronics they have put together some very powerful offerings which we discuss in the video below.

arduino-primo-core-alicepad-star-otto-lcdThe new boards are called Arduino Primo, Arduino Core, Arduino Alicepad, and Arduino Otto.

The first up is the Primo, a board built to adhere to the UNO form factor. This one is packing an interesting punch. The main micro is not an Atmel chip, but a Nordic nRF52832 ARM Cortex-M4F chip. Besides being a significantly fast CPU with floating-point support, the Nordic IC also has built-in Bluetooth LE and NFC capabilities, and the board has a PCB antenna built in.

On an UNO this is where the silicon would end. But on the Primo you get two more controllers: an ESP8266 and an STM32F103. The former is obvious, it brings WiFi to the party (including over-the-air programming). The STM32 chip is there to provide peripheral control and debugging. Debugging is an interesting development and is hard to come by in the Arduino-sphere. This will use the OpenOCD standard, with platformio.org as the recommended GUI.

Continue reading “Federico Musto of Arduino SRL Shows Off New ARM-based Arduino Boards”

Hacklet 103 – Piezo Projects

The piezoelectric effect is simple in its rules: Apply mechanical stress to a material and you generate an electric charge. The inverse is also true: Apply a voltage to a material, and it changes shape. This doesn’t work for everything, though. Only certain materials like crystals, some ceramics, and bone have piezoelectric properties. The piezoelectric effect is used quite a bit in electronics, so it’s no surprise that plenty of hacker projects explore this physical phenomena. This week’s Hacklet is all about some of the best projects utilizing the piezoelectric effect on Hackaday.io!

strumWe start with [miro2424] and StrumPad. Strumpad lets you play a MIDI instrument by strumming, just like a guitar. A music keyboard acts as the guitar fretboard here – keys can be pressed to choose notes, but no sound is generated. When the strumpad is strummed, six copper strips act as capacitive sensors. Touching the strips determines which notes will be played. A piezo disc hiding below the circuit board detects how hard the notes have been strummed or tapped. The ATmega328 running the strumpad then passes the velocity and note-on MIDI messages on to a synth.

stmNext up is [Dan Berard] with Scanning Tunneling Microscope. Inspired by a project from [John Alexander], [Dan] created his own Scanning Tunneling Microscope (STM). The key to an instrument like this is precise movement. [Dan] achieves that by using a normal piezo disk. These disks are used as speakers and buzzers in everything from smoke detectors to greeting cards, so they’re common and cheap. [Dan] cut his piezo disk electrode into quadrants. Carefully controlling the voltage applied to the quadrants allows [Dan] to move his STM tip in X, Y, and Z. Incredibly, this microscope is able to create images at the atomic scale.

touchboard[Thatcher Chamberlin] is next with Low-Cost Touchscreen Anywhere. [Thatcher] used a trio of Piezo disks to make any flat surface touch sensitive. The three sensors are placed at 3 corners of a rectangle. Touches with the rectangle will create vibrations in the surface that are transmitted to the piezo sensors. By measuring the vibration time of arrival, it should be possible to determine where the surface was touched. This kind of measurement requires a decent processor, so [Thatcher] is using the ARM Cortex-M0 in NXP’s LPC1114FN28. Initial tests were promising, but we haven’t heard much from [Thatcher] on this project. If you see him online, tell him to hurry up! We’re hoping to turn our parking lot into a giant electronic chess board!

contFinally, we have [Jose Ignacio Romero] with Low Power Continuity Tester. [Jose] used a Piezo element in a slightly more mundane way – as a buzzer. Who needs a whole multimeter when you’re just trying to check continuity on a few circuits? This continuity tester uses a PIC12LF1571 processor to find open and short circuits. The 5 10 bit ADC in the PIC is plenty of resolution for this sort of tester. In fact, [Jose] even included a diode test, which emits a short beep if the leads are placed across a working diode. The PIC processor uses so little power that this tester should run for around 800 hours on a CR2032 watch battery.


If you want to see more piezo projects check out our brand new piezo projects list! If I missed your project, don’t get buzzed! Drop me a message on Hackaday.io, and I’ll add it to the list. That’s it for this week’s Hacklet. As always, see you next week. Same hack time, same hack channel, bringing you the best of Hackaday.io!

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”

Using a Capacitor as an Actuator?!

[Dan Berard] has been using capacitors as actuators.

We’ve featured Dan’s awesome self built STM (scanning tunneling microscope) before. These microscopes work by moving a tip with nanometer precision across a surface. While the images he acquired are great, one disadvantage of the actuator he used is its poor rigidity. This limits the system to faster scan speeds.

In his search for a better actuator [Dan] thought he’d try using MLCC capacitors! While not known for their electromechanical properties, you may have encountered capacitors that appear to “sing” (PDF), emitting an audible tone. This is due to the piezoelectric properties of BaTiO3. Effectively the capacitor acts as a weak piezo electric speaker.

Using a 100V drive voltage [Dan] was able to get 300nm of deflection using the capacitor. To extend the range of the actuator he decided to ‘pole the ceramic dielectric’ this involved heating the capacitor above its Curie temperature of 120C. For this he used a transistor to heat the part as an ad-hoc hotplate. This increased the range of the actuator to 800nm, ideal for many STM (and other SPM) systems.

[Dan] is still weighing up his options for his next build, but MLCC capacitors are certainly a cheap and interesting choice.

800 x 600 VGA With the STM32F4

Generating VGA is a perennial favorite on the Hackaday tips line, and it’s not hard to see why. Low-res video games, of course, but sending all those pixels out to a screen is actually a pretty challenging feat of coding. The best most project have attained is the original VGA standard, 640×480. Now that we have fast ARMs sitting around, we can bump that up to 800×600, like [Karl] did with an STM32F4 Discovery board.

The problem with generating VGA on a microcontroller is the pixel frequency – the speed at which pixels are shoved out of the microcontroller and onto the screen. For an 800×600 display, that’s 36 MHz; faster than what the 8-bit micros can do, but a piece of cake for the STM32F4 [Karl] is using.

[Karl] started his build by looking at the VGA project Artekit put together. It too uses an STM32, but a 36-pin F103 part. Still, it was fast enough to generate a line-doubled 800×600 display. [Karl] took this code and ported it over to the F4 part on the Discovery board that has enough space for a full 800×600 frame buffer.

With all that RAM on board the F4 part, [Karl] was able to expand the frame buffer and create a relatively high-resolution display with DMA and about a dozen lines of code. It looks great, and now we just need a proper application for high-resolution VGA displays. Retrocomputing? A high-resolution terminal emulator? Who knows, but it’s a great use for the STM32.

If circles and some text aren’t your thing, Artekit also has Space Invaders running on the 36-pin STM32.

.NET for the STM32 F4 Discovery board

Here’s a technique that will let you use the .NET framework on an STM32 Discovery board. [Singular Engineer] was happy to learn that the .NET Micro Framework had been ported for STM32 chips. It’s doesn’t look like the port has hit a stable version yet, but these instructions will be enough to get you up and running. This lets you use managed code in the C# language to program an embedded device: the STM32 F4 Discovery board.

After flashing a new bootloader to the board a driver needs to be added for Windows to communicate with it. Above you can see that the board will enumerate as ‘STM32 .Net Test’. Once the driver is installed the rest of the firmware can be loaded on the board using a GUI supplied with the NETMF for STM32 package. That takes care of prepping the hardware, the rest is a painless process of configuring Visual Studio to use the board as a target. The ‘Hello World’ application then uses C# to blink an LED.

STM32 demo code carries extra (hidden?) copyrights

Recently I started a repository that houses a template which may be used to compile STM32F0 projects with a GCC toolchain. There are two code packages from STM that I used when putting this together, the firmware for the Discovery board itself, and the Standard Peripheral Library for the chip family. I read the license agreements in the root of both packages and I think they’re quite fair. Basically the agreement is you can use them for any purposes as long as the code is only being used on STM hardware. Fair enough.

You can image I was quite upset so see a comment from a reader stating that I have a copyright violation with one of the files in the repo. It seems the linker script that is given as an example for Atollic’s TrueSTUDIO has it’s own extremely strict copyright:

** (c)Copyright Atollic AB.
** You may use this file as-is or modify it according to the needs of your
** project. Distribution of this file (unmodified or modified) is not
** permitted. Atollic AB permit registered Atollic TrueSTUDIO(R) users the
** rights to distribute the assembled, compiled & linked contents of this
** file as part of an application binary file, provided that it is built
** using the Atollic TrueSTUDIO(R) toolchain.

First off, I’m in violation just for posting the file in a repository. But read a bit deeper. Any code that is compiled with this using a GCC toolchain also breaks the copyright unless it’s Atollic’s toolchain.

My beef here is that STM is distributing this. Why? Why put something so restrictive into a software library with such an otherwise reasonable license? Surely there are many engineers at STM capable of writing a linker script that they could release under their own license which would work with TrueSTUDIO. And, it would have the added benefit of allowing other GCC-based toolchains a convenient (and legal) method of linking code.

So I’ve completely removed the file from the repository. If you were one of the ten people watching it on github, this had the unintended consequence of dumping your watch request. In the mean time I’m trying to learn how to write my own linker. This guide regarding Cortex-M3 linkers has been a great help. If you have the skills to contribute a working linker script, please issue a pull request or raise an issue over at github.