Masahiro Mizuno
Published © GPL3+

Tiny AVR Programmer "CHUU"

Tiny AVR programmer: it's useful when writing bootloader to a raw chip.

IntermediateProtip4 hours543
Tiny AVR Programmer "CHUU"

Story

Read more

Custom parts and enclosures

CHUU gerber

Schematics

CHUU schematic

Code

ArduinoISP modification

Arduino
By adding the following code to Arduino ISP, you can use Serial Monitor functions using D12 / D13.
void monitormode() {
   SoftwareSerial monit(12, 13); // softUART pin setup for LCD   12:Rx 13:Tx
   monit.begin(9600);            // Rx:12
   Serial.begin(9600);
   digitalWrite(LED_ERR, HIGH);
   Serial.println("Serial Monitor Ready");
   delay(2500);
   while (digitalRead(4) == 1) {
      if (monit.available())
      Serial.write(monit.read());
      if (Serial.available())
      monit.write(Serial.read());
   }
   Serial.println("Upload Ready");
   Serial.println("After Upload Please Reset");
   digitalWrite(LED_ERR, LOW);
   delay(2500);
   Serial.begin(19200);
}
void loop(void) {
  if(digitalRead(4) == 0) { monitormode(); } // check sw
  
  // is pmode active?
  if (pmode) digitalWrite(LED_PMODE, HIGH); 
  else digitalWrite(LED_PMODE, LOW);
  // is there an error?
  if (error) digitalWrite(LED_ERR, HIGH); 
  else digitalWrite(LED_ERR, LOW);

  // light the heartbeat LED
  heartbeat();
  if (Serial.available()) {
    avrisp();
  }
}

Credits

Masahiro Mizuno

Masahiro Mizuno

20 projects • 32 followers
Chief Prototypist. 20+ years R&D experience in wide range of technology.

Comments