MCU

ESP-01 ambient sensor

The project describes the assembly of a cheap (<$6), low-power (<1W), and low-profile (<5cm) environmental sensor based on the ESP-01 and BME280. The unit runs a free and open source firmware (Tasmota) and provides temperature, humidity, and relative pressure measurements to home automation systems via the MQTT messaging protocol.

Read more

ESP32-cam

The ESP32 is a low-cost and low-power microcontroller developed by Espressif. This project describes how to flash the Tasmota32 webcam server firmware onto the ESP32-cam. The Tasmota32 firmware can be used as an alternative to the Arduino sketch for users looking for more options to monitor and control an ESP32-cam remotely or to integrate into an existing home automation server.

Read more

top

SBC

NanoPi M4 mini-NAS

A cheap, low-power, low-profile NAS solution based on FriendlyArm’s NanoPi M4 SBC. It has a SATA hat that is connected to the board via PCI-e, allowing up to four HDDs to be connected to the NAS via standard SATA III interface.

Read more

PWM fan controller

A fan controller written in Bash for the 12v fan connector of the NanoPi M4 SATA hat. By default, the script uses either a bounded logistic model with a moving mid-point or a proportional-integral-derivative (PID) controller to set the fan speed dynamically.

Github Repo

RPi SenseHAT MQTT

A Python application for the RPi that allows interfacing with the SenseHAT over MQTT. The script publishes sensor and joystick data to the MQTT broker to be consumed by a home automation server. It also subcribes to an LED topic to display payloads published to the broker.

Github Repo

RPi button box

The project describes how to repurpose external HDD enclosures into button boxes for the Raspberry Pi and similar single board computers. It includes the development of a button box controller, wiring schematics, how-tos, and list of hardware and software components.

Read more

Button box controller

Core program for a Raspberry Pi button box controller that uses the gpiozero Python library to interface with the wired buttons and switches.

Github Repo

top

Networking

Wireless Mesh

Wireless mesh networks using free and open-source software (FOSS) and common hardware. The project is based on OpenWrt and uses the layer-2 implementation of the Better Approach to Mobile Adhoc Networking (batman-adv) to route packets over multiple mesh topologies.

Read more

pfSense box

A cheap, customizable pfSense box based on the ASRock J3355b-itx mobo. It features an Intel dual-core processor capable of running IPS/IDS software, multiple VPNs, and more. A passively cooled, low-power, and low-profile firewall that fits the demands of most home users.

Read more

top

Other

Programa Bolsas

A CLI program that validates a csv file containing scholarship data from multiple students and allows users to perform a few operations. This program was part of a selection process and most of its content is in Portuguese.

Github Repo

Pife (pif-paf)

This is a CLI implementation of the card game Pife written in Java. It is a fork of another implementation that changes its main logic to adapt to the new game but preserves overlapping classes, such as deck and player. This program is only for educational purposes and the content is in Portuguese.

Github Repo

Logistic function in Bash

An implementation of the logistic function written in GNU bash and GNU basic calculator (bc).

Github Repo

top