<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator><link href="/feed.xml" rel="self" type="application/atom+xml" /><link href="/" rel="alternate" type="text/html" /><updated>2026-01-25T05:10:23+00:00</updated><id>/feed.xml</id><title type="html">Satya Praneet Challapilla</title><subtitle>A record of my interests and personality</subtitle><author><name>Satya Praneet Challapilla</name></author><entry><title type="html">3D Printer Customization</title><link href="/3d-printer" rel="alternate" type="text/html" title="3D Printer Customization" /><published>2025-10-06T00:00:00+00:00</published><updated>2025-10-06T00:00:00+00:00</updated><id>/3d-printer</id><content type="html" xml:base="/3d-printer"><![CDATA[<h2 id="building-my-own-3d-printer-the-beginning-of-my-journey">Building my own 3D printer: The beginning of my journey</h2>

<p>I was gifted a 3D printer by my brother as he knows my interests in Electronics and making as a hobby. I fell in love with it and started using it to make trinkets and toys.</p>

<p>Me being a tinkerer was not satisfied with just using it out of the box, decided to start tweaking its software and decided to shift from using Marlin, the default with Ender machines, to Klipper. Thus started my journey.</p>

<p>The printer out of the box, was a very basic machine. After my upgrades, its now, an internet-connected, remotely monitor-able, beast of a machine. It is faster, more consistent and more reliable.</p>

<p>The hardest challenge was sticking to using what I have and iterating, instead of focusing on bigger, better shinier. Having a solid base to work off of, helped a lot. I could tweak modularly, replacing and upgrading what was needed as needed. I ended replacing almost everything, from the motors, hotend, extruder and control board at the end, leaving only the skeleton of the original printer intact.</p>

<p>The internet was a big blessing to learn everything about the working of a 3D printer in every aspect. From control, to heating to motion systems. The vibrant community of 3D printing enthusiasts and their documentation was a blessing.</p>

<p>The printer is an elegant beast combining electronics, mechanical principles, thermodynamics and material science. I learnt a lot about stepper motors, thermal sensors, tuning and motion feedback loops through switches. The incident that led me to the realization that modding a printer is basically robotics, was when I was trying my hand at resonance damping. I was using an ADXL345 accelerometer to measure resonances on the x and y axis (This is a Cartesian bed-slinger printer) to avoid resonant frequencies during printing motions. At this time, I felt the the significance of using electronic control loops to affect mechanical motion systems. Then it clicked in my head and everything fell into place.</p>

<p>I achieved basically similar results to high end factory tuned machines using my own slapped together printer. High speeds, good quality prints and reproducible results. Of course the reliability was in question as I had built a lot of it myself. I have been using this printer for all my other projects as I realize that a printer exists to print for projects rather than the printer itself being the project.</p>

<h2 id="journey-down-the-rabbit-hole-of-modding-a-3d-printer">Journey down the rabbit-hole of modding a 3D printer</h2>

<p>As I kept using the printer, I saw more discussions online highlighting that while the Ender-3 V2 is serviceable, it isn’t suited for high speeds, consistent quality, or stiffer motion. I wanted to address three specific issues. The cantilevered X-axis gantry, the bed going out of level frequently, and the general speed limitations of both extrusion and motion.</p>

<p>The first major change was adding a second Z-axis lead screw for stability. In principle it worked, but it created a load imbalance because both screws were being driven by a single Z-motor.</p>

<p>To fix this, I paired the second screw with a second motor, wiring both motors in parallel on the same driver. This solved stability during printing, but created a new problem: the motors would fall out of sync after power-off because their resting positions differed.</p>

<p>One solution was getting a control board that could run each Z-motor independently. I switched to a Manta M5P, which has five motor drivers—X, Y, E, Z1, and Z2. That suddenly gave me fine control over the entire Z motion system. This upgrade pulled me deeper into Klipper’s documentation as I started exploring how much control the firmware could actually provide.I eventually shifted from an old laptop to a Raspberry Pi clone to act as the primary controller.</p>

<p>The second major step was integrating a Klicky probe into the hotend assembly. This let the printer measure the distance to the bed accurately across the entire surface.</p>

<p>With independent Z motors and a probe, I could now generate a detailed bed mesh to compensate for natural unevenness, automatically square the X-axis gantry before every print and compensate for any tilt introduced when the motors deactivate</p>

<p>The probing routine works like this:</p>

<p>The hotend (with probe attached) moves left to right, taking measurements near each Z motor. Klipper compares the measured distances, then commands each Z motor independently to bring the gantry back to baseline. It does this step-by-step until both sides are perfectly level. That single feature alone stabilized my first layers more than any hardware swap ever could. An elegant software solution to an irreconcilable hardware reality.</p>

<p>With the mechanical inconsistencies resolved, I could finally focus on higher-level motion control.</p>

<p>By mounting an ADXL345 accelerometer to the hotend or the bed, the printer could run controlled vibration sweeps at increasing frequencies on each axis. Klipper uses these measurements to identify the resonant peaks of the X and Y axis. Once identified, it applies an input shaper algorithm developed by the Klipper community to counteract those resonances during high-speed printing.</p>

<p>This was one of the first moments where the printer started behaving like a real robotic system. It was a clear example of how electronic feedback loops directly improve mechanical motion.</p>

<p>Once everything fell into place, I could see the printer as a cousin to CNC mills and robotic arms with their reliance on sensors and feedback loops, the independent motors on different axes, resonance compensation and repeatable motions. They are not rigid bodies, but machines that interact and shape the real world and are in return affected by vibration, heat and material properties, all controlled by software.</p>]]></content><author><name>Satya Praneet Challapilla</name></author><category term="3D" /><category term="printer" /><category term="documentation" /><category term="modding" /><category term="customization" /><category term="diy" /><summary type="html"><![CDATA[Building my own 3D printer: The beginning of my journey]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="/3dprinter.JPEG" /><media:content medium="image" url="/3dprinter.JPEG" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Home Server</title><link href="/home-server" rel="alternate" type="text/html" title="Home Server" /><published>2025-10-06T00:00:00+00:00</published><updated>2025-10-06T00:00:00+00:00</updated><id>/home-server</id><content type="html" xml:base="/home-server"><![CDATA[<h2 id="homelab--self-hosting">Homelab &amp; Self-Hosting</h2>

<p>I self-host a bunch of services on a Raspberry Pi 5 with a 1TB SSD, using Docker for orchestration. I actually ended up printing a case for the raspi and even made a standoff to hold the ssd in place without putting strain on it.</p>

<p>My stack includes Jellyfin, Sonarr, Radarr, qBittorrent (through Gluetun), and Audiobookshelf with media storage structured and symlinked for easy access. It’s a compact but powerful setup that runs my entire media and backup workflow.</p>

<p>My unified docker compose can be found here: <a href="https://github.com/satyapraneet63/raspi-apps">repo</a>
I use portainer to have a GUI for my containers.</p>

<p>Going down this rabbit hole was the reason I elected to get a domain for myself and start a personal website.</p>]]></content><author><name>Satya Praneet Challapilla</name></author><category term="facts" /><category term="documentation" /><category term="self-hosting" /><category term="diy" /><summary type="html"><![CDATA[Homelab &amp; Self-Hosting]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="/raspi.JPEG" /><media:content medium="image" url="/raspi.JPEG" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Art</title><link href="/painting" rel="alternate" type="text/html" title="Art" /><published>2025-10-06T00:00:00+00:00</published><updated>2025-10-06T00:00:00+00:00</updated><id>/painting</id><content type="html" xml:base="/painting"><![CDATA[<h2 id="solo-mural-in-my-bedroom---visual-design-in-my-personal-space">Solo Mural in my bedroom - Visual design in my personal space</h2>
<!--![image](/assets/img/collage.jpg)-->
<p>During a dark time in my life, I found solace in a video game called Disco Elysium. While the story and music were phenomenal, I was spellbound by its art direction by Aleksander Rostov. 
i
Playing the game was a visceral experience. The atmosphere was grimy and muted and decayed. Rough. But undeniably beautiful. I wanted a piece of that beauty for myself, just with some of the grime wiped away.</p>

<p>The phrase “Whirling in Rags”, the name of an inn in the game became my central idea. A fragile optimism, hope amidst ruin. Painting it into the wall itself rather than using a removable surface was a choice. Its a statement, that this art will always be a part of my personal space.</p>

<p>This project helped me understand visual composition, texture and mood. It was a fun challenge trying to recreate the digital strokes of the artist using traditional brushes and palette knives.</p>

<h2 id="personal-artworks">Personal artworks</h2>

<p><img src="/assets/img/personal.png" alt="IMAGE!!!" /></p>

<p>Character design and creature concept art appeals a lot to me as an exploration of form silhouette and proportion . I am self-taught and have experimented with different media including pencil, ink, water colour and acrylics.</p>

<p>For pencil and ink, I am most inspired by the work of Nico Delort, whose works I have tried to emulate using varied line weights and heavy textured shading. His use of strong contrast and negative space is inspiring to me. To communicate so much using only a few dark lines.</p>

<p>I believe that intent and clarity of form are essential to design. That form follows function and it is very important to declare that for human interfacing systems.</p>

<h2 id="department-of-art-design-and-publicity">Department of Art, Design and Publicity</h2>

<p><img src="/assets/img/adp1.png" alt="image" /></p>

<p>As a member of my college’s Department of Art, Design and Publicity, I worked on large-scale visual installations for campus festivals and public spaces. These included murals and decorative artworks, upto 20ft high.</p>

<p>Working at this scale introduced many constraints like material use, surface limitations, time pressure, and the need for visual clarity from a distance. Most works were executed on large chart paper using poster paints, with selective use of acrylics, spray paint, and charcoal depending on the artwork.</p>

<p>Each piece was created collaboratively by teams of five to ten people, requiring coordination of layout, color palettes, and execution styles to maintain visual coherence. In my third year, I took on the role of painting coordinator, where I was responsible for dividing the composition into workable sections, assigning tasks, and ensuring consistency across the final artwork.</p>

<p><img src="/assets/img/adp0.png" alt="image" /></p>

<p>This experience reinforced my interest in collaborative, system-level creation where individual actions contribute to a cohesive, expressive whole.</p>]]></content><author><name>Satya Praneet Challapilla</name></author><category term="facts" /><category term="documentation" /><category term="art" /><category term="painting" /><category term="murals" /><summary type="html"><![CDATA[Solo Mural in my bedroom - Visual design in my personal space During a dark time in my life, I found solace in a video game called Disco Elysium. While the story and music were phenomenal, I was spellbound by its art direction by Aleksander Rostov. i Playing the game was a visceral experience. The atmosphere was grimy and muted and decayed. Rough. But undeniably beautiful. I wanted a piece of that beauty for myself, just with some of the grime wiped away.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="/mural1.JPEG" /><media:content medium="image" url="/mural1.JPEG" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Who Am I</title><link href="/who-am-i" rel="alternate" type="text/html" title="Who Am I" /><published>2025-10-05T00:00:00+00:00</published><updated>2025-10-05T00:00:00+00:00</updated><id>/who-am-i</id><content type="html" xml:base="/who-am-i"><![CDATA[<h2 id="who-am-i">Who am I?</h2>

<p>Hello there! I am Praneet, a 25 year old guy. Engineer by education, tinkerer by choice. Graduated in 2021 from BITS Pilani with a degree in Electronics and Instrumentation Engineering.</p>

<p>My interests include painting, 3D printing, homelabbing and hobby electronics projects.</p>

<p>You can find me puttering about my printer, streaming from my homeserver or writing buggy code on my days-off. I am a hardcore believer in DIY and FOSS.</p>

<p>I also paint. Have a lot of experience with large scale paintings. If you need a mural painted in your office, you know who to contact 😉</p>]]></content><author><name>Satya Praneet Challapilla</name></author><category term="facts" /><category term="documentation" /><category term="introduction" /><summary type="html"><![CDATA[Who am I?]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="/bobby.png" /><media:content medium="image" url="/bobby.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry></feed>