identifying STM32F103C clones:
The STM32F103C micro-controller has become so popular that you can find plenty of pin and code compatible clones. The issue is when they pretend to be genuine STM32.
We will see how to identify counterfeit STM32F103C, using the top marking, decapsulating the silicon die, but also from inside with a firmware which will check the value and behavior of some registers.
building a sound level enforcer:
for a private club I built a sound level enforcer.
if the DJ is playing music too loud, the device will shut off the audio output.
for that I reversed a GM1351 sound level meter to extract the measurements from the LCD interface, send them over Bluetooth to the enforcer, which will cut the power to the main audio amplifier if a set threshold is exceeded for a couple a seconds.
building a defusing game:
For the bachelor party of a friend, I created a defusing game. Using the knowledge about his future wife, he was able to cut the right wires and disarm the bomb. This then turned on a torch which grilled a piece of meat, instead of injecting poison into it.
We will learn how to drive DC and stepper motors.
building a remote controlled strobe light:
For an attraction held during a Halloween party, I built a device which allows to send strobes of light.
Combined with a ghost apparition, this was the ideal setup for a scare jump.
The strobe controller uses an LED flood light, a solid state relay, and an infrared remote control.
We will see what mechanical and solid state relays are, how to operate them, how infrared remote controls work, and how receive decode their signal.
The Halloween party is called Balloween. It take place in Paris, and is mainly French. An entrance fee is required, but it barely covers the cost of the consumables. I and all the staff helped in our free time and at our own expenses, but it is a lot of fun and nothing beats scaring innocent victims ;).
P.S.: To create light strobes a stroboscope might be the more appropriate, but I did not have one at the time I built this device. I am also not sure how I would control the couple of kV required to fire the flash tube. Flood lights are more ubiquitous, and can also be switched on continuously.
reversing a printer cartridge chip:
How does a printer know when the cartridge is empty? Instead of using a sensor, the toner or ink level information is simply stored in memory and updated after each print. This technique also applies to my old laser-jet printer.
I was able to identify the chip on the toner cartridge as a 1-Wire EEPROM with some authentication features. We will see how and what the 1-Wire protocol is.
I also re-implemented this chip and was able to pass authentication thanks to a secret key I dumped from another chip, allowing me to fool the printer in thinking the toner cartridge is never empty.
building a digital clapperboard:
Clapperboards are often used to synchronize audio and video recordings. I'm also using such a tool for the podcast, so I decided to make my own digital version of it. After all I only have to show the scene, take, video and audio recording numbers. This can easily be done using electronics instead of having to write everything down myself.
For that I used a DS1307-based RTC module using the I²C protocol, seven TM1637-based 7-segment 4-digit displays using an I²C incompatible protocol, two MAX7219-based 7-segment 8-digit displays using a SPI compatible protocol, a piezoelectric element, and a custom power control circuit. We will also see how these communication protocol work.
energy monitoring for 3-phase 4-wire mains:
In episode #014 I presented the spark counter, my custom wireless electricity meter. This electricity meter will only work for 1-phase 2-wire power distribution systems though. Since I have a 3-phase 4-wire system it was time to do it right, with the spark abacus.
We will explore the different ways to collect electricity consumption measurements: using the S0 impulse output from a 3-pahse 4-wire electricity meter (DDM100TC), using the UART interface of 3 cheap power meters (peacefair PZEM-004T, one per phase), and using the Modbus/RS-485 bus of 3 nice power analyzers (Eastron SDM120-Modbus, one per pahse).
A micro-controller (STM32F103) will collect the measurement values and store then using a WiFi module (ESP-01, ESP8266) into a time series database (influxDB) on a single board computer (Orange Pi PC).
adding DCF77 time synchronisation to the LED clock:
By adding a DCF77 receiver to the LED clock presented in episode 16, the clock can automatically update the time (in Europe) in order to compensate for the RTC drift.
I've also used the opportunity to find out how the "analog" clock works.
use LEDs on a wall to show time progress:
The LED clock is an add-on for round wall clocks. The purpose is to have LEDs on the circumference of the clock to show the progress of the time using coloured light.
For that you will need:
a WS2812b RGB LEDs strip (long enough to go around the clock)
a development board with a STM32F103 micro-controller and 32.768 kHz oscillator for the Real Time Clock (such as the blue pill)
a coin cell battery to keep the RTC running (optional)
a GL5528 photo-resistor to adjust the LED brightness (optional)
driving a vacuum fluorescent display:
The vacuum fluorescent display I salvaged from a Samsung SER6540II was only waiting to get used. This was the ideal opportunity to learn how these retro style displays work (through Supertex HV518 drivers) and get familiar with a new micro-controller (ARM Cortex-M3 based STM32F103).