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 (Astrolux S1) and studied the parts; even reprogrammed it to have different levels of brightness. Here is what I found out.
Continue readingPost Category → teardown
Marlin 3D printer firmware: Delta inverse kinematics
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.
Continue readingDissecting the ErgoDox – The Ergonomic Programmable Keyboard
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.
Continue readingDissicting the 82559 Ethernet controller – From bits to waves
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 Intel 82559 10/100 Fast Ethernet Controller and one of its open-source drivers, the eepro100.
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’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.
Continue reading