Skip to main content

Posts

Showing posts with the label SPI

STM8S005C6T6 Ethernet development board

In this project, we built an STM8S005C6T6 based Ethernet development board for our IoT experiments. This development board consists of ENC28J60 , 10BASE-T stand-alone Ethernet controller, CH340G , USB serial interface, 2 LED indicators, and passive buzzer unit. The firmware framework for this development board has been developed using SDCC . To enable IPv4 support, we convert the EtherCard driver, which is available for the Arduino platform. The current version of this driver supports all other EtherCard functions except TCP support. Finished STM8S005C6T6 IoT development board. In the given design, the SPI terminals of the MCU are connected to the ENC28J60 Ethernet controller. All SPI terminals, such as MISO / PC7 , MOSI / PC6 , and SCK / PC5 , are connected directly to the Ethernet controller. In addition, the PC4 terminal of the MCU is used as ENC28J60, CHIP-SELECT .  The CH340G USB serial interface is connected to the UART2 terminals of the MCU. In STM8S005C6T6, the UAR...

MCP4141 based digital potentiometer

The main objective of this project is to create an experimental prototype of a digital potentiometer using Microchip's MCP4141 IC. MCP4141 is available with end-to-end resistances of 5KΩ, 10KΩ, 50kΩ, and 100KΩ. This potentiometer-module can drive MCP4141 with any of the above mention resistances. 3D view of MCP4141 based digital potentiometer PCB To drive the MCP4141, this module use ATtiny13 MCU. This MCU control MCP4141's resistance, based on the rotary-encoder events. ATtiny13 is an 8-pin, low power 8-bit MCU with an internal oscillator. The key reason to pick this MCU is its availability and lower price. Due to a lack of hardware-based SPI, this system use bit-banging SPI implementation to drive the MCP4141 IC. To reduce the board size, this module employs only 3 components. Which including ATtiny13, MCP4141, and rotary-encoder. The dimension of the PCB design given for this module is 26.16mm × 29.72mm. Breadboard wiring diagram This is an open-source har...

FlashProg - USB serial flash memory programmer

FlashProg is USB base flash memory programmer to work with 3.3V serial flash memory devices. This programmer is specifically design to read, program and configure 25x series, serial flash memory devices which are commonly used to store BIOS in PC mainboards. Originally we design this project to read and program BIOS of Foxconn G31MXP mainboard. Our version of G31MXP contains Macronix MX25L8005 8M-Bit serial flash memory and we use this programmer to load some of our custom BIOS to this serial memory. MX25L8005 SPI flash memory on Foxconn G31MXP mainboard FlashProg programmer is built around Atmel ATmega8A microcontroller with standard through-hole type components and it support for both 32 bit and 64 bit Windows and Linux operating systems. All the compiled binaries for both the platforms are available at project home page at flashprog.sourceforge.net . This programmer use very few components and it can be easily constructed on breadboard or on PCB. Both EAGLE and PDF...