µMute – A microwave oven silencer

I’m tired of the buzzer in the microwave oven that is beeping constant up to a minute.

So I opened it up like any normal hacker would, found the buzzer and snapped it off.

Sure, the buzzer was irritating, but so would be not to hear when my food is cooked. So i quickly had a look at the PCB and find a very interesting pinout.

So I soldered on some pins and started to measure the voltage level.
VCC of 5V looked promising for a microcontroller.

I had a look at the buzzer signal, it was a 2kHz signal with an amplitude of 5VDC.

I had a rough idea in mind about having a small tune play instead of the 2kHz tone, and it should only play once.
So I shuffled some code together to code to play a small tune from the flash of an Arduino Nano. The flash could only hold about 18k of samples and was played at 8kHz.
(inspired by http://playground.arduino.cc/Code/PCMAudio)
In lack of a better choice i choose Windows XP’s startup sound.
I shuffled some more code around to sample the original buzzer signal from a GPIO. If the sound is playing at more than 2kHz for a certain time I would trigger the sound.
I applied some time based software filters to filter out some noice.
I build a small amplifier out of an MOSFET (IRLML6344) and a small 0.5W speaker element I found at my local hackerspace.

I throw it all into the chassis of the microwave oven. There was plenty of space, but i took some precautions to electrically isolate the PCB and speaker.

Unfortunately the sound from the small 0.5W element was too low. It barely was distinguishable against the sound of the microwave ovens fan.

So I upgraded the element for a 3W element that I found in an old PC speaker, and took some precautions and upgraded my amplifier as well for the more stable Class-D amplifier PAM8403.

Schematic PDF

The sound was much louder and you can clearly hear the “Done”-sound from the microwave oven.

Festivalljus – LED, Lens, Heatsink Assembly

Assembly Spotlight With Chassi 3D 1
One of the hardest things with this project is to solve the problem with the heating. 9 pieces of 3W LED tends to get very hot, 27W that have to be transferred to the air.

LED 3DLED Inverted 3D
If I bend the pins on the led I can make the LED’s go through the PCB. An alternative is to use a lot of small via’s under the LED to transfer the heat to the underside. But I think a direct contact with the heatsink will be more effective.

Assembly PCB with LEDs 3D Without Lens
Assembly PCB with LEDs BottomAssembly PCB with LEDs 3DAssembly PCB with LEDs SideAssembly PCB with LEDs Top

Assembly PCB with LEDs 3D With Heatsink Fan
Assembly PCB with LEDs 3D With Heatsink LensesAssembly PCB with LEDs 3D With Heatsink Side
A CPU cooler should be sufficient enough to transfer the heat out to the air. I don’t know if the fan is necessary.

The whole assembly will look something like this:
Assembly Spotlight With Chassi 3D 2Assembly Spotlight With Chassi 3D 3Assembly Spotlight With Chassi 3D 4

Optics Specification

Orkide Random – A IoT flower with pretty random power

A video posted by Tim Gremalm (@timgremalm) on

Probably the most random plant in the world, it fetches a “true” random signal and display pretty colors on a WS2812 addressable LED strip.
The seed is based on one of the best randomization generators; cosmic background radiation from random.org. Yet another Internet of Things device made out of the ESP8266, the dirt cheap powerful WiFi enabled microcontroller.


IoT Nalle dances to Twitter feed

An Internet of Things enabled teddy bear that dances at filtered Twitter statuses.

To move the teddy bears arms servos is used. It’s a pretty simple setup, some extenders for the arms that is going through the real arms of the teddy bear.
The servos is quite weak, so they bearly move the arms at all.

Mounting of the servos.

The electronic setups contains of a small cheap microprocessor called ESP8266. The ESP8266 have a small WiFI-antenna integrated in the breakout board and can hook up to any access point, or even create one.
I’m running the firmware NodeMCU , it’s a real time LUA interpreter. So the firmware is only programmed once on the flash. To write your own program you just transfer them over serial UART, and the firmware will save the script on flash.
The processor is running at 80MHz so it’s pretty fast.

I’m using Twitters API to fetch the latest post on a specific search term. The API gives me a detailed formated JSON file containing the time and date of the post, as well as the post.
The Twitter API is quite messy to work with, a lot of headers and authentication is required. The ESP would likly handle both the SSL and the big JSON format, but it will steal some CPU-time and it’s hard to work with. I made a PHP-proxy for the twitter feed, parsing the time and date and presenting it in unix timecode. The message of the post is stored as an MD5 hash sum.
On the IoT Nalle i keep track of the already “danced” Twitter posts and only dnaces to new posts.

Final assembly, a lot of hot glue and screws was used.

Interactive LED balancing board

A video posted by Tim Gremalm (@timgremalm) on

An interactive game were the visitors can build complex structure with help from an interactive LED balancer.
The installation was part at Vetenskapsfestivalen.

It’s a project by Stig Anton Nielsen read more about it in this post.

TeiSteadyBuilds from stig anton nielsen on Vimeo.


A video posted by Tim Gremalm (@timgremalm) on


The loadcells is build from 16 layers of conductive carbon packaging film. The recistance ranging from 500k to about 450 Ohm loaded at 8kg. Because it’s a so huge range the loadcells can be directly hooked up in a voltage divider, no amplifiers needed.
3 load cells us used to detect the direction and force of the balance. They are really sensitive to touch, small pressures from fingertips will be easily detected. A backside is that the film tends to be squashed so that it takes long time form the form and resistance to return.
The value from the 3 loadcells is arranged in 3 forces 120 degrees apart. The Forces is calculated into a resultant that is describing a thrust vector.
The thrust vector is indicated with a led strip of addressable WS2812 LED light. The stronger the force, more inbalanced, the greater the red marking will grow.

Att this Google Drive document I’ve collected som measuring data from the loadcells. There’s also some information of how the resultant is calculated.

Festivalljus – Lighting

Regarding the lighting, the last few months I’ve been researching different kind of LEDs and optics.
Our goal is to get really narrow spotlight, maybe 6-10 degrees, and it’s really hard to get a narrow beam like that.

There exists a few models of 5/10mm hole mounted LEDs with build in focusing-optics right into the housing (http://www.ebay.com/itm/310181790384). Those LEDs makes a narrow ~13degree beam which is nice, but the RGB-colors are separated.
When you build an array of small LEDs like this it’s working quite well, but it’s not a perfect spotlight as it casts RGB-shadows (like this http://www.lungstruck.com/wp-content/uploads/2013/06/IMG_1965.jpg).
Another bad thing with smaller LEDs are that it’s hard to get bright enough. If I were to but in 192 5mm LEDs it would only give me 15W of LED power.

Another LED-type that I’ve looked into is big 50W LED-arrays (http://www.ebay.com/itm/380676009599) with complementing 78mm lenses.
These types of LED-arrays give out it’s own LED-pattern when focused narrow enough. You can solve this by adding a diffuser close to the LED-array.
But you would have to add two 78mm lenses to focus down the beam. The narrow beam is the best so far, really crisp and around 6 degrees.
The bad thing is that it weights to much for my small construction, and also it brings upp the cost per unit really much.
Another bad thing is that you’ll need active cooling, which also adds to the weight. I used an ordinary CPU-cooler for desktop-computers.

The latest LED-type I’ve tried is 3W Star High Power RGB (http://www.ebay.com/itm/160582419768).
Ontop of that I’ve placed a special lens called a Collimating lens. Collimating lenses are directing beams from different angles straight into a column of light, it’s best described by this picture (http://www.laserfocusworld.com/content/dam/lfw/print-articles/2012/06/1206LFWnews05web.gif).

The lens I tried also have a built in reflector (http://www.ebay.com/itm/390625279166).
This is the best solution for my project so far. I weighs almost nothing, gives me 50W of power in an array of 16 LEDs.
A negative thing about the collimating lens is the beam is much more fuzzy than the two above LED-types. It gives out a narrow beam, but there is a lot of light leaking through around the beam.


Kodar-Lan – Tema: Raspberry Pi I/O den 15:e juni

Min polare Jens och jag startade ett nytt event för några månader sen. Tanken var att dra ihop ett gäng utvecklare och lära sig nya programmeringsspråk och vidareutveckla våra kunskaper. Så blev “Kodar-lan” till.
Vi har hittills haft ett Kodar-lan där vi lärde oss Android-utveckling och Python-programmering.

Den 15:e juni är det dags för nästa Kodar-lan med tema Raspberry Pi – I/O.
Vi kommer mjukstarta dagen med att installera ett operativsystem på Raspberry Pi för att sedan glida in på en snabb Python-introduktion.
Sedan kommer vi hålla workshops i att koppla in lysdioder, reläer och transistorer, motorservos. När alla workshops är avklarade så kommer är det dags för Python-freestyle där folket släpper loss sin kreativitet och skapar!

Vi kommer att hålla till i Chalmers Robotförening, där finns tillgång till arbetsstationer, verktyg och lödutrustning. Mer om utrustning och rekommendationer står under Facebook-event:et ().

För dom som vill, så kommer vi även att laser-skära ut chassin till Raspberry Pi:n för en liten materialkostnad på 20kr.

Kodar-lanet är gratis och alla programmerare/hackers/makers/IT-ninjas/nyfikna är välkomna!

View Larger Map

14:00 – Uppsamling
14:30 – Introduktion till Chalmers Robotförening – Ett hackerspace (Tim)
15:00 – Raspberry Pi – Installation & konfiguration (Johnny)
16:00 – Python – Introduktion (Johnny & Emma?)
16:30 – Elektronik – Introduktion (Tim, Sven & Sternå)
17:30 – Raspberry Pi – Workshop med lysdiod (Tim & Sven)
18:30 – Raspberry Pi – Workshop med servo (Tim & Sven)
19:30 – Raspberry Pi – Workshop relä med hjälp av transistor (Tim, Sven & Sternå)
20:30 – Skära ut ett chassi med laserskärare i PET-plast för 20kr (Tim & Gurgalof)
21:30 – Raspberry Pi – Koppla in externa enheter och kommunicera med GSM-modul
21:30 – Raspberry Pi – Som mediacenter (XMBC) (Vem?)
22:30-06:00 – Python freestyle!

Utrustning du bör ta med inför kodar-lanet:
* Laptop
* Raspberry Pi
* Nätverkskabel
* SD-kort 4GB (minst)
* Micro USB-sladd
* SD-kort-läsare (ej nödvändigt, det finns att låna med risk för kö)
* Breadboard (ej nödvändigt, men det underlättar, http://en.wikipedia.org/wiki/Breadboard)
* 40 pinnars IDE-kabel (gör det lättare att koppla)

Utrustning för dom som inte gillar att jobba via terminal och föredrar grafiskt gränssnitt:
* Tangentbord
* Mus
* Skärm med DVI eller HDMI-ingång
* HDMI/DVI-kablage
* HDMI2DVI-adapter

Om ni skall köpa saker kan det vara värt att kolla här för att se vilka saker som är kompatibla med RPi:

På CRF finns följande Elektronik-komponenter att köpa billigt:
* Motstånd
* Kondensatorer
* Lysdioder
* Intro-kit (Aurduino Uno-like) för den som vill avancera
* Krympslang
* Skruvar, muttrar
* Aluminium
* Polykarbonat
(Handlas med kontanter, mynt)

Ett workshop-kit kostar 20kr och innehåller:
* ~8 resistorer
* 1 tryckknapp
* ~5 lysdioder

Följande utrustning finns tillgänglig i CRF:
* Lödstationer
* Tennsug
* Nätaggregat
* Laserskärare
* Några få arbetsstationer PC (Ubuntu/Windows)
* Generella verktyg (Skruvmejslar etc.)

Grundförutsättningar kunskapsmässigt:
* Programmering (Lätt):
– Sätta variabler, Loopar
– En fördel om man kan Python
* Elektronik (Nybörjare):
– Veta vad ett batteri är, samt att metall leder ström
* Terminal (Nybörjare):
– Veta att det svarta fönstret har stora möjligheter

* Mat och dryck finns att köpa i CRF:s lokaler (Panpizza, Findus engångsrätter, godis, cola etc. Handlas med kontanter.)
* Finns gott om restauranger i närheten

Kodar-Lan Raspberry Pi IO – Cheat-Sheet elektronik [PDF]

Google docs: