<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>teardown on Deepak Kandepet</title><link>https://kandepet.com/category/teardown/</link><description>Recent content in teardown on Deepak Kandepet</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Wed, 14 May 2025 06:34:16 +0000</lastBuildDate><atom:link href="https://kandepet.com/category/teardown/index.xml" rel="self" type="application/rss+xml"/><item><title>Deconstructing a flashlight</title><link>https://kandepet.com/deconstructing-a-flashlight/</link><pubDate>Thu, 04 May 2017 22:30:39 +0000</pubDate><guid>https://kandepet.com/deconstructing-a-flashlight/</guid><description>Ever wondered how the modern flashlight works? What happens when you click the switch on, or click it multiple times to change the brightness? I was curious about it as well, so I deconstructed a commercially available flashlight (&lt;a href="https://www.amazon.com/Flashlight-Astrolux-Zoomable-Waterproof-Adjustable/dp/B018M0B5Y4"&gt;Astrolux S1&lt;/a&gt;) and studied the parts; even reprogrammed it to have different levels of brightness. Here is what I found out.</description></item><item><title>Marlin 3D printer firmware: Delta inverse kinematics</title><link>https://kandepet.com/marlin-3d-printer-firmware-delta-inverse-kinematics/</link><pubDate>Thu, 09 Mar 2017 23:54:36 +0000</pubDate><guid>https://kandepet.com/marlin-3d-printer-firmware-delta-inverse-kinematics/</guid><description>With a simple cartesian printer, the carriage mechanism moves directly along rails in each of the x, y and z directions. If you want to move a print head from the origin to, say, (10,10,20) you simply direct the motors to move it 10mm along the x axis rail, 10 along the y axis rail and 20 along the z. With a delta printer, it’s not so simple. Moving any one of the carriages which run up and down the three vertical towers will cause movement of the printer nozzle in x,y and z simultaneously. Inverse kinematic calculations are required to work out how to move all three carriages to move the print head to the given (x,y,z) coordinates.</description></item><item><title>Dissecting the ErgoDox - The Ergonomic Programmable Keyboard</title><link>https://kandepet.com/dissecting-the-ergodox-the-ergonomic-programmable-keyboard/</link><pubDate>Fri, 10 Jun 2016 21:30:16 +0000</pubDate><guid>https://kandepet.com/dissecting-the-ergodox-the-ergonomic-programmable-keyboard/</guid><description>Invented by Dominic Beauchamp (a.k.a Dox), the ErgoDox is an ergonomic mechanical keyboard that uses an open hardware and software. This keyboard uses a split design that allows your arms to rest naturally at your sides. The split also allows you to angle the boards and doesn’t force you to contort your wrists. The keyboard is also fully programmable. Lets find out how it actually works.</description></item><item><title>Dissicting the 82559 Ethernet controller - From bits to waves</title><link>https://kandepet.com/from-bits-to-waves-the-inner-workings-of-an-ethernet-controller/</link><pubDate>Wed, 09 May 2012 13:57:00 +0000</pubDate><guid>https://kandepet.com/from-bits-to-waves-the-inner-workings-of-an-ethernet-controller/</guid><description>&lt;p&gt;When I first started working, I was very interested in learning about the Linux kernel. Specifically the TCP/IP stack and the inner workings of an Ethernet controller. To learn more, I picked one of the most widely used Ethernet controllers at that time, the &lt;a href="http://www.intel.com/design/network/products/lan/controllers/82559.htm" title="Intel 82559 10/100 Fast Ethernet Controller"&gt;Intel 82559 10/100 Fast Ethernet Controller&lt;/a&gt; and one of its open-source drivers, the &lt;a href="http://lxr.free-electrons.com/source/drivers/net/eepro100.c?v=2.4.37"&gt;eepro100&lt;/a&gt;.&lt;/p&gt;&#10;&lt;p&gt;Thought 82559 chip is no longer manufactured and the eepro driver has been deprecated, this article will still serve as a guide for how an ethernet controller works. We&amp;rsquo;ll look at how the eepro100 driver interfaces with the Intel 82559 chipset and how the 82559 converts the packets sent by the driver to signals transmitted over physical ethernet cable.&lt;/p&gt;&#10;</description></item></channel></rss>