Showing posts with label I2C. Show all posts
Showing posts with label I2C. Show all posts

CH347 Programmer Drivers and Software for Windows

 Posted by:   Posted on:    15 comments

Now that we’ve explored the hardware aspects of the CH347T-based programmer, it’s time to dive into the drivers and software that bring this device to life. While the hardware offers substantial improvements in terms of speed and functionality, its true potential can only be unlocked with the appropriate software tools. This section will guide you through the installation process of the drivers and examine the software options available for interacting with the programmer.

One key consideration when using the CH347T programmer is the compatibility of the software and how well it manages the various serial interfaces it supports, including UART, I2C, SPI, JTAG, and SWD. We’ll explore Windows only tools, focusing on how they handle specific tasks such as memory programming, serial communication, and debugging.

CH347 Programmer Drivers and Software for Windows

CH347 Fast USB Programmer Schematic and Review

 Posted by:   Posted on:    2 comments

There is a new product on the cheap serial programmers market. Nanjing Qinheng Microelectronics Co., Ltd. (the same company which created CH341A under the brand WinChipHead) released a new and improved USB interface IC: the CH347. Zigong Yaojie Electronic Technology Co., Ltd. used this chip to make an upgraded serial memory programmer. To be more specific, they used the “T” version (CH347T) for a cheap programmer in a similar shape and size to the well known CH341A Mini Programmer.

So, is it worth to switch to CH347T programmer? If you’ve previously used CH341A Mini Programmer you may know it had some voltage levels issues (not the IC itself, but the programmer by design). It’s time to analyze the new CH347T programmer to see if old issues were fixed and what new limitations come from its currently available version.

CH347 Fast USB Programmer Schematic and Review

XTW100 Mini Programmer Usage and Tests

 Posted by:   Posted on:    No comments

Long time ago I got an XTW100 Mini Programmer and because it came without documentation I began by analyzing the hardware which resulted in tracing of its schematic. This is yet another cheap Chinese serial programmer for I2C and SPI memory chips based on STM32 microcontroller. Last time I managed to break its firmware by attempting to read it from the microcontroller. However, I got a new programmer and I’m ready to do some tests with it.

This time I will stay away from the programming port to avoid firmware damage. I will therefore focus solely on using it for the intended purpose: reading and writing memory ICs. I got myself two chips, the I2C EEPROM 24C02 and the SPI flash memory which will be used for tests. I talked about the software utility which you can use with this programmer in a previous post.

XTW100 Mini Programmer Usage and Tests

How to use the EZP2023+ USB Programmer

 Posted by:   Posted on:    19 comments

Previously I analyzed the hardware of EZP2023+ USB Programmer to find it is a rather simple device, based on CH552G microcontroller which allows for SPI, I2C and MicroWire capabilities. If you didn't know this is a serial memory programmer, which can be used to read and write a variety of memory chips, including EEPROMs and BIOS ICs commonly found in computers and other electronic devices. After I traced the schematic, I realized EZP2023+ also comes with mixed voltage levels (meaning it powers the memory to program with 3.3 V while the data bus uses 5 V for I/O) and this is a big issue since it can destroy whatever you are trying to read or program. 

In this post I will share my experience with the programmer and discover some flaws of its programming software. You should get the programming utility on a CD which is in the product box. Since recent computers and notebooks no longer have an optical drive, this is already an issue. Getting past that, on the CD you will find the user manual and accompanying software, with driver. Let's see how you get everything ready to program memory chips.

How to use EZP2023+ USB Programmer

EZP2023+ USB Programmer Overview and Schematic

 Posted by:   Posted on:    5 comments

EZP2023+ is another USB programmer for SPI, I2C and MicroWire memory chips. It is not as cheap as the CH341A however it has some nice features. I got mine from AliExpress with a set of adapters for SMD packages, an SMD clip and LCD panel adapter. It also came with 1.8 V adapter board which is also a nice thing. EZP2023+ is advertised as the fastest programmer, better than previous EZP2019. Soon after I ordered it, I found there is also EZP2025, already available in 2023...

Anyway, the main reason I got myself one is for the set of adapters which can also be used for CH341A MiniProgrammer. In comparison to that, EZP2023+ seems to be a better product, having a proper enclosure. Although I got a CD with this programmer (which contains driver, software and user manual), they forgot to mention how should I place the IC in the programming socket. I had to get a clear understanding of how it should be used properly, so I disassembled the case to have a look at the electronics.

EZP2023+ High Speed Programmer Schematic and Drivers
EZP2023+ USB Programmer

XTW100 Mini Programmer Software and Tests

 Posted by:   Posted on:    1 comment

