Simple CPU in Xilinx Spartan 3E FPGA based Digilent Basys2 board

This simple CPU is running on Digilent Basys2 with basic instructions. It is Von Neumann architecture. Each instruction is 32 bit. ALU(Arithmetic Logic Unit) is capable of 32 bit if operands are¬†loaded from memory. Otherwise direct operations only support 14 bit. GitHub¬†(https://github.com/hasanunlu/simple_cpu) has all necessary files (Design files, binary download, memory dump and example bubbleContinue reading “Simple CPU in Xilinx Spartan 3E FPGA based Digilent Basys2 board”

Full Speed Bit-Bang I2C demo for Risc-V architecture HiFive-1 board

HiFive-1 is first Arduino compatible Risc-V board. Unfortunately HiFive-1 only has PMW, UART and SPI hardware. Over the weekend, I implemented bit-bang I2C clocking up to 400KHz for my HiFive-1 board. Demo uses MPU6050 sensor read all axises and prints g in axis Z. The code is here: https://github.com/hasanunlu/i2c_demo_for_HiFive1 Next step, I will migrate myContinue reading “Full Speed Bit-Bang I2C demo for Risc-V architecture HiFive-1 board”

Speed of Light Measurement using Texas Instrument TDC7201 (Basic LIDAR concept)

In this experiment, we measure light delay in 15 meters fiber cable using TDC7201 Time to digital converter. I used common parts you can find any where easily. All fiber cables in here are Toslink optical cable and very cheap. My measurement is 99.2[ns] in 15 meters cable. If it is in vacuum environment, lightContinue reading “Speed of Light Measurement using Texas Instrument TDC7201 (Basic LIDAR concept)”

Intermediate Axis Theorem

One of the interesting physics phenomena is intermediate axis theorem, if the rigid object has increasing moment of inertia for each orthogonal axis and you spin it axis of intermediate moment of inertia it oscillates. Here is the video: The analysis of system using rigid body equations: In that case and are zero. $latex I_1Continue reading “Intermediate Axis Theorem”