Articles

Projects

HUD Goggles

HUD Goggles thumbnail
This headset enables the overlay of information on top of its user's field of view. The field of view of the user is captured by a camera and then fed to video goggles, while a MAX7456 OSD chip overlays text on the video feed.
ArduinoProjectsElectronics

Solar power setup

Solar power setup thumbnail
I got my hands on a 600W 12V inverter so I decided to experiment with generating my own electricity.
Node.jsMQTTExpressProjectsESP32 +3

Vanilla javascript neural network

Vanilla javascript neural network thumbnail
This simple web app written in JavaScript which trains a neural network on data provided as .csv file. The neural network is a fully connected network implemented from scratch and the structure of its hidden layers can be set by the user. The dimension of its inputs and outputs is automatically adjusted to fit the provided training data.
ProjectsAI / MLPHP

IoT air conditioner controller

IoT air conditioner controller thumbnail
Air conditioners consume a fair amount of electricity. As such, forgetting to turn one off before leaving one's home can result in an expensive electricity bill. This is a Wi-Fi enabled controller for air condtioners, which can turn the unit on or off according to MQTT messages. It is built around an Wemos D1 mini and interfaces with the AC using an IR LED.
ElectronicsMQTTIoTESP8266Projects

Light controller with PIR sensor

Light controller with PIR sensor thumbnail
This is an IoT ceiling light controller which includes an HC-SR501 PIR motion sensor. It is built around a Wemos D1 mini (ESP8266 breakout board), which controls a homemade TRIAC breakout board. TRIACs provide the advantage of switching devices on and off silently, as opposed to a mechanical relay.
IoTESP8266ProjectsElectronicsMQTT

SONOFF Firmware

<a href="https://www.itead.cc/" rel="noopener noreferrer nofollow">ITEAD</a>'s&nbsp;<a href="https://sonoff.itead.cc/en/" rel="noopener noreferrer nofollow">SONOFF</a>s are Wi-Fi enabled relays that can be used to turn applicances on and off remotely.
ProjectsIoT

BLE presence detection

BLE presence detection thumbnail
I wanted my home automation system to detect when I arrive home so as to unlock my door automatically or let me know if I leave the apartment without turning the A/C off. I figured my smartphone could be used to achieve this since it is equipped with a vast array of sensors and connectivity options. For example, I could use an app like OwnTracks which would send an MQTT message once I enter a certain perimeter around my apartment. However, constantly monitoring one's GPS location is wasteful in terms of battery life. Another option would be to ping my phone's IP address to check if it is connected to the WiFi, but smartphones can sometimes take a while to connect. So, I decided to use BLE advertising, which does not use too much battery while still remaining constantly active.
ESP32ProjectsIoTBluetooth

Barking alarm

Barking alarm thumbnail
Dogs are great at detering burglars from entering one's home. This system brings the same advantage, without the need for an actual dog.
ElectronicsProjectsArduino

Vocabulary practice web app

Vocabulary practice web app thumbnail
When learning a new language, there is no way around having to learn its vocabulary. This simple web app was made to help with this process by providing a multiple choice question style UI. It was designed mainly for Japanese, which uses Chinese characters that can have multiple readings.
MySQLPHPProjects

Home automation

Home automation thumbnail
Few would argue that having lights turned on in a room without occupant is a waste of electricity. Ideally, lights and other appliances like air conditioners would only be turned on when someone is around. This project is a NodeJS application that gathers data about the occupancy of an apartment and manages appliances accordingly.
WIPNode.jsMQTTProjectsIoT