Projects

3D Geometry Reconstruction of Medical Images

3D Geometry Reconstruction of Medical Images

The project focused on using numerical tools to analyze medical images and construct a 3D model of the organs present in the image. The goal was to provide a detailed 3D model that could be easily manipulated for use in the medical field. The focus was on Magnetic Resonance Images (MRI) of the pelvic anatomy of women patients, with an emphasis on three main organs, the bladder, vagina, and rectum. To construct the 3D models from the MRI scans computer vision was utilized as the main tool for image analysis. An object detection tool was developed and trained to detect, differentiate, and label the bladder, vagina, and rectum. These same images were converted to a greyscale, which allowed the organs of interest to be isolated as well as identified by drawing contours around them. An ellipse was then fitted into each contour, and from these ellipses certain parameters could be obtained. Including the center point (x, y, z), the length (l), height (h) and orientation (n). This data can then be utilized to create a 3D CAD model of the patients’ pelvic organs.

Learn more →
Mechanical Keyboards Design

Mechanical Keyboards Design

The Mechanical-Keyboards repository by artorias961 serves as a comprehensive resource for enthusiasts and developers interested in mechanical keyboards. It focuses on firmware development, PCB design, key mapping, and custom builds, providing valuable tools for building and customizing mechanical keyboards. The repository features QMK firmware configurations that enable advanced keyboard behavior, including key remapping, layer management, and macro implementation. It also contains PCB schematics and design files, offering users the ability to build keyboards from scratch using tools like KiCad. In addition, custom case and plate designs, likely created with CAD tools such as Fusion360, allow for fully personalized hardware. The repository is ideal for DIY keyboard builders, firmware developers, and enthusiasts who want to explore mechanical keyboard hardware and software integration. By including example builds, keymap files, and detailed documentation, it guides users step-by-step through the process of creating or customizing their keyboards. Whether the goal is designing a new keyboard layout with QMK, constructing a PCB, or building a unique mechanical keyboard, this repository provides a one-stop hub for learning and implementation. With its blend of hardware design and software programming resources, it is a valuable asset for anyone passionate about mechanical keyboards.

Learn more →
Robotics Dog

Robotics Dog

The purpose of this project is to create a tour bot that will guide Cal State LA guests to locations on campus. The tour bot will be given a dataset of the school building’s floor plans and a predetermined path to follow. The bot will be a mobile platform that will incorporate computer vision to identify obstacles and facilitate localization. The collection of sensors used to navigate the environment may also incorporate LiDAR, ultrasonics, cameras, IR proximity, and a GPS module that will focus on gathering data of the surrounding environment. While the internal sensors will consist of IMUs, position sensors, load sensors, and current sensors. The sensors will report to slaved microcontrollers that will feed into the microprocessor. Ubuntu is currently the planned operating system to control high level algorithms. The control software will dictate commands to the tour bot actuators consisting of servo, stepper, and brushless motors. Electronic subsystems will be used to power the motors and to regulate the power supply. The majority of the tour bot chassis will be a 3D printed, built around a load bearing internal frame.

Learn more →
IoT Edge Node of Home Assistant

IoT Edge Node of Home Assistant

This project utilizes Nordic Semiconductor's nRF52DK and STM X-NUCLEO-IKS01A3 to create a sensor-based system. Employing ZephyrRTOS and Bluetooth Low Energy (BLE), the nRF52DK gathers data from sensors like LSM6DSO (MEMS 3D accelerometer + 3D gyroscope), LIS2MDL (MEMS 3D magnetometer), LIS2DW12 (MEMS 3D accelerometer), LPS22HH (MEMS pressure sensor), HTS221 (capacitive digital relative humidity and temperature), and STTS751 (temperature). The goal is to develop a simplified system akin to Raspberry Pi Home Assistant, leveraging the Django framework. Data transfer occurs via Bluetooth GATT, where the nRF52DK acts as a BLE server reading commands from Redis messages hosted on Docker. Responses are then relayed back to the Django server via Redis pub/sub channels. Utilizing Django Channels, WebSocket messages are transmitted to the Django site router and then to the internet for further processing.

Learn more →
Dynamic WebSocket REST API: Empowering Real-Time Communication and Custom Requests

Dynamic WebSocket REST API: Empowering Real-Time Communication and Custom Requests

The project entails the creation of a WebSocket REST API using Python, aimed at enabling communication between clients and a local host computer, facilitated through the Insomnia REST API tool. By sending custom requests, users establish a handshake with the server, which provides access to various directories, each containing specific content. Notably, directory paths such as "/", "/intro", "/greet", and "/bluetooth" grant access to distinct sets of data, with subdirectories like "/scan_local", "/add_device", and "/list_devices" offering further granularity within the "/bluetooth" category. This setup allows users to retrieve content tailored to their needs dynamically. Leveraging WebSocket technology ensures real-time communication, fostering interactive exchanges between clients and the server, thus enhancing the overall user experience and utility of the API.

Learn more →
© 2025 Christopher Morales