Welcome to my website, the place where I am delighted to share some of my creations in the realm of one of my greatest passions:
electronics!

I love electronic developments in all its phases: from defining the requirements, creating the electrical circuit, placing components and routing the PCB, to defining the firmware structure, implementing low-level drivers and designing tasks with FreeRTOS with mutexes and queues.

Only in this way does the project come to life!

Image

Take a look at the latest updates:

Feel free to explore the entire list of my projects…

  • LED Drums

    LED Drums

    This is a portable LED controller based on the ESP32 SoC. It is powered by 18650 lithium-polymer batteries and it is designed to synchronize LED patterns with music. To achieve this, I developed an analog circuit with a high SPL microphone connected to a PCM1808 DAC via a low-pass filter preamplifier. The input signal to read more…

  • LED Cube

    LED Cube

    This is a 5x5x5 LED cube based on the Cortex-M0+ SoC ATSAML21E16B. The 125 RGB LEDs are multiplexed and controlled by 5 shift registers of 16 bits each, which also control the LEDs Anode. The CPU is running FreeRTOS, which manage the reading of the LEDs animations from a uSD card and the LEDs multiplexing. read more…

  • MIC I2S

    MIC I2S

    This is a demo board I created to test the I2S PCM1808 DAC. An XTAL oscillator based on SN74LVC1GX04 generates the DAC SCKI clock signal, and a very low-power DC-DC boost converter is responsible for powering the analog circuitry. The signal from a microphone is amplified and filtered before entering the DAC. Test with Raspberry read more…

  • WS281x

    WS281x

    These are a series of very simple PCBs developed for LED lighting. They are employed to connect two strips of Pixel LED placed at a considerable distance, ensuring that the digital control signal for the pixels does not degrade. WS281x 485 This is a versatile and cofigurable RS485 TX-RX transceiver for long range serial LED strip read more…

  • Binary Clock

    Binary Clock

    This clock is based on the ATSAML21E16B, a Cortex-M0+ microcontroller. The LTC4080DC-DC converter handles both charging the battery and powering the CPU, both during the charging phase and regular operation. The CPU controls a 6×3 matrix of LEDs in multiplex and a buzzer through PWM. The idea behind designing this circuit arises from the desire read more…

  • LED Beacon

    LED Beacon

    This is a compact single-sided circuit based on a small 8-bit microcontroller (PIC16F18313) that controls a LED2001, a buck LED controller with current feedback. It enables powering a high-power LED with up to 10W. First prototype Firstly, I created a functional prototype by producing the PCB in my laboratory using the “press ‘n’ peel” technology. read more…

  • Nixie Clock

    Nixie Clock

    This is a Nixie tube clock that combines the charm of vintage technology used until the 1940s with modern circuit solutions based on a microcontroller. The heart of this system is an ATXMEGA128A3U microcontroller running a state machine firmware. The CPU controls the Nixie tubes brightness through high-voltage shift registers connected on the SPI bus. read more…

Feel free to explore all other tricks…

  • Firmware Design: Optimizing using State Machines

    Firmware Design: Optimizing using State Machines

    Enhancing code efficiency and simplifying complexity through the implementation of a State Machine, achieved with the elegance of only two simple elements: Switch statement and Enum. In the dynamic world of firmware engineering, efficient code organization is crucial. One powerful… read more…

  • Connecting less, achieving more: The multiplexing efficiency

    Connecting less, achieving more: The multiplexing efficiency

    Here’s how to light up many LEDs using few I/O and optimized firmware. Understanding Multiplexing Multiplexing is a method that enables the control of multiple LEDs using fewer pins on a microcontroller or other controlling devices. It involves rapidly switching… read more…

  • Maximizing Battery Life: The PMD

    Maximizing Battery Life: The PMD

    Peripheral Module Disable: firmware strategies for optimal power savings One of the key challenges in designing low power devices is to minimize power consumption, especially in battery-powered applications. The use of Peripheral Module Disable (PMD), that is for example available… read more…

  • Flash-Powered Math: Optimize 8-bit Calculations

    Flash-Powered Math: Optimize 8-bit Calculations

    Using lookup talbes to optimize slow 8-bit CPU calculations. The challenge: Fast calc on 8-bit CPU In the realm of low-power microcontrollers, performing complex calculations can become a significant challenge. 8-bit microcontrollers are characterized by limited resources: executing complex mathematical… read more…

Design a site like this with WordPress.com
Get started