Making a “Jam Jar” Amplifier

An electric guitar is as good as the amplifier that is connected to it. Without an it, the guitar is not very useful to play any music. Amplifier comes in many form and can be powerful enough to make a full stadium shake. Here, we will be building one of the smallest amp you can make: a jelly jar amp. You can find various examples of this amp online and you can even buy it already built or in a kit. But here, I will show you how you can make it on your own for a couple of bucks, with few tools and components.

Read more

Modeling a custom electric guitar

3D Model of a custom electric guitar
3D Model of a custom electric guitar

I have been building electric guitars for a bit more that a year. For my first build, I chose some trusted designs to learn the building process and refine my woodworking skills. But my goal is not to mimic an instrument that has already being made but to learn new skills in design and fabrication. I am looking to use my creativity to build something that is functional and, as much as possible, aesthetically pleasing. So, after building a couple of guitars, I felt the need to come up with my own design. To gauge if my ideas made sense and to help build the instrument after, I used 3D modeling to make a virtual copy of my design.

Read more


Along my career I have used several programming languages to create finite element or molecular models, process images or perform data analysis.

The main programming language that I have used in my past projects are Matlab, Python and C++. I also occasionally used other languages such as tcl, perl.

My projects are generally centered around functionality. I chose the language based on the problematic and the availability of tools and libraries to reach the highest quality solution in the defined constraints.

Here are some examples illustrating the type of projects I have develop with this languages.

Building a collagen fibrils model for Molecular Dynamics simulations (MD)

Creation of the collagen fibril coarse grained model.

Fibril model geometry

The simulations performed in this study were generated using a mesoscopic model where solvated tropocollagen molecules are described as a collection of particles interacting according to multi-body potentials. Further details on the development of the mesoscopic model can be found in a series of previous publications (Buehler, 2006a, 2006b). In the mesoscopic model, collagen microfibril geometry is based on Protein Data Bank entry 3HR2 representing the microfibrillar structure of type I collagen measured in situ by X-ray crystallography (Orgel et al., 2006). The full atomistic information of the triple helical tropocollagen molecule is simplified and represented as a single chain of ‘beads’ or ‘super-atoms’. Every bead in the mesoscopic model represents several atoms of the full-atomistic model (Fig. 1). The influence of solvation water is also taken into account in the model. This simplification allows us to reach time scales of microseconds and length scales of several hundred nanometers that cannot be achieved using full-atomistic resolution. The coordinates of the atoms of a single tropocollagen molecule are averaged using spline approximation along the length of the molecule. Equidistant beads are then created along the spline to create the coarse-grained model (Fig. 1A and B). The distance between the beads is set to an equilibrium distance r0 of 14.0 Å, which approximates the diameter of the tropocollagen molecule. After aligning the molecule along its principal axis, the fibril is then built by replication of the tropocollagen to form a cylinder of diameter d=20nm (Fig. 1D and E). The periodicity of the molecules is given by the X-ray crystallography measurement (Orgel et al., 2006). The model of the fibril is built to exhibit five gap/overlap regions along its length and is composed of 155 tropocollagen molecules which represent a total of 33,790 beads. The structure has been built to ensure its periodicity along the fibril axis (x-axis). During the simulation, the model is replicated by using periodic boundary conditions along its length to simulate an infinitely long fibril. The length of the model is larger than a single molecule length (~300 nm) in order to prevent artefactual interactions between the two ends of a molecule through the periodic boundaries. The collagen fibrils show the characteristic staggered arrangement as observed in experiments.

Modeling enzymatic cross-links

