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. https://github.com/TimGremalm/MicroMute
(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.
This is an alcoholic bong, two ultrasonic elements forces the water into small particles that forms a mist. The elements is normally used for water in decorations or water humidifiers.
I got this old Ikea bowl from a second hand store. It holds the electronics for driving the ultrasonic elements, as well as an MCU to drive some leds.
There’s two systems that is powered from a single 6S LiPo battery.
The ultra sonic elements is apparently sensitive about over voltage and will fry if the voltage exceeds 24V. The first system consists of a buck that caps the fully charge voltage of 25.2V down to 24.0V. That system is activated by a momentary switch on the front.
The second system drives the RGB LED’s. A nice party bong should look good. A small Arduino Nano is driving some WS2812 RGB leds around the glass pitcher. A buck converter caps the voltage at 5V that is used by both the WS2812 RGB strip and the MCU.
The led lights is slowly breathing when the alco bong is idle, and rotates the color hue when in use.
The glass pitcher was glued on the bottom with epoxy and seemed to bound well with the wooden bowl.
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.
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.
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.
To have the LiPo battery’s exposed underneath the longboard could damage them if something hit them. A strong chassis for the battery’s would protect them, as well as covering the cables from dirt.
The chassis is primary made out of 8mm polycarbonate, with a sheet of 1mm flexible PET cover.
The 8mm thick sides will hopefully take up the forces from any direct bumps.
The base of the driveline is a kit by DIY Electric Skateboard (http://diyelectricskateboard.com/product/single-motor-electric-longboard-kit/).
The kit is made for the SK3 motor series and included trucks with motor mount, wheels, pulleys and timing belt.
The motor mount is welded into the truck, the design is really good and the welding job is well done. The drive pulley is the weak point in the drive line, it’s wobbly and hard to calibrate. DIY Electric Skateboard seems to have switched it for a new pulley made out of aluminum now.
The motor driver is developed by Benjamin Vedder, he have been developing several years now and he have been implementing a lot of nice features into the ESC.
The VESC can drive a brushless motor sensorless, it measures the back-EMF and can track the position very accurate even at low RPM’s. It also has regenerative braking that charges the battery’s while braking.
A nice feature is also the cruise control, it’s PID regulated and very accurate because of the good tracking of the motors position.
The Nunchuck for Wiimote has a nice grip and several extra buttons to use for extra functions. Nyko does make a wireless version of the Wiimote Nunchuck.
The Nunchuck is communicating with the Wiimote through I2C, so is the wireless receiver for the wireless version of the Nunchuck. The wireless receiver is stripped of its case and hooked in to a I2C bus on the VESC.
Because the Nuncuck is made for gaming it keeps sending the last known command on connection loss, for example so that the gamers gas pedal won’t be affected in game. This is not a good thing when you are driving for real.
Vedder has made a replacement PCB for the Nunchuck chassis that using the NRF24L01+ radio. It’s more safer and have a greater sending distance.
Although I have no longboarding or skateboard experience i found it quite easy to ride the electric longboard. I found it easier to keep my balance on the board while having constant power driving it forward. The ability to brake also makes it easier to get on and off.
It’s a really fun way of transportation, it’s fast and you can carry the longboard every where when don’t driving.