THP Entry: OpenMV

OpenMV

The future is a scary place, full of robots, drones, and smart appliances with cameras and vision systems that will follow your dog, your child, or your face around, dutifully logging everything they see, reporting back to servers, and compiling huge datasets that can be sold to marketing companies. We’re not too keen on this view of the future, but the tech behind it – cheap cameras in everything – is very cool. [Ibrahim] is doing his part to bring about the age of cheap cameras that are easy to interface with his entry to The Hackaday Prize, the OpenMV.

The idea of a digital camera that is easy to interface with microcontrollers and single board computers isn’t new. There are serial JPEG cameras and the CMUcam5 Pixy, but they cost somewhere around $70. It’s not something you would design a product around. [Ibrahim]’s OpenMV costs about $15, and offers some interesting features like on-board image processing, a huge amount of RAM, and even a wireless expansion thanks to TI’s CC3000 WiFi module.

Currently, the OpenMV is capable of doing face detection at 25fps, color detection at better than 30fps, all thanks to the STM32F4 ARM micro running at 180MHz. There’s support for up to 64MB of RAM on board, with IO available through serial, SPI, I2C, USB 2.0, and WiFi.

It’s an interesting project on its own, but the really cool thing about this build is the price: if [Ibrahim] can actually produce these things for $15 a pop, he has an actual product on his hands, one that could easily be stuffed inside a drone or refrigerator for whatever cool – or nefarious – purposes you can imagine.


SpaceWrencherThe project featured in this post is an entry in The Hackaday Prize. Build something awesome and win a trip to space or hundreds of other prizes.

green monochrome CRT vector display

Vector Graphic Flappy Bird Harder Than It Should Be

The dark room at Maker Faire was loud,  after all it’s where Arc Attack was set up plus several other displays that had music. But if you braved the audio, and managed not to experience a seizure or migraine from all the blinking you were greeted with these sharply glowing vector displays on exhibit at the TubeTime booth. We did the best we could with the camera work, but the sharpness of the lines, and contrast of the phosphorescent images against the black screen still seems to pop more if viewed in person.

This isn’t [Eric’s] first attempt at driving high-voltage tube displays. We previously covered his dekatron kitchen timer. But we’d say he certainly stepped things up several notches in the years between then and now. He blogged about Asteroids, which is running on the same hardware as the Flappy Bird demo from our video above. An STM32F4 Discovery board is running a 6502 emulator to push the game to [Eric’s] CRT vector driver hardware.

Just before we were done at the booth, [Eric] turned to us with a twinkle in his eye. He confessed his delight in purposely leaving out any button debounce from the Flappy Bird demo. As if it wasn’t hard enough it tends to glitch after passing just a few of the pipe gates. Muhuhahaha!

Frankenstein, The Open Source Engine Control Unit

The Engine Control Unit is a vital part of every car made in the last 40 years or so, but unlike just about every other electronic device, open source solutions just don’t exist. [Andrey] is trying to change that with rusEfi, a project that hopes to bring together hardware, software, and engines in one easy to use package. He’s even designed Frankenstein, a full ECU ‘shield’ for the STM32F4 Discovery dev board.

This isn’t the first time we’ve seen [Andrey]’s adventures in building an ECU. An earlier board was also powered by the STM32F4 Discovery, and he actually drove his 96 Ford Aspire around using this homebrew ECU. It was only firing on two cylinders, but that was only a loose solder connection.

Of course building an ECU from scratch is worthless without the proper firmware that balances and engine’s fuel economy and performance. This sort of testing must be done empirically and [Andrey] has a Kickstarter going for the development of this firmware and some dyno time. No rewards, but it’s worth chipping in a buck or two. I did.

Videos below.

Continue reading “Frankenstein, The Open Source Engine Control Unit”

Homebrew Phase Laser Rangefinder

Just when you thought ARM micros couldn’t get any cooler, another project comes along to blow you away. [Ilia] created a phase laser rangefinder (.ru, Google translatitron) using nothing but a laser diode, a pair of magnifying glasses, a few components and an STM32F4 Discovery dev board.

The theory behind this build is using a laser’s phase to determine how far away an object is. By modulating the laser diode’s output at a few hundred Mhz, the reflection from the laser can be compared, giving a fairly reasonable estimate of how far away the target is. This method has a few drawbacks; once the reflection is more than 360 degrees out of phase, the distance ‘loops around’ to being right in front of the detector.

