> Electronics, programming & other stuff


Mi Band 6 Heart Rate Monitor (2022)

Display your Mi Band 6’s heart rate in the browser.

Grid (2020)

Draws a structure that looks like a grid/network. Supports tuning some of the animation and drawing parameters.

Melex (2019)

Basic canvas experiments, teaching my sister JavaScript and canvas drawing essentials.

Genico - Numeric icon generator (2019)

A numeric icon generator, very useful for working with HMI display, like DGUS (DWIN) / SGUS / VGUS.

Schrod (2018)

Audiovisual representation of solutions to the Heat and Schrödinger’s equation.

Lightweight speech recognition library for EDU-CIAA (2017)

Lightweight library for speech recognition in ARM Cortex M4 microcontrollers. It extracts MFCC coefficients and recognises words using Viterbi algorithm, and Hidden Markov Chains (HMM), first-order, using gaussian mixture probabilities.

FoamCutter (2017)

A basic foam cutter, using a nichrome wire.

Speech recognition using HTK (2016)

Distributed finite-grammar speech recognition based on the HTK toolkit. Developed as a final project for an university class. Uses JSRecorder and Web Audio API to capture microphone audio from the computer.

Radar (2016)

Shows how to use the distance to N points to pinpoint an object (similar to how a radar works).

Kalman (2016)

Visual representation of a Kalman filter, used for estimating position using noisy acceleration data.

Half-Life map viewer (2016)

This project is a renderer designed specifically to explore the world of Half-Life. It allows for realtime rendering of the Black Mesa Research Facility.

Can't see (2016)

Gradually reducing font size yields interesting results. Extract of Ensayo sobre la ceguera by José Saramago.

Ball bearing sizes

Table showing the different sizes of commercially available ball bearings, useful when creating mechanical projects.

Utilities for Digital Systems classes (2015)

Software that help developing FPGA systems with VGA outputs.

Domotic control via IR and PC (2014)

A domotic panel to control the lights of multiple bedrooms, allowing the user to change the intensity of them via 3 interfaces. This project was created with Juan Ignacio Troisi and Martin Menendez, for the university subject Laboratorio de microcontroladores.

Buenos Aires mapper (2014)

3D Map of Buenos Aires using data provided by the government. Uses OpenGL for 3D acceleration, SDL for window and event management.

Video camera modification to see IR light

How to modify an ordinary video camera to increase the spectrum of the light it can see, allowing the visualization of near-infrared.

Tunnel (2013)

Messing around with tunnel draing while studying for an algorithms final (now converted to canvas).

TestPattern (2013)

Patterns similar to the ones I used to draw using pen and paper when I was young. Might get stuck at some dead ends, didn’t implement any logic to fix it.

LED matrix with inclination sensors (2013)

This project is based in a 8x8 bicolor LED matrix, controlled by a PC via the parallel port. We also included two homemade orientation sensors, allowing the detection of the matrix angle.

Mini game console with TV out (2012)

Sample application that generates NTSC signals (black and white) which can be viewed in any standard definition TV. Based in a 8052 microcontroller.

LCDTerminal (2012)

Alphanumeric display controlled via UART. Can also be used in LCD Smartie to monitor the resource usage of a PC.

Digital combination lock (2012)

Digital logic based that implements a combination lock similar to those used in hotel rooms.

CanvasDraw (2012)

Random walk with an random angle change trigger (now converted to canvas!)

Voltage and current regulator calculator

Given the values of both resistors and the type of regulator, calculates the output voltage or current of a linear regulator, both in voltage and current regulation mode.

Timers using 555

Calculates the times when using a 555 IC as a monostable or astable.

Timer overflow calculator

Given a timer configuration, it calculates how often it will overflow.

Resistor value calculator

Given the color bands of a resistor, calculates its value and tolerance.

Resistive divider calculator

Given the value of two series resistors and an input voltage, it calculates the output voltage of a resistive divider.