In this study, we focus on the role of enzymatic cross-links in the mechanics of collagen fibrils. Experimental analyses of the molecular geometry suggest that intermolecular enzymatic cross-links primarily develop between lysine or hydro-xylysine residues at the ends of tropocollagen molecules (Viguet-Carrin et al., 2006; Eyre and Wu, 2005; Bailey et al., 1998; Robins and Bailey, 1977). Enzymatic cross-links form a covalent bond between side chains of the residues of two tropocollagen molecules. We study the influence of divalent and trivalent cross-links. Divalent and trivalent cross-links have been assumed to link two and three different collagen molecules respectively. Based on a distance criterion, the last bead of a collagen molecule forms a covalent bond with one or two adjacent molecules to create a divalent or a trivalent cross-link respectively. Fig. 1C shows a representation of the collagen cross-links in the model. The amount of both divalent and trivalent cross-links varies from 0 to 100% where 100% represents two terminal cross-links per collagen molecules (2 mol/mol), which is the maximum number of enzymatic cross-links that can be formed per molecule (Eyre and Wu, 2005). The distribution of the cross-links in the fibril is generated randomly.

Coarse-grained model parameterization of collagen molecules

The total energy of the system is given by the sum of all bond energy, three-body and pairwise interaction energy as

where Ebond represent the energy contribution due to stretching, Eangle, the energy due to bending and Einter, the energy due to intermolecular interactions. Each term is given by the sum of all the inter-bead interactions of this kind as

The bonding energy contributions have been modeled with a bilinear law, to approximate the nonlinear stress- strain behavior of a single collagen molecule under tensile loading, as described previously (Buehler and Gao, 2006; Buehler and Wong, 2007). The force between two particles is



where k(0)T and k(1)T are spring constants for the small and large deformations. The stretching energy Φbond(r) is given by integrating Fbond(r) over the radial distance. The bending energy contributions of triplets of particles
are defined by:

where kB has been computed based on the bending stiffness of the molecule (Buehler, 2006a, 2006b). The parameter φi represents the equilibrium angle between two beads of the coarse-grained model. Several different equilibrium angles have been selected in order to mimic a collagen molecule’s initial geometry (Fig. 1B). The angles have been measured on the coarse-grained model representing a single collagen molecule and rounded to the nearest integer to reduce the number of variables. This results in eight equilibrium angles, ranging from 170 to 1801. Intermolecular interactions are modeled by the Lennard–
Jones (LJ) potential:


where σLJ is the distance parameter and εLJ the energy parameter which determine the strength of the intermolecular adhesion without the presence of any cross-links (Buehler, 2006b). The influence of water has been taken into account during the fitting of the coarse-grained parameters with full-atomistic results and is not explicitly modeled here. No viscosity has been included here and its influence will be analyzed in a subsequent study. All coarse-grained parameters for solvated tropocollagen molecules are summarized in the following Table:


Coarse-grained model parameterization of cross-links

The cross-link properties are modeled using a bottom-up approach, in which we incorporate results from earlier work into the model. We selected two representative structures of divalent and trivalent cross-links (dehydro-lysino-norleucine and Lysyl-pyridinoline (Eyre and Wu, 2005)) and created a full atomistic model using Material studio 4.4 (Accelerys, Inc.).

Characterization of cross-links mechanical properties

The mechanical behavior of the cross-links has been assessed by steered molecular dynamics in LAMMPS (Plimpton, 1995). Using ReaxFF reactive force field, we are able to evaluate the mechanical behavior of the cross-links until failure (Fig. 2). For the trivalent cross-link, a tensile test has been performed in the three possible directions. Due to very similar behavior, the mechanical response of the cross-link has been averaged and fit to a single set of bond parameters in its coarse-grained representation. The responses of the cross- links have been assumed to be bilinear. Fibrils models have been built with the parameters of the cross-links presented in Table 1. To explore the influence of cross-links mechanical properties, we also build three fibril models with cross-links densities of 20%, 60% and 100% where the stiffness of the cross-links has been increased by multiplying the tensile stiffness parameters of trivalent cross-links by a factor two; all other parameters remain the same.

Simulation parameters and procedure

