All Projects → boseji → Ch341 Store

boseji / Ch341 Store

Licence: mit
Documents and Software Related to the famous CH341a used in I2C/SPI Flash Programmers also called as Bios Programmers

Projects that are alternatives of or similar to Ch341 Store

Johnny Five
JavaScript Robotics and IoT programming framework, developed at Bocoup.
Stars: ✭ 12,498 (+5454.67%)
Mutual labels:  spi, i2c, chip
IOsonata
IOsonata multi-platform multi-architecture power & performance optimized software library for fast and easy IoT MCU firmware development. Object Oriented design, no board package to define, just pure plug & play any boards
Stars: ✭ 40 (-82.22%)
Mutual labels:  i2c, spi, drivers
Periph
Go·Hardware·Lean
Stars: ✭ 1,700 (+655.56%)
Mutual labels:  spi, i2c, chip
Rt U8g2
U8g2 for rt-thread - a monochrome graphics library
Stars: ✭ 56 (-75.11%)
Mutual labels:  spi, i2c
Raspberrysharp
A .NET/Mono IO Library for Raspberry Pi This library is a complete refactoring of Raspberry-Sharp libraries, merged into one library and updated to RB3, CM3 and RB3+
Stars: ✭ 41 (-81.78%)
Mutual labels:  spi, i2c
Tinygo
Go compiler for small places. Microcontrollers, WebAssembly (WASM/WASI), and command-line tools. Based on LLVM.
Stars: ✭ 9,068 (+3930.22%)
Mutual labels:  spi, i2c
Buck50
STM32F103 logic analyzer and more
Stars: ✭ 358 (+59.11%)
Mutual labels:  spi, i2c
Mraa
Linux Library for low speed IO Communication in C with bindings for C++, Python, Node.js & Java. Supports generic io platforms, as well as Intel Edison, Intel Joule, Raspberry Pi and many more.
Stars: ✭ 1,220 (+442.22%)
Mutual labels:  spi, i2c
Rtd 2660 Programmer
Realtek RTD2660/2662 programmer
Stars: ✭ 60 (-73.33%)
Mutual labels:  i2c, programmer
Nf Interpreter
⚙️ nanoFramework Interpreter, CLR, HAL, PAL and reference target boards
Stars: ✭ 168 (-25.33%)
Mutual labels:  spi, i2c
Powershell Iot
Interact with I2C, SPI & GPIO devices using PowerShell Core!
Stars: ✭ 106 (-52.89%)
Mutual labels:  spi, i2c
Luma.oled
Python module to drive a SSD1306 / SSD1309 / SSD1322 / SSD1325 / SSD1327 / SSD1331 / SSD1351 / SH1106 OLED
Stars: ✭ 560 (+148.89%)
Mutual labels:  spi, i2c
Rppal
A Rust library that provides access to the Raspberry Pi's GPIO, I2C, PWM, SPI and UART peripherals.
Stars: ✭ 463 (+105.78%)
Mutual labels:  spi, i2c
Cylon
JavaScript framework for robotics, drones, and the Internet of Things (IoT)
Stars: ✭ 3,862 (+1616.44%)
Mutual labels:  i2c, chip
Esp8266 Oled Ssd1306
Driver for the SSD1306 and SH1106 based 128x64, 128x32, 64x48 pixel OLED display running on ESP8266/ESP32
Stars: ✭ 1,590 (+606.67%)
Mutual labels:  spi, i2c
Esp32 Mpu Driver
ESP32 full library for all MPU6000 MPU6050 MPU6500 MPU9150 MPU9250 with SPI and I2C support and more.
Stars: ✭ 111 (-50.67%)
Mutual labels:  spi, i2c
Swiftygpio
A Swift library for hardware projects on Linux/ARM boards with support for GPIOs/SPI/I2C/PWM/UART/1Wire.
Stars: ✭ 1,188 (+428%)
Mutual labels:  spi, i2c
Ssd1306
Driver for SSD1306, SSD1331, SSD1351, IL9163, ILI9341, ST7735, PCD8544, Nokia 5110 displays running on Arduino/ESP32/Linux (Rasperry) platforms
Stars: ✭ 303 (+34.67%)
Mutual labels:  spi, i2c
Elixir ale
Interact with hardware in Elixir - GPIOs, I2C and SPI
Stars: ✭ 336 (+49.33%)
Mutual labels:  spi, i2c
Gopi
Raspberry Pi Go Language Interface
Stars: ✭ 82 (-63.56%)
Mutual labels:  spi, i2c

