Arduino flasher 3.3v: Difference between revisions

From flashrom
Jump to navigation Jump to search
No edit summary
Line 24: Line 24:
* Get an USB cable and don't connect it to the computer
* Get an USB cable and don't connect it to the computer
* Connect it to the FTDI adapter
* Connect it to the FTDI adapter
* Connect the clip (Like a SOIC-8 or SOIC16 Pomona clip) to the arduino
* If you use a clip (Like a SOIC-8 or SOIC16 Pomona clip), connect it to the arduino
* Connect the chip to the clip, or if you don't use a clip, the chip to the arduino
* Connect the USB cable to the computer.
* Connect the USB cable to the computer.
== Flashing ==
* Run flashrom like that:
flashrom -p serprog:dev=/dev/ttyUSB0:115200
== Research and thanks ==
* At 3.3V setup doesn't work with frser-duino default settings (make ftdi && make flash-ftdi)
* Thanks a lot to SwiftGeek on IRC (#libreboot on Freenode) for finding and explaning to me how to workaround it
* I still need to understand why it works when lowering the clock, it is probably related to the crystal. I need to look in the atmega328P datasheet to understand.

Revision as of 15:56, 16 March 2017

Introduction

This explains how to:

  • Easily lower the voltage of an arduino
  • Use that arduino to flash a coreboot image on a GM45 Thinkpad with a SOIC16 chip

It requires:

  • An AVR Arduino at 5v
  • An USB<->Serial adapter capable of providing enough current to power up:
    • The arduino
    • The flash chip
    • The circuits around the flash chip

It was tested with:

  • An Arduino.org "nano version 3.3"
  • A Sparkfun "FTDI Basic 3v3" (Uses an FTDI FT232R)

HOWTO

  • Flash the Arduino with frser-duino and lower the serial port speed to 115200
# make u2
# BLBAUD=57600 SERIAL_DEV=/dev/ttyUSB0 make program
  • Connect the FTDI adapter to RX and TX of the arduino
  • Connect the 3V3 of the FTDI adapter to the 5V pin of the Arduino
  • Connect the GND of the FTDI adapter to the GDN of the arduino.
  • Get an USB cable and don't connect it to the computer
  • Connect it to the FTDI adapter
  • If you use a clip (Like a SOIC-8 or SOIC16 Pomona clip), connect it to the arduino
  • Connect the chip to the clip, or if you don't use a clip, the chip to the arduino
  • Connect the USB cable to the computer.

Flashing

  • Run flashrom like that:
flashrom -p serprog:dev=/dev/ttyUSB0:115200

Research and thanks

  • At 3.3V setup doesn't work with frser-duino default settings (make ftdi && make flash-ftdi)
  • Thanks a lot to SwiftGeek on IRC (#libreboot on Freenode) for finding and explaning to me how to workaround it
  • I still need to understand why it works when lowering the clock, it is probably related to the crystal. I need to look in the atmega328P datasheet to understand.