2025-04-05 2:59 AM - last edited on 2025-04-05 6:55 AM by Andrew Neil
Originally a comment on the How to program and debug the STM32 using the Arduino IDE Knowledge base article.
Moved to main forum for better visibility & discussion.
Hi,
I'm trying to get an STM32F407VGT6-based Discovery board up and running using Arduino IDE v 2.3.5 on Debian Bookworm (fully updated). I am having a problem in that the status line of the Arduino IDE states that "Discovery [not connected]". In the Arduino IDE/Tools menu, the Port option is greyed out.
I have two(!) wires connected between the Discovery board and the laptop's usb ports. I have also ensured that the laptop has libusb-1.0-0(v2:1.0.26-1) which is the latest version, according to Synaptic. I have also ensured that I am a member of the dialout group.
I tried to install STM32CubeProgrammer but, during this install, the laptop reported that there was no more space left on the device. I cannot remember quite what the error message was but I think that it referenced the /tmp partition. I have checked this 83.5 MiB partition and found that it is only 19% used.
Where do I go from here ?
2025-04-05 3:16 AM
@SElli.11 wrote:I have two(!) wires connected between the Discovery board and the laptop's usb ports.
What do you mean by that?
Two USB cables ?
Why two?
83.5 MiB is very small for a partition these days!
On Windows, the CubeProgrammer installation is nearly 600MB:
and Arduino IDE is 600MB:
2025-04-05 5:07 AM
>83.5 MiB is very small for a partition these days!
Right, just on my Mx Linux , including libs etc , about:
- Arduino : 11GB (inc. libs, boards), + projects 1GB
- STM32IDE 1.18.0 : 4GB , + Cube : 15 GB , + some projects: 4GB
- vscode (ESP IDE): 6GB
And on install, all of these it might expand zip or rar in tmp, using 2 GB or so....
2025-04-07 2:28 AM - last edited on 2025-04-07 2:48 AM by Andrew Neil
Duplicate - Merged.
@B.Montanari
I'm using this tutorial to try to get an STM32F407VGT6 based Discovery board
running using the Arduino IDE v2.3.5 AppImage on Debian Bookworm (fully
updated).
Even thought there are two(!) wires between the Discovery board and usb ports
on the laptop, when I start the AppImage the IDE status line states "Discovery
[not connected]".
I have also tried to install Stm32CubeProgrammer v2.19.0., choosing to install
all three components, i.e. Core Files, Stm32CubeProgrammer, and
STM32TrustedPackageCreator. At this point the Wizard states that the Total space
required is 1.09 GB whilst reporting the Available space is 386 GB. However at
this point the Wizard does two apparently contradictory things. First it
reports "Overall installation progress" as 3/3 with the blue background
completely filling the slot. Secondly and at the same time, it generates an
error dialog entitled "No space left on device". The contents of this error
dialog are shown below.
com.izforge.izpack.api.exception.IzPackException: An error occurred
in java.lang.Thread.run() at Thread.java:750
in com.izforge.izpack.installer.unpacker.UnpackerBase.run() at
UnpackerBase.java:267
in com.izforge.izpack.installer.unpacker.UnpackerBase.unpack() at
UnpackerBase.java:339
Caused by: java.io.IOException: No space left on device
in com.izforge.izpack.installer.unpacker.UnpackerBase.unpack() at
UnpackerBase.java:319
in com.izforge.izpack.installer.unpacker.UnpackerBase.unpack() at
UnpackerBase.java:505
in com.izforge.izpack.installer.unpacker.UnpackerBase.unpack() at
UnpackerBase.java:558
in com.izforge.izpack.installer.unpacker.UnpackerBase.unpack() at
UnpackerBase.java:657
in com.izforge.izpack.installer.unpacker.UnpackerBase.extract() at
UnpackerBase.java:703
in com.izforge.izpack.installer.unpacker.CompressedFileUnpacker.unpack() at
CompressedFileUnpacker.java:79
in org.apache.commons.io.IOUtils.copyLarge() at IOUtils.java:1518
in org.apache.commons.io.IOUtils.copyLarge() at IOUtils.java:1561
in java.nio.channels.Channels$1.write() at Channels.java:174
in java.nio.channels.Channels.access$000() at Channels.java:61
in java.nio.channels.Channels.writeFully() at Channels.java:101
in java.nio.channels.Channels.writeFullyImpl() at Channels.java:78
in sun.nio.ch.FileChannelImpl.write() at FileChannelImpl.java:211
in sun.nio.ch.IOUtil.write() at IOUtil.java:65
in sun.nio.ch.IOUtil.writeFromNativeBuffer() at IOUtil.java:93
in sun.nio.ch.FileDispatcherImpl.write() at FileDispatcherImpl.java:60
in sun.nio.ch.FileDispatcherImpl.write0() at FileDispatcherImpl.java:-2
This even though java default-jdk is installed.
Where do I go from here ?
2025-04-07 2:48 AM
@SElli.11 did you see the above comments on your original post?
2025-04-07 3:11 AM
No, they have just become visible.
2025-04-07 3:17 AM
@Andrew Neil wrote:
@SElli.11 wrote:I have two(!) wires connected between the Discovery board and the laptop's usb ports.
What do you mean by that?
Two USB cables ?
Why two?
83.5 MiB is very small for a partition these days!
I thought that the board used one wire for power and the other wire for data/comms.
2025-04-09 7:04 AM
Yes, my ~80 MB partition was too small. After resizing and shuffling about other partitions, I managed to get my /tmp partition up to ~3.5 GB. This allowed STM32CubeProgrammer to install without error or warning.
2025-04-09 7:09 AM
Note that "wire" is usually taken to mean just one single conductor.
Whereas "cable" is an assembly of more that one wire - as in a USB cable:
@SElli.11 wrote:I thought that the board used one wire for power and the other wire for data/comms.
Did you check the User Manual ?
2025-04-09 4:22 PM - edited 2025-04-09 4:27 PM
The Discovery-F4 board has two USB ports, one for the debugger module (ST-Link), and the other connected to the '407 processor. Unless you explicitly put code into the '407 that uses the USB port, it does nothing.
You talk to the board and power it through the miniUSB port, CN1.
CN5, the microUSB connector, is for your user application and should not be used to power the board. It is connected to the large chip, the '407, U4.
With two cables attached, you'll likely only see three new USB devices, a serial port, a virtual disk drive, and an ST-Link debugger that are provided by chip U2. The serial port COULD be connected between U4 and U2 and there are instructions on embedded.fm to show you how. The disk drive can be used to load programs into U4 in a drag/drop manner. The ST-Link is a debugger module that helps you load and run programs in U4.