CH341-Store

Documents and Software Related to the famous CH341a used in I2C/SPI Flash Programmers also called as BIOS Programmers

Please note that this repository is a Coagulation of know-how from different sources.

CH341A Devices

Source : https://www.onetransistor.eu/2017/08/ch341a-mini-programmer-schematic.html

About CH341

This is versatile USB to multi-protocol converter chip.

There are 4 major items that become clear from the enclosed Datasheet(English)

  • UART - The chip can be used as a USB to UART converter. It can also be used for RS-485 since it has automatic driver control pin also available.
  • Synchronous Serial - I2C and SPI - The chip has 3 chip select pins and Multi-mode support for SPI protocol. Also the chip has dedicated I2C pins.
  • Parallel Interface - This interface can be used to talk to parallel memory Bus with all the required control signals
  • Printer Port - The device can emulate a EPP Parallel Port over USB to be able to connect to older printers .etc.

Attributions

CH341a based Programmer

The Main uses that this chip finds is programing SPI flash chips. These SPI flash chips are often used in the BIOS of many computer cards. In fact most of the WiFi routers use these SPI flash chips to store the embedded Linux image. So ideally these programmers can actually help you swap the Linux image on a WiFi Router. Also it has been reported that this programmer can be used to recover bricked or locked out BIOS from laptops.

Lets look at how the programmer looks like:

Typical CH341 based programmer

Source: https://www.onetransistor.eu/2017/08/ch341a-mini-programmer-schematic.html

Folks at Onetransistor have been kind enough to provide a schematics also:

Schematics of a CH341 based programmer

Source: https://www.onetransistor.eu/2017/08/ch341a-mini-programmer-schematic.html

PCB of a CH341 based programmer

Source: https://www.onetransistor.eu/2017/08/ch341a-mini-programmer-schematic.html

CH341a Drivers

We have downloaded the drivers from Jiangsu QinHeng Ltd Website hence all should be Genuine Drivers , malicious items free.

For Windows

For Linux

Most of the times you would not need any driver specifically since its auto registered. However to communicate you might need the help of libraries.

For Android Devices

It's interesting that the manufacturer actually provides support Android support. Not only that they provide the Android application to test and the Library in .jar form.

For MAC

There is not much support for MAC from the manufacturer.

CH341a Programmer Application

We still did not find any clean programmer application, that does not contain any viruses. Hence if any one can help us provide a clean programmer application - please let us know.

We have finally found one piece of closed source software for programming. This was contributed by Github User BigBox2020. Another is usbASP Flash Programmer .aka. AsProgrammer. This is an Open-Source alternative contributed by Alexander Gavrilov.

Please find the links to the respective contributions below.

Here are few Open-source projects targeting this platform:

Contribution by Alexander Gavrilov

Here are few more Open-Source projects shared with us by Alexander Gavrilov

Here are a few Close-Source links shared with us by Alexander Gavrilov

Contribution by Github User BigBox2020

Here are a few Closed-Source links shared with us by Github User BigBox2020:

Here are a few Open-Source tool flashrom links shared with us by Github User BigBox2020:

Help Needed

Please feel free to contribute anything you believe would be helpful for the community.

Current parts that need help:

  1. Verifying closed source CH341a Programmer Application listed Last time we removed the items since community complained of virus contained in some distributions. We request help to verify the programmer solutions are safe to use before hosting them here.
  2. Translation We need help with correct translation of documentation. This might be from other languages to common English.
  3. Tutorials We need help with tutorials for building and using Open Source or Closed-Source applications for CH341a Programmer Application.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].