AES-CMAC on an ATtiny85

[Blancmange] built a custom door chime using an ATtiny85. Unlike most commercial products out there, this one actually tries to be secure, using AES-CMAC for message signing.

The hardware is pretty simple, and a protoboard layout is shown in the image above. It uses the ATtiny85 for control, with an LM380N audio amplifier, and a low cost 315 MHz receiver.

The more impressive part of the build is the firmware. Using AVR assembly, [Blancmange] managed to fit everything into the 8 Kbytes of flash on the ATtiny85. This includes an implementation of AES-CMAC, an AES cypher based message authentication code. The transmitting device signs the request with a key shared between both devices, and the receiver verifies that the message is from a trusted transmitter.

Fortunately, the assembly code is very well commented. If you’ve ever wanted to take a look into some complex ASM assembly, this is a great project to check out. The source code has been released into the public domain, so the rest of us can implement crypto on this cheap microcontroller with much less effort.

Wi-Fi Connected E-Ink Display

People implementing the Scrum Methodology for project management often record all their tasks on a big whiteboard. However, it’s useful to have up-to-date graphs to ensure projects are on track. [Sprite_TM] augmented the whiteboard by building an Wi-Fi connected E-Ink Display.

Interfacing with E-Ink displays isn’t easy. A variety of voltages are needed, and the connectors used are tiny. We’ve seen some nice solutions, such as the RePaper display. [Sprite_TM] chose the ED060SC4 display which is available from eBay and has been throughly reverse engineered. A custom breakout board was built up to connect to the tiny FPC pins and generate the required voltages using the LT1945 DC/DC converter.

The next step was adding on Wi-Fi. The ESP12 module was an obvious solution. This module provides Wi-Fi connectivity and a processor capable of controlling the display. The display is powered by a tablet battery, which makes it totally wireless and operates for about 200 days.

A simple laser cut enclosure holds all the bits together, and contains magnets that stick the screen to the whiteboard. On the software side, images are streamed to the ESP12’s processor and loaded directly to the screen, since the ESP12 doesn’t have enough RAM to store an entire screen worth of data. All the firmware can had by cloning a Git repository.

A Router Table with Height Control

The wood router is a versatile power tool which can be picked up at a low price. Nicer router setups are mounted underneath a table, with the cutting head poking through. This makes it easier and safer to work with the tool.

[Paul] combined his interest in electronics and woodworking by making a router table with automated controls [translation]. The neat part of this build is the automated height control, which ensures accurate cutting depth.

The router is mounted to a threaded rod, which allows it to be moved up and down by a motor. A low cost L298 motor driver provides the power to the motor, which is controlled by an Arduino Uno. A VCNL4020 based sensor board is used to measure distance and accurately set the router height. This tiny proximity sensor looks like a nifty chip, providing distance measurements up to 200 mm and an ambient light sensor in one package.

The routing table has an LCD display and buttons, allowing the user to dial in their desired height. The entire thing was built using recycled bits and well under $100 in new parts.

Automated Mushroom Cultivation

Lots of people have developed their own systems for automating the growth of plants. Keeping the environment under tight control leads to better yield, and computers are better than humans at remembering to water the plants regularly. [Kyle] is into growing mushrooms (the legal, edible type) and automating things. This led to his system for automated mushroom cultivation.

We’ve seen an automated system for growing fungi before, but [Kyle]’s project is a bit bigger. He’s built a sealed room for growing mushrooms. The room is sealed with a plastic sheet, using magnetic strips to create a doorway. Within the room, a heater, humidifier, and circulation fan control the environment. Temperature, humidity, and dew point in the chamber are constantly monitored and adjusted as necessary.

The entire system is controlled with a Raspberry Pi and custom software, which is available on Github. GNUPlot is used to generate graphs, which are accessible through a web server. The web interface also allows the parameters of the chamber to be tweaked remotely. Based on the settings, the Raspberry Pi controls a set of relays to keep the chamber in an ideal state.

Build Your Own Gear VR

With Samsung’s new Gear VR announced, developers and VR enthusiasts are awaiting the release of the smartphone connected VR headset. A few people couldn’t wait to get their hands on the platform, so they created, OpenGear, a Gear VR compatible headset.

The OpenGear starts off with a Samsung Galaxy Note 4, which is the target platform for the Gear VR headset. A cardboard enclosure, similar to the Google Cardboard headset, holds the lenses and straps the phone to your face.

The only missing part is the motion tracking electronics. Fortunately, ST’s STM32F3 Discovery development board has everything needed: a microcontroller with USB device support, a L3GD20 3 axis gyro, and a LSM303DLHC accelerometer/magnetometer. These components together provide a USB inertial measurement unit for tracking your head.

With the Discovery board strapped to the cardboard headset, an open-source firmware is flashed. This emulates the messages sent by a legitimate Oculus Rift motion tracker. The Galaxy Note 4 sees the device as a VR headset, and lets you run VR apps.

If you’re interested, the OpenGear team is offering a development kit. This is a great way for developers to get a head start on their apps before the Gear VR is actually released. The main downside is how you’ll look with this thing affixed to your face. There’s a head-to-head against the real Gear VR after the break.

[via Road To VR]

Continue reading “Build Your Own Gear VR”

A Low Cost Bench Supply

Everyone needs a power supply on their bench, but a standard lab supply isn’t cheap. [ludzinc]’s PSU Console is a cheap alternative, which provides the basic features you’d expect in a lab supply.

The basis of this PSU is a DC/DC module based on the LM2596 step down switching regulator. These modules cost less than a single LM2596, but have all the required components for a buck DC/DC converter. Sure, they might not last forever, and they’re not the most efficient regulators, but the price is right.

The front panel has four displays for voltage and current, which are just low cost voltmeter displays. The potentiometers are used for adjusting the voltage of the DC/DC, and controlling the current limiter. This limiter monitors current through a shunt, and shuts off a MOSFET when the limit is exceeded.

The final product looks like something that’s ready for daily use, and was much cheaper than most supplies with these features. These low cost DC/DC modules are worth a look if you’re considering a similar build.

Using librtlsdr Over TCP

[Texane] built a low-cost software defined radio rig which could be remotely controlled. This allows the hardware to be placed outside for better reception, while being controlled from any PC that can connect over TCP. To do this, he created a fork of librtlsdr, the library used to turn cheap TV tuners into software defined radios.

The official release of rtl-sdr includes the rtl_tcp utility, which is meant for this purpose. Unfortunately, not all of the SDR tools for Linux support this. By modifying the library itself, remote devices interact with software in the same way as local devices. This means that any software that supports librtlsdr should work.

The outdoor rig contains a BeagleBone Black and the SDR hardware, sealed up in a weather-resistant box. This connects to [Texane]’s home network over ethernet, and allows SDR utilities to be run elsewhere.

This feature is quite experimental, but the source for the fork is provided for those who want to build the code and try it out.