building a remote postbox status indicator:
I wanted to be notified when a parcel is put into my post box. For that I used LoRa radio modules with direct communication.
We will see how to make the over-the-air transmission robust to cope with the distance and walls in between.
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.
reversing USB meter protocols for long term low DC power logging:
To figure out the energy budget provided by a solar panel for a weather station, I needed a device capable of measuring low DC voltages and currents over a long period of time.
For that I used the USB Power Meter (UPM) Web-U2, but I first had to reverse engineered the BLE and USB communication protocols it provided.
building a power outage alert notification:
We will build a device to notify us in case of a power outage in our home. For that we just need to re-purpose a GSM tracker.
Post-scriptum: do not waste any time on the Orange Pi 2G IoT.
While the idea and the hardware sound nice, after working a bit with it, there are just too many issues:
the official Linux distributions are old (> 1 year), the kernel is even older (it still is a 3.10)
the serial port is unstable (freeze on overrun)
the wifi is very unstable
the wifi MAC changes at every boot
the battery managment actually does not work at at all (no power and no charging due to a mistake in the design)
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.
my custom wireless electricity meter:
While renewing my distribution board the land lord decided to remove the electricity meter. Now I can't note how much electricity I am using. So I decided to build and install my own electricity meter: the spark counter.
Using a cheap power meter (i.e. peacefair PZEM-004), a microcontroller (i.e. Arduino Nano 3.0), radio transceivers (i.e. nordic nRF24L01+), a single board computer (i.e. Raspberry Pi), and some storage and visualization tools (i.e. influxDB and grafana) I am now able to measure, log, and monitor my electricity consumption.
warning: the electricity meter I am presenting will only work for 1 phase 2 wires power distribution systems. I have a 3 phases 4 wires system and I am doing it wrong.
MegaCode is a system provided by Linear LLC for controlling gates.
This time I looked a the receiver.
With my firmware it is possible to efficiently record the individual codes of other remote controls.
MegaCode is a system provided by Linear LLC for controlling gates.
Using software defined radio I could record and decode the radio transmission of the remote.
And thanks to my firmware this can be re-transmitted.
With it is is possible to clone MegaCode remote controls.