The laser diode used does not have any modulation, of course, but by using an STM32F4 ARM chip, [Ilia]was able to modulate the amplitude of the laser with the help of a driver board hacked out of a 74HC04 chip and a few resistors. Not ideal, but it works.

The receiver for the unit uses a photodiode feeding into the same microcontroller. With an impressive amount of DMA and PLL wizardry (the STM32F4 is really cool, you know), the phase of both the transmission and reflection can be compared, giving a distance measurement.

It’s all an impressive amount of work with a hacked together set of optics, a cheap dev board, and a few components just lying around. For any sort of application in a robot or sensor suite this project would fall apart. As a demonstration of the theory of phase laser rangefinding, though, its top notch.

You can check out a video of [Ilia]’s rangefinder below. Be sure to full screen it and check out the distance measurement on the LCD. It’s pretty impressive.

Thanks [Володимир] for the link.

Continue reading “Homebrew Phase Laser Rangefinder”

STM32 Nucleo, The Mbed-Enabled, Arduino-Compatable Board

The STM32 line of microcontrollers – usually seen in the form of an ST Discovery dev board – are amazingly powerful and very popular micros seen in projects with some very hefty processing and memory requirements. Now, ST has released a great way to try out the STM32 line with the Nucleo board.

There are two really great features about these new Nucleo boards. First, they’re mbed compatable, making them a great way to get started in the ARM development world. Secondly, they have Arduino pin headers right on the board, giving you access to all your shields right out of the box.

Right now, there are four varieties of the Nucleo board based on the STM32F030, -F103, -F152, and -F401 microcontrollers. The STM32F401 is the high-powered variant, An ARM Cortex-M4 microcontroller running at 84 MHz, 512kB of Flash, and enough I/O for just about any project.

If you’d like to get your hands on one of the STM32 Nucleo boards, you can order a voucher to pick one up at Embedded World in Germany next week. Otherwise, you’re stuck ordering from Mouser or Farnell. Bonus: the high-end F401-based board is only $10 USD.

OpenMV: The Camera For Your Next Project

Last month we saw [Ibrahim] tackle the lack of cheap, high speed, high resolution serial cameras with full force. He designed a serial camera based on the STM32F4 microcontroller that’s the perfect solution to anyone wanting to add visual processing or machine vision to a project. It’s cheap, too: instead of the $100 or so you’d spend on a high-end serial camera, [Ibrahim]’s version only has about $15 in parts.

Now he’s back at it again, with 25 FPS face detection, 30 FPS color detection, a new board with a micro SD socket, and support for USB OTG full speed. [Ibrahim] has been hard at work deep in the bowels of the STM32F4 micro, playing around with the core coupled memory. This allows for some very fast image processing, combined with the micro running at 168 MHz makes for very fast face and color detection.

As for a few benchmarks for this camera, the maximum resolution is 1280×1024, and at 88×72 resolution this little board can output at 60 FPS. Of course everything is limited by the speed of the serial connection, but there’s a lot of potential in this small serial camera.

No word on how much this board will cost, but [Ibrahim] may be putting a few boards up on Tindie shortly. Here’s to hoping he’ll send us an email telling us when his store is open.

Breadboard Friendly ARM Board Based On STM32F4

breadboard-friendly-stm32-dev-board

Umm yeah… this is more like it. The STM32F4Stamp is a project which [Frank Zhao] put together to make his ARM prototyping process more like is was back when everything came in a DIP format. As you can see, it’s just narrow enough to leave one row open on the breadboard for jumper wires.

Don’t get us wrong, we do really like STM’s own Discovery Boards for the hardware they deliver at a very low price. But the dual-row pin headers on the larger versions (all except the F0 variant) make it tricky to connect your peripherals. This is pushed to the point that a large percentage of hacks we’ve seen with the Discovery boards are actually just to make connecting external hardware easier.

You may be thinking that there’s a lot missing from this board, but we disagree. Obviously there’s still a USB port which can be used to power the board via a 3.3V regulator. But since the STM32 chips have a built-in bootloader the USB connection can also be used to flash firmware to the processor. Nice! It’s open hardware if you want roll your own. For your convenience we’ve embedded the schematic after the break, along with [Frank’s] demo video.

Continue reading “Breadboard Friendly ARM Board Based On STM32F4”