gazzer82

gazzer82

Hey Folks,

I am attempting to use the UART port on the Grisp2 board as a RS232 port for connecting to an external network switch. I have connected the PmodRS232 to, Pmod board facing upwards, and connected to the bottom row of the Pmod connector (which I THINK is the correct pinout). I have the JP1 on the board removed to disable flow control e.t.c

However when using circuits.UART I am unable to read anything from the port, which I believe should be “ttymxc3”, I have even just looped the TX back into the RX on the RS232 connector and directly on the UART header and still have nothing coming back on the port.

There’s a very strong possibility that I’ve misunderstood the port mapping on this though, and I can see a reference to /dev/ttyS3 in the linux/imx6ul-grisp2.dts‎ file, that might imply that I need to configure that port to be UART rather than GPIO, but I’m not really sure how to go about that?

Any help/guidance greatly appreciated!

Thanks

Showing Posts 1 to 3

peerst

peerst

GRiSP Core Team

The UART on GRiSP2 is a UART 3A Pmod (the double row)

Description here https://digilent.com/reference/_media/reference/pmod/pmod-interface-specification-1_2_0.pdf

The signals corresponding to the single row UART Pmod are pin 1-6 which is actually the upper row. You can see pin 1 marked on the PCB

gazzer82

gazzer82 OP

Thanks for the pointer, can’t believe I didn’t notice that 1 on the board, apologies!

However, this still doesn’t seem to be working, have looped together pins 2/3 (top row, second and third from the right as you look at the PMOD), and I am still not getting anything back on the port when I send on either ttymcx0 or ttymcx3

iex(livebook@nerves-1157.local)1> {:ok, pid} = Circuits.UART.start_link

{:ok, #PID<0.3555.0>}

iex(livebook@nerves-1157.local)2> Circuits.UART.open(pid, "ttymxc3", speed: 9600, active: true)

:ok

iex(livebook@nerves-1157.local)3> flush

:ok

iex(livebook@nerves-1157.local)4> Circuits.UART.write(pid, "Hello there\r\n")

:ok

iex(livebook@nerves-1157.local)5> flush

:ok

iex(livebook@nerves-1157.local)15> Circuits.UART.open(pid, "ttymxc0", speed: 9600, active: true)

:ok

iex(livebook@nerves-1157.local)16> flush

:ok

iex(livebook@nerves-1157.local)17> Circuits.UART.write(pid, "Hello there\r\n")

:ok

iex(livebook@nerves-1157.local)18> flush

:ok

iex(livebook@nerves-1157.local)19>
fhunleth

fhunleth

Co-author of Nerves

I was able to reproduce the issue. It turns out that Linux didn’t know to configure the pins going to the UART PMOD connector to UART mode. I fixed that in nerves_system_grisp2 v0.7.1. If you update that dependency, I believe it should work.

— All posts loaded —

Where Next? Top

Trending in Questions Top

RSP87
I’m working on a project that simulates the bumbl example in the programming phoenix book. It acts almost like an email client. We have a...
New
nseaSeb
Hello, I know there is an approach for handling lists that allows for optimized traversal, but I can’t recall the specific method (somet...
New
kpanic
Hi everyone, I am toying with the idea of building a “match maker” for giving personal help to people that wants to start coding. I sta...
New
brecabral
Documentation While reading the Scoped Routes section, I noticed that the documentation currently refers to a problem without explainin...
New
velrest
So my question is quite simple and i have found no conclusive answer on forum, google or AI. Should we use :erlang.float for Integer to ...
New
asweet-confluent
I recently noticed that Elixir’s Logger defaults its primary log level to :debug when no :logger, :level application configuration is pre...
New
apz
I’m new to elixir and just tried to install the elixirLS extension for VScode(ium) and it is throwing some errors that I would like help ...
New

Other Trending Topics Top

GenericJam
Edit: 2026 May 15 - This post is archived. Mob is alive!! Main docs: mob v0.7.11 — Documentation A bit of explanation for the slightly c...
New
JesseHerrick
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
marciok
Hi there! We created Gust: A task orchestrator inspired by Airflow. For those who have never heard about Aiflow, it’s a Python-based wor...
New
mhanberg
Hi everyone! The first release candidate for the Expert language server project is now available! We’ve published a press release detai...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews