[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.
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.
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.
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.
Last week we announced a Germany based design contest only accepting applicants from Europe, the Middle East, and Asia. Unfortunately, this left out one of the larger segments of our readers. After doing some scrounging around (and a helpful tip from [Flash Gordon]), we managed to find a similar contest run by STMicroelectronics, the makers of the Discovery board. This contest sounds familiar, with free Discovery Board for all approved applicants, and prizes for the most interesting and creative projects.
Right now the official rules page seems to be missing, so you technically legally should probably wait to enter, but we can’t stop you. It looks like the official rules page is located here. Thanks to [Andee] for pointing that out. Also, it looks like if you live in Puerto Rico or Quebec, you are also out of this contest as well.
If you are from the EMEA area and missed the last contest, be sure to go back and check it out for your chance to win! Also, we love covering contests (especially ones that give out free kits to all contestants), are there any readers out there that know of a developer other than STM that is offering this kind of deal? We would love to hear from you!
STMicroelectronics has another inexpensive development board out; the STM32 Discovery is an ARM Cortex-M3 prototyping platform. Coming in under $10 puts it right along the lines of their 8-bit offering, but this one is 32-bits with 5 KB of RAM and 128 KB of programming memory. It runs a bootloader and has on-board USB for easy programming. They’ve even got a trio of crippled IDE’s to get you started.
Unfortunately this is following a growing trend with the exclusion of Linux support. [Gordon] wrote in to let us know that there is hope in a couple of forms (but not using the USB functionality). The first is a serial programmer using the RS232 that [Paul] came up with (there’s a lot more on his blog so spend some time there). But you can also use the serial debug protocol to program the board.
Either way you’ll still need a method of compiling the code. We’ve had great success rolling our own GNU ARM cross compiler using this guide. Or you can grab a pre-built package by downloading Sourcery G++ lite.
ChemHacker has posted schematics and code for a scanning tunneling microscope. [Sacha De’Angeli] finalized the proof-of-concept design for version 0.1 and released all of the information under the Gnu general public license version 3. You’ll need to build a sensor from a combination of a needle, a piezo, and a ring of magnets. There’s an analog circuit that gathers data from the probe, which is then formatted by and Arduino and sent to your computer.
We haven’t really dabbled in this type of equipment, though we did cover an STM earlier in the year. Take a look at the video after the break and then help jump-start are imagination by sharing your plans for this equipment in the comments.
Continue reading “Scanning tunneling microscope under GPL3”