RC filter calculator

Given the values of the resistor and capacitor, calculates the cutoff frequency of an RC series passive filter.

Muscular electrostimulator (2011)

Muscular electrostimulator controlled by a microcontroller.

LED resistor calculator

Given the type of LED and the voltage of a power supply, calculates the required resistor to connect it.

Capacitor value calculator

Given the number found in a capacitor, this page calculates its value, as well as the tolerance.

Worms clone using SDL y OpenGL (2010)

A simple clone of Worms, using those libraries. Can be played by multiple players locally.

Using GPS modules with microcontrollers

How to get the position from a GPS module, by parsing the NMEA strings.

Using a cellphone or GSM/GPRS modem with a microcontroller

How to use a cellphone or a modem to send and receive texts and SMS using a microcontroller.

Small physics engine (2010)

Based on the Advanced Character Physics paper by Jakobsen. HTML5 and Javascript based, supports only circles.

Matrix keyboards, microcontroller interface

Easy tips to route multiple tact switches disposed in a matrix configuration.

List of software commonly used in electronics

Analysis of some electronic programs I used or use daily.

LED Matrix, methods to control

How to control a LED matrix with a microcontroller.

Introduction to SDL2, developing a pixel font editor

Small tutorial to learn the basics of SDL2, using C++.

Introduction to PIC microcontrollers

Small introductory article about 8 bit microcontrollers, focusing on Microchip PIC16 family.

Introduction to I2C protocol, reading and writing in 24LC memories

Very useful memories, typically used to store configuration data or to keep logs with sensor data.

Introduction to GLSL Shaders

A small article that can help people that want to get into the world of graphic shaders development.

Input/output port expansion

How to add more digital inputs or outputs to a microcontroller, using shift registers.

Homemade inclination sensors

How to build small sensors with two states, that can sense the rotation of a board in two axes.

Graphical LCDs based on KS0108

How to control a Graphic LCD with a resolution of 128x64 (or 192x64) based in KS0108, using a microcontroller and two 8 bit I/O ports.

External RAM memories in MCS51 architecture (8051/8052)

How to connect and use an external memory, using data and address multiplexing.

DC motor control with H bridge

Different ways to control DC motors.

Compiling programs with GNU compilers

How to use the free GNU compilers to build C/C++ projects.

Card game - Electrónica (2010)

SDL based multiplayer game done as a final project for an assignature.

Analog to digital converter without ADC

How to easily measure the value of a resistor, using a microcontroller without Analog to Digital converters.

Alphanumeric LCDs based on HD44780

How to control an Alphanumeric LCD using a microcontroller. Includes commands and schematics.

AlephTrack - Tracker using GPS and GSM/GPRS (2010)

Allows tracking and real-time monitoring via the Internet of the location of a device, which can be installed in a car.

Usage of MAX232 for RS232-TTL level shifting

A simple circuit used in almost every circuit that needs a connection with a PC.

Plasma (2009)

Random plasma effect. Originally used SDL, now converted to HTML5/Canvas. Added extra formulas and palettes.

Mini game console with LED matrix (2009)

Simple 8x8 game console based in an 8052 microcontroller, developed in C, compiled with SDCC.

Introduction to PLD (Programmable Logic Devices)

Small summary of applications of PLA, PAL, GAL and PLD based systems.

Four channel RF remote control, using HT12D/E

How to remote control loads via an RF link, using cheap modules and ICs.

Repeat (2008)

Small game whose objective is to keep the train from hitting itself. Inspired by Tron and Snake, but with infinite angles.

Matrix (2008)

Matrix like effect (digital rain). Uses Flash 8 (yes!) Bitmap capabilities.

Cs_electronicaort (2008)

Counter-Strike 1.6 map, inspired in the Electronics floor of ORT Yatay (Highschool I attended).

Random (2005)

Really simple random shape generator I built back when I was still using Flash.