I traced the schematic of a new SPI/I2C memory programmer based on STM32 microcontroller: the XTW100 Mini Programmer. I should now use it to program some EEPROM and flash memory chips. Unfortunately, I can't go that far. All tests with the only programming application available went wrong. Everything failed except I2C EEPROM erase. The programming utility is a simple Delphi application, with "Chinese user-friendly operation interface". Not at all user-friendly for someone whose computer does not have any support for Chinese language installed. Anyway, after I couldn't use the programmer at all, I tried debugging it. I put a logic analyzer on all the pins for I2C EEPROM and got some strange PWM-like signals on SCL and A0 lines. Then I thought I could extract the binary firmware from STM32 flash with ST-Link. Bad idea. The device seems to have entered "self-destruct" mode after I cleared the read protection bit and all I can read now is an empty flash.

My programmer is now completely useless (no LEDs, no USB activity). All it needs is a new firmware (I found that an alternative firmware does exist). Having the schematic and plenty of development options, including Arduino support, writing an alternate firmware for this device is not an impossible task. But it requires time, since a new PC programming utility is also needed. I decided to write this post anyway, maybe this programmer really works for somebody. You can get a partially translated programming tool at the end of this post.

CH341A and XTW100 Mini Programmer

CH341A and XTW100 Mini Programmer

TSA5523 Tuner Modules from PC TV Cards

 Posted by:   Posted on:    8 comments
Some of the previous posts show methods of generating analog video with microcontrollers and RF modulation of it using ready made modules. Analog video is no longer in use in most parts of the world. TV tuner cards for analog signals are no longer manufactured and old ones are difficult or impossible to install on newer computers because there are no drivers. Despite this, analog video capture devices are cheap and widely available. Most are USB dongles, with video and audio inputs, no tuner.

Since I had some old TV tuner cards that were no longer compatible with my PC or had poor performance, I decided to take the tuners out of them. To my surprise, different tuners from different manufacturers looked pretty much the same on the inside. All of them used the same integrated circuits. The tuners I found are actually complete receivers, with included demodulator. This means you can get analog audio and video straight from the module pins. There are also modules with FM support, with stereo decoder.

In the photo below, you can see two tuners. The top one has FM radio support. You can see that it's similar to the other, but the rightmost compartment has some additional filters for FM IF.

Tuners from TV cards
Tuners from TV cards

I2C Analog TV Modulator controlled by Arduino

 Posted by:   Posted on:    36 comments
Analog video is getting replaced by digital signals which provide better resolution and picture without noise or interference. But, analog video signal is easy to generate with simple hardware and then it can be FM modulated for broadcasting over a wire. I2C controlled RF modulators are common modules in obsolete VCRs and set top boxes. Most of them cover the entire UHF band and support multistandard sound carrier frequencies. Once taken out of its device, the modulator needs a microcontroller to set up its frequency and other parameters.

Using an Arduino board with LCD and keypad shield a full featured modulator can be built. Arduino can be used to generate video too, but a single board can't use I2C and generate video in the same sketch. You'll need different boards if that's what you want to do.

I used for this project a Samsung RMUP74055AD modulator with MBS74T1AEF controller. Some searching reveals the same IC is also used by Tena TNF0170U722 modulator. Some datasheets will come up too, if you search for them. Anyway, these modulators are 5V devices.

RMUP74055AD UHF RF modulator
RMUP74055AD UHF RF modulator

CH341A I2C Programming (Windows API)

 Posted by:   Posted on:    21 comments
CH341A is an USB interface chip that can emulate UART communication, standard parallel port interface, parallel communication and synchronous serial (I2C, SPI). The chip is manufactured by Chinese company Jiangsu QinHeng Ltd.

CH341A is used by some cheap memory programmers. The IC is somehow limited in this configuration, because the programmer makes use only of the SPI and I2C interface. A popular device is the so-called "CH341A MiniProgrammer" that you can buy for 2 to 5 USD. And this is probably the cheapest device using CH341A.

If you got a "MiniProgrammer", you may want to use for more than memory chips programming. The device can actually be used as USB to I2C converter (not only I2C, but this article will focus only on I2C function). Let's see how to use the included library and header to communicate with I2C devices.
CH341A I2C Programming

CH341A Mini Programmer Schematic and Drivers

 Posted by:   Posted on:    78 comments

CH341A is an USB interface chip that can emulate UART communication, standard parallel port, memory parallel port and synchronous serial (I2C, SPI). The chip is manufactured by Chinese company Jiangsu QinHeng Ltd. CH341A is used by some cheap memory programmers. The IC is somehow limited in this configuration, because the programmer makes use only of the SPI and I2C interface and leaves a lot of pins unconnected. A popular device is the black CH341A MiniProgrammer that you can buy for 2 to 5 USD.

The problem with these devices is that you get them without any documentation or software. Drivers are available from manufacturer's website (but the site is written in Chinese). Also, some source codes are available from manufacturer. There are open source applications that support this programmer. But, first of all, let's have a look at the hardware.

Photo of the black CH341A Mini Programmer

Photo of the black CH341A Mini Programmer