Adding a custom USB socket to the STM32 NUCLEO-F746

I’m currently building a design on the STM32F7 which I want to later port to a F4-NUCLEO board and eventually my own design so I want to test the USB host without the supplied electronics.

In order to do this I built a small USB breakout adapter and tried directly connecting this to 5V (for power) and PA11/PA12 (for USB).  The breakout was made by simply soldering some header pins to a USB socket.

I then attached the USB socket to CN12 as shown below.

The complete pinout for CN12 can be found here https://developer.mbed.org/platforms/ST-Nucleo-F746ZG/.

You will need to connect the pins on the usb connector as shown below:

  1. VBUS (+5v)
  2. PA11
  3. PA12
  4. GND

STM32 Nucleo boards and blackmagic probe.

I recently purchased a STM32F7 Nucleo boards to play around with Chibios.  These boards feature a integrated STlink debugger, I however do most of my development using a custom built debugger based on the blackmagic probe.  This has the advantage of being easily connectable to GDB via emulating gdbserver on it’s virtual serial port.

Unfortunately there doesn’t look like there is a documented way of connecting a 3rd party debugger to the Nucleo board but reading the schematics showed an answer in the form of the CN4 jumper block.

In order to connect a the black magic probe to the Nucleo board simply remove the jumpers from CN4 on the ST-Link .  You can then access the SWDIO pins on the main MCU as shown in the list below.

  1. SWCLK/TCK
  2. NO-CONNECT
  3. SWDO/TMS
  4. NO-CONNECT

You will also need to connect the ground pin of the blackmagic probe to a ground pin on the Nucleo board (I used one of the ground pins which have jumpers on them which are used for feet on the board.

And here is a picture of the board.

Passive POE Raspberry PI

I’be been using a Raspberry PI with a DVB-T2 card so we can stream TV to our PCs and tablets around the house.  As the PI sometimes crashes I’ve wanted to make it work with passive POE, I’ve also wanted to put it in a box.

So I’ve built a box which has a barrel connector for my POE adaptor cables.  The box also has a DC/DC converter to convert the 12V-24V I’m using in my server cabinet to the 5V required for the Raspberry PI.

As there wasn’t room in the box to have a lead going from the USB power socket on the PI i decided to feed power in via the expansion connector (i also didn’t have many spare USB cables).  Unfortunately this has the disadvantage of bypassing the poly fuse which protects the PI so I will probably add my own at a later date.

A view inside showing the DC/DC converter module.

RS485 networking

A couple of years ago I built the first version of my tube time display which shows the time of the next train at my local Underground Station.  This was connected to a Raspberry PI via a USB connection.  I found the Raspberry PI not the most reliable piece of hardware in the world and it was also a bit of an over kill for a simple display so I’ve been working on a new version of my display that uses RS485 to communicate with a computer which can be a long way away from it.

The original tube time display thing.
The original tube time display thing.

For this I decided on a token bus type network where each device sends out a token to the next device telling it that it can use the communication channel. This allows me to attach other AVR/Arduino based devices to the same piece of cable (I’m using CAT5 ethernet cable). I also have one device on the network acting as a superviser which will create tokens for a device if the token is given to a device that doesn’t exist.

So far I’ve managed to send text between two AVR32U4 boards over the bus so it’s going quite well so far. I think things can be further optimised so the bus is faster but it’s certainly good enough for my tube time display.

IMG_4440