navigationGo.pngQuick Navigation
allprojects32.pngAll projects
hardware32.pngHardware
links32.pngLinks

favoriteStar32.pngTop projects
Alan numitron clock
Clapclap 2313/1386
SNES Pi Webserver
USB Volume/USB toys
Smokey amp
Laser cutter
WordClock
ardReveil v3
SNES Arcade cabinet
Game boy projects
cameleon
Home Presence Detector

github32.pngGitHub
AlanFromJapan

navigationMail.pngContact me

alanfjmail.png
3flags.pngWho's Alan?


Akizukidenshi
Elec-lab
Rand Nerd Tut
EEVblog
SpritesMods
Switch-science
Sparkfun
Suzusho
Datasheet Lib
Reddit Elec
Ermicro
Carnet du maker (fr)
Marutsu
ATmel blog (defunct)

Arduino and Aques-Talk ICs

kalshagar - Arduino and Aques-Talk ICs

LSI ATP3011

This IC is in fact a ATmega328 with a custom firmware. Homepage is here : http://www.a-quest.com/products/aquestalkpicolsi.html

With Arduino

Instead of an Arduino

If you happen to have a Arduino 2009 or Uno under your hand, just remove the ATmega 328, put the AquesTalk IC in place, link the output DIGITAL 6 to your opamp (Signal amplification (OpAmp)). Then open your arduino IDE or whatever Terminal software, connect to the right COM port, use settings 9600 bauds and end of line = Carriage Return.
  1. Type '?' + <ENTER>
    1. This is mandatory. It tells the chip to initialize and get ready.
  2. Type 'konnichiwa.' + <ENTER> and listen...

Using an Arduino

After some research, appears the recommended way to make the 2 talk is via I2C. There is some nice sample on the boss's (of AquesTalk) blog. They even made a Arduino library.
In 2 words :
  • Wire Arduino A5 to LSI's PC5 (same pin on both in fact)
  • Wire Arduino A4 to LSI's PC4 (same pin on both in fact)
  • Pull UP both lines with 1 resistor of 10kOhm for each line
  • Pull DOWN the SMOD0 (aka PD2) with a simple wire : it tells the LSI that the communication will be done via I2C (default is UART, both pins SMOD0 & SMOD1 are pulled up internally)

Arduino_AquesTalk_Library.zip

A sample PC echo : type something in the terminal application, it will be spoken aloud by the LSI.
#include <AquesTalk.h>
#include <Wire.h> 
 
//A serial PC-speech echo
// based on Hello Talk - AquesTalk pico LSI
AquesTalk atp;
void setup()
{
  Serial.begin(9600);
}
 
#define BUFF_SIZE 64
void loop()
{
  char vBuff[BUFF_SIZE];
  if (Serial.available() > 0) {
    byte vRead = Serial.readBytesUntil(13, vBuff, BUFF_SIZE);
 
    vBuff[min(vRead, BUFF_SIZE-1)] = '.';
    vBuff[min(vRead+1, BUFF_SIZE-1)] = 0;
 
    Serial.print("Read x char : "); Serial.println(vRead, DEC);
    Serial.print("message : "); Serial.println(vBuff);
 
    atp.Synthe(vBuff);
  }
}
All content on this site is shared under the MIT licence (do what u want, don't sue me, hat tip appreciated)
electrogeek.cc ~ Formerly known as Kalshagar.wikispaces.com (AlanFromJapan [2009 - 2019])