All molecular dynamics simulations are performed using the LAMMPS code (Plimpton, 1995). The integration time step is Δt=10 fs. Equilibration calculation is carried out in NPT ensemble by applying Nose–Hoover thermostat set to 300 K and Hoover barostat set to 0 Pa along fibril length. Relaxation times for the thermostat and barostat are fixed to 1 and 10 ps respectively. Tensile loading is applied within the NVT ensemble. A single fibril is equilibrated in vacuum for 20 ns and the structure reaches the equilibrium state with no further structural change measured by root-mean-square deviation of bead positions. We also ensure that the fibril length after equilibration remains similar for all models to confirm the stability of the model and to prevent any folding of the fibril. Despite the relaxation along the fibril axis, the length variation between the different models is minimal (<0.35%). A visual test was performed in addition to guarantee the conservation of the fibrillar geometry. After equilibration calculation, the structure displays the characteristic D-period of collagen fibrils in agreement with experiments (Wenger et al., 2007; Hulmes et al., 1981; Hulmes, 2002). To model tensile deformation of collagen fibril we apply homogeneous strain to the entire fibril model along the x-axis with the equivalent strain rate of 3.3m/s. This strain rate is five orders of magnitude larger than what is commonly used experimentally for stretching collagen material as the consequence of the timescale limitation of themolecular model. Total times spans of several microseconds are the most that can be simulated because of the small integration time step.We use the virial stress to compute the stress tensor (Tsai, 1979) for analysis of the strain–stress behavior of the fibril and collagen molecules.

Indentation of bone tissue

These tests have been conducted on cortical bone samples at the micro scale using Nano Indenter II (Nano Instruments Inc., USA) equipped with a Berkovich diamond tip following Oliver and Pharr (1992) guidelines. Indentation tests were performed under displacement control according the following protocol: A 0.05 s−1 constant strain rate was applied to a peak of displacement of 5000 nm, followed by a 10 s dwell at peak displacement to limit the viscous behavior of bone tissue, a 45 s withdrawal to 10% of maximum displacement, a 50-s hold period for thermal drift calculation and final withdrawal to zero displacement.

The measurements were done at relatively high load (∼500 mN) to overcome the effects related to the heterogeneity of bone tissue at lamellar level and in Continuous Stiffness Mode (CSM), to measure the mechanical properties continuously along the depth of the sample and assure the homogeneity of bone tissue. This mode consist on applying a sinusoidal solicitation during loading to measure mechanical properties for each micro-unloading.

The system was calibrated with fused silica according Oliver and Pharr (1992) protocol. The 150 bone structural units selected according to their mineral density measurements were indented. The indent location was chosen at sites distant from visible lacunae or other discontinuities.

Indentation curves were analyzed using a homemade program developed with Matlab R2010a (The MathWorks Inc., Natik MA, USA). For each indent, elastic modulus, E and contact hardness, Hc were calculated according the method described by Oliver and Pharr (1992). Assuming bone as an isotropic material, the elastic modulus was calculated from the following equation:

where Ei and νi are the elastic modulus and Poisson’s ratio of the diamond indenter (1140 GPa and 0.07 respectively). For isotropic models, the Poisson modulus of bone ν is usually assumed to be 0.3 (Zysset et al., 1999). Er is the reduced modulus, calculated using the formula:

where A is the projected contact area, β is an empirical indenter shape factor Berkovich tip (1.034) and S the stiffness of the sample derived from the initial tangent of the unloading segment of the load/depth curve. The stiffness was calculated from a power fit to the unloading curve. The regression was performed with a Levenberg–Marquardt algorithm. Contact hardness was calculated from the equation:

where Pmax is the maximum load. The values of E and Hc given by Oliver and Pharr method were highly correlated. Based on the Sakai model, Oyen and Cook dissociate elastic and plastic deformations in mineralized tissue (Oyen, 2006; Oyen and Cook, 2003; Sakai, 1999). In this model, bone is considered to be an elasto–plastic material and its mechanical behavior during loading of the indentation test is modeled as a purely elastic element connected to a purely plastic element in series in a sense of the Maxwell combination.


