12 feb 2017


Seatalk Simulator - Arduino

Arduino ProMINI :

LCD 16x2 I2C :

Seatalk TTL Adapter/Converter Scheme & PCB :

Video :

Files :   https://drive.google.com/open?id=0B-aQ4eIWtpZcS3ZEODJUdnZnSlk

Download gerber files PCB:


27 comentarios:

  1. Este comentario ha sido eliminado por el autor.

  2. Hola German. Fantástica página. Me va a ayudar mucho a testear los ST50 que llevo instalados.
    Una pregunta. He visto un esquema similar del adaptador seatalk-TTL y no lleva el 7805. Asimismo en tu esquema tampoco lo lleva. Si lo hace la placa y el circuito que muestras en el video. ¿Cual es su función? Las salidas RX TX las utilizaría con un arduino.

  3. La función del 7805 es alimentar el Arduino y la pantalla LCD, asi que, con la alimentación 12v que viene del seatalk (cable rojo) no necesitas nada más, (es conveniente ponerle un pequeño radiador al 7805).

    Este adaptador TTL además de cambiar el voltaje de la señal, también la invierte, fíjate que la señal Seatalk (cable amarillo) es 12v-0v-12v (no-invertida) y la del arduino es 0v-5v-0v (invertida).

    Un saludo.

  4. Queda claro. Ahorro un cable extra para alimentar el arduino.

  5. Hello, great job
    could this simulator can be used to test st6000 head

    1. Yes, but for test ST6000 better try with a Seatalk Monitor:



  6. HOla, Gracias pro compartir tu proyecto, me resulta muy interesante y quiero replcarlo.
    me puedes decir que libreria de LCD i2C utilizaste ?
    no logro compilar el proyecto en el IDE de Arduino

  7. Las librerías usadas están en el fichero de descarga.
    Comprueba las direcciones del LCD que no siempre son las mismas

  8. Hi, thanks a lot for sharing your projects. I am a newbie of playing with Arduino and is now studying how to use Arduino to send out Seatalk data. In your reply to comment on 2May2017, you stated that “Este adaptador TTL además de cambiar el voltaje de la señal, también la invierte, fíjate que la señal Seatalk (cable amarillo) es 12v-0v-12v (no-invertida) y la del arduino es 0v-5v-0v (invertida).” (translated by Google: “In addition to changing the signal voltage, this TTL adapter also reverses it, note that the Seatalk signal (yellow cable) is 12v-0v-12v (non-inverted) and that of the Arduino is 0v-5v-0v (inverted).”)
    However, from my understanding, Arduino TTL is non-inverted (i.e. 3.3/5v high, 0v low, idle bit high, start bit low) and for Arduino TTL to send data via Seatalk, we only need to scale up the voltage. Can you please shed me some light what I misunderstood? Thank you.

  9. Seatalk signal : bit 0 = 12v bit 1 = 0v

    Arduino signal : bit 0 = 0v bit 1 = 5v

    Convert volt 12 to 5 and invert signal


  10. Thank you very much for your reply and confirmation that my understanding regarding the Arduino TTL voltage (i.e. 0v for 0, 5v for 1) is correct. However, your reply also stated that the voltage of Seatalk is bit 0 = 12v bit 1 = 0v! This is contradicting with what I got from thomasknauf.de in which it is stated that “Serial Data, yellow: +12V=Idle/Mark=1, 0V=Space/Data=0”. Can you please give me some hints on what I got wrong? Thank you.

  11. Este comentario ha sido eliminado por el autor.

  12. Este comentario ha sido eliminado por el autor.

  13. HardwareSerial 9bits NickGammon :


    1. Thanks mate. Does it interfere with the normal behaviour of HardwareSerial when working at 8 bits? Any collateral effect?

  14. Hi,

    Good job !

    I want to try it.

    Do you have a gebber file to print your circuit.

    I want to make it with https://cart.jlcpcb.com

    layer = 1
    dimension = 70mm x 70mm


    Best regards

  15. Added Gerber files link above.

    In JLCPCB : Panel by JLCPCB x = 2, y = 3
    Total = 30 pcbs x 10$

  16. Thanks.

    I buy protocard on fix nano, resistor, BC557, BC547.

    It's dont work. I need your help to fix it.

    Tension seatalk 12V : OK
    Tension GND : OK
    Tension 5V Arduino : OK
    Display screen : OK
    SendByte : KO
    Which the tension on yellow cable, seatalk ?

  17. Yellow cable in Seatalk is DATA 0-5V

  18. Just 2 values on yellow cable :
    OFF = 0V
    ON = 5V

    with flow 4800baups, the signal switch with this two values.

    We cant have for example 3V on seatalk ?

    Thats right ?

  19. Forget my question, answer is on your code

    digitalWrite(SEATALK_TX_OUT, LOWL); // allow output to float

    in int SendBit ( int cError, int cBit )
    digitalWrite(SEATALK_TX_OUT, cBit); // send bit to output

    Yellow cable give a analogic signal between 0 - 5V at 4800baups speed

    I track the issue on my proto arduino card

    Thanks a lot

  20. Hi,

    It's still KO.

    void loop () {

    digitalWrite(SEATALK_TX_OUT, LOWL);

    digitalWrite(SEATALK_TX_OUT, HIGHH);

    Which value, i must see at probe "Seatalk data" ?

    I try to simulate your scheama in EasyEDA
    I change :
    BC457 in 2N2222
    BC557 in 2N2907

    It's correct ?

    It's correct ?

  21. BC547 BC557 pinout 1-C 2-B 3-E
    2n2222 2N2907 pinout 1-E 2-B 3-C

  22. Hello,
    Do you have some technical informations on SeatalkNG?
    My goal is to create a SeatalkNG to NMEA0183 (usb) to be used on OpenPlotter (Raspberry pi)