The elastic element is characterized by the elastic modulus E, and the plastic one by the true hardness H. Developing the constitutive relationships for pyramidal indentation for both components allow to derive Hc as a function of E and H (Sakai, 1999):

where α1 = 24.5 and α2 = 4.4 are adimensional constants associated with Berkovich indentation tip and E∗ was the plain strain modulus . The true hardness has been calculated based on this equation. The work of indentation has also been obtained from the loading and unloading curves. The total work of indentation (Wtot) is defined as the area under the loading curve, the reversible work (Wu) as the area under the unloading curve and the irreversible work (Wp) as the area enclosed by the loading and unloading curve.



Oliver, W.C., Pharr, G.M., 1992. An improved technique for determining hardness and elastic modulus. J. Mater. Res. 7, 1564–1583.
Oyen, M.L., 2006. Nanoindentation hardness of mineralized tissues. J. Biomech. 39, 2699–2702.
Oyen, M.L., Cook, R.F., 2003. Load-displacement behavior during sharp indentation of viscous-elastic–plastic materials. J. Mater. Res. 18, 139–150.
Zysset, P.K., Guo, X.E., Hoffler, C.E., Moore, K.E., Goldstein, S.A., 1999. Elastic modulus and hardness of cortical and trabecular bone lamellae measured by nanoindentation in the human femur. J. Biomech. 32, 1005–1012.

Building a CNC machine

SketchUp 3D drawing of the CNC machine model provided by

Most computer aided manufacturing systems have a common structure: a multiple axis control system. This allow for accessing a specific point in space to either remove material (laser cutter, milling machine, CNC router) or add material (3D printing). The number of axes depends on the type of machine and the flexibility needed. It can vary from two axes for a laser or plasma cutters up to five axes for the most complex milling machines. The most common tools can be controlled in three directions for the tool to reach any point in the 3D space.

After a first taste of computer aided manufacturing using a 3D printer, I realized that the mechanical part of such a system remains relatively simple. For each direction, one motor provides the motion of the tool. The most common system involves a stepper motor combined with a mechanism that converts the rotation of the motor into a translation. This can be achieved by belts or lead screws. Added to that, one or several rails are used to limit the friction forces during the motion of the tool.

Read more

A 3D printed arm for Aristide

Model of The RIT Arm v2

Few month ago, I was told the story of Aristide. Due to a congenital disease, Aristide is born without arms nor legs. He is now 9 years old. He lives in Senegal where it is difficult to get help with such a complicated pathology. It is already hard to have access to simple leg prosthesis so thinking about a patient specific bionic arm was completely out of the question. Fortunately, the rising of 3D printing methods allow for the realization of relatively simple custom prosthesis. Several examples can be found ranging from the simple shape to futuristic bionic arms a la Star Wars.

Read more

2D/3D image registration with C++ library ITK

Comparison between mineral heterogeneity from a iliac creat bone sample recorded using (a) micro-radiography and (b) micro-tomography

The objective of this project was to assess if a bench micro-CT (Skyscan 1174) could give a good estimation of the heterogeneity of bone mineral density.

Microradiography is one of the gold standard methods to measure bone mineral density at the tissue level. Thin section of bone tissue with calibrated thickness are radiographed at high resolution using a monochromatic X-ray source. The density of the tissue is measure thanks to  calibrated standards.

To compare the two acquisition modalities, the mineral density of a cylindrical bone sample was first recorded using microtomography providing a three-dimensional image of the sample. A thin section was then extracted from the same sample for microradiography measurement giving a two dimensional evaluation of the mineral density of bone sample.

Finally, 2D/3D image registration was used to retrieve the two-dimension image from the micro-radiography measurement inside the three-dimension micro-tomography image to compare the two acquisition methods. The registration have been carried out using the segmentation and registration toolkit ITK implemented in an homemade C++ program.

Read more