-
Already at 80x100. Will move things towards the center tho to make room around the edges.
1.1 Passing along same 50 pins on each side? Why not? Just need a part number for female long-tail headers like these
Arduino Stackable Header - 8 Pin - PRT-09279 - SparkFun Electronics -
Mounting holes no problem, what does "fi=3.2mm" mean?
-
multi uSD cards, no problem.
-
Which RTC do you recommend? Does it & the battery holder exist in eagle?
-
LEDs, buttons, no problem.
-
800mA regulator? Do you have a part number in that small a package? I know 400mA exists.
-
Charger - single cell? Multicell?
-
How tell which pins support these? Are only labelled as Px on the schematic.
Mounted 90 degree at the edges, will be up to user to install right angle headers, no?
8.1 which signals on the UARTs - Rx, Tx, Gnd - 5V? 3.3V?
(think RS232 or RS485 drivers also, selectable to connect via jumpers?)
8.2 SPI: SCK, MISO, MOSI, CS, Gnd?
8.3 I2C: SCL, SDA, GND?
-
Mounting holes no problem, what does "fi=3.2mm" mean? :0 The diameter symbol in engineering, is often incorrectly referred to as "phi".
-
Which RTC do you recommend? Does it & the battery holder exist in eagle?
DS3231
battery holder cr1220 for sale | eBay -
800mA regulator? Do you have a part number in that small a package? I know 400mA exists.
LF33CDT -
Charger - single cell? Multicell?
Single, ie MCP73831, from usb 5v -
How tell which pins support these? Are only labelled as Px on the schematic.
??????? need to be analysed..
Mounted 90 degree at the edges, will be up to user to install right angle headers, no?
maybe
8.1 which signals on the UARTs
rx, tx , gnd, 3.3v
ie. I am using BT modules only
(think RS232 or RS485 drivers also, selectable to connect via jumpers?) maybe 485
8.2 SPI: SCK, MISO, MOSI, CS, Gnd?
yes, but more cs pins and 3v3
8.3 I2C: SCL, SDA, GND? plus 3v3 and few io pins
...
I like the ideas mentioned so far but, I will throw my list in the mix. Some of it has been mentioned.
1)RTC
2)lipo battery charger circuit/ out-put booster
3)micro SD slot
4) adjustable level shifter for serial out. I want to talk to inverted serial at 12 volts/0 volt personally but, also talk to 3volt and 5volt levels that Arduino uses.
5) It would be nice to have a inline pin-out for LCD or GLCD screen. Basically, 20 pins in a row that wires could be soldered into.
I will keep thinking.
I think there is so much to be put on the shield - that I doubt it is doable on 80x100mm, though.
9. ethernet phy with magnetics
10. 16pin+10pin for an 3.2inch tft 240x320 LCD+touch scr. (ie 2x20pin connector)
11. CAN connector
12. Digital Camera interface connector
13. External SRAM, NAND, NOR ???
14. PWM signals connector
15. General i/o connector
16. ADC, DAC connector
..
It seems we need a concept of stackable modules..
I found the pin-out for the Discovery chip and board. The pin functions need to be know in order to make a shield with multiple functions. On page 50 the board pin-out with functions are listed.
http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/DATASHEET/DM00035129.pdf
I am trying to make an Excel file but, I am having difficulty pasting into a list form. Anyone have ideas?
I did a little poking around today as well.
Looks like para 4.11, Table 5, in UM1472, User Manual for STM32F4Discovery is where we need to start.
I think I am going to use both PDFs to make a spreadsheet. I do have a start on it.
Mark
Cool, Farnell are awaiting stock of the STM32F4DISCOVERY. At £9.72 its definitely going on my next order
I made a pin-out in Excel. It is copied off of the Discovery board manual. It does not count GND,and 5V pins.
21 BOOT0 X X
6 NRST RESET NRST
12 PA0 USER
11 PA1 USART2_RTS/USART4_RX/ETH_RMII_REF_CLK/ETH_MII_RX_CLK/TIM5_CH2/TIMM2_CH2/ADC123_IN1
14 PA2 USART2_TX/TIM5_CH3/TIM9_CH1/TIM2_CH3/ETH_MDIO/ADC123_IN2
13 PA3 USART2_RX/TIM5_CH4/TIM9_CH2/TIM2_CH4/OTG_HS_ULPI_D0/ETH_MII_COL/ADC123_IN3
16 PA4 LRCK/AIN1x SPI1_NSS/SPI3_NSS/USART2_CK/DCMI_HSYNC/OTG_HS_SOF/I2S3_WS/ADC12_IN4/DAC1_OUT
15 PA5 SCL/SPC SPI1_SCK/OTG_HS_ULPI_CK/TIM2_CH1_ETR/TIM8_CHIN/ADC12_IN5/DAC2_OUT
18 PA6 SDO SPI1_MISO/TIM8_BKIN/TIM13_CH1/DCMI_PIXCLK/TIM3_CH1/TIM1_BKIN/ADC12_IN6
17 PA7 SDA/SDI/SDO SPI1_MOSI/TIM8_CH1N/TIM14_CH1TIM3_CH2/ETH_MII_RX_DV/TIM1_CH1N/RMII_CRS_DV/ADC12_IN7
43 PA8 MCO1/USART1_CK/TIM1_CH1/I2C3_SCL/OTG_FS_SOF
44 PA9 USB VBUS GREEN USART1_TX/TIM1_CH2/I2C3_SMBA/DCMI_D0/OTG_FS_VBUS
41 PA10 USB ID USART1_RX/TIM1_CH3/OTG_FS_ID/DCMI_D1
2 PA11 USB DM USART1_CTS/CAN1_RX/TIM1_CH4/OTG_FS_DM
3 PA12 USB DP USART1_RTS/CAN1_TX/TIM1_ETR/OTG_FS_DP
42 PA13 SWDIO JTMS-SWDIO
39 PA14 SWCLK JTCK-SWCLK
40 PA15 JTDI/SPI3_NSS/I2S3_WS/TIM2_CH1_ETR/SPI1_NSS
22 PB0 TIM3_CH3/TIM8_CH2N/OTG_HS_ULPI_D1/ETH_MII_RXD2/TIM1_CH2N/ADC12_IN8
21 PB1 TIM3_CH4/TIM8_CH3N/OTG_HS_ULPI_D2/ETH_MII_RXD3/OTG_HS_INTN/TIM1_CH3N/ADC12_IN9
24 PB2
28 PB3 JTDO/TRACESWO/SPI3_SCK/I2S3_CK/TIM2_CH2/SPI1_SCK
25 PB4 NJTRST/SPI3_MISO/TIM3_CH1/SPI1_MISO/I2S3ext_SD
26 PB5 I2C1_SMBA/CAN2_RX/OTG_HS_ULPI_D7/ETH_PPS_OUT/TIM3_CH2/SPI1_MOSI/SPI3_MOSI/DCMI_D10/I2S3_SD
23 PB6 SCL I2C1_SCL/TIM4_CH1/CAN2_TX/OTG_FS_INTN/DCMI_D5/USART1_TX
24 PB7 I2C1_SDA/FSMC_NL/DCMI_VSYNC/USART1_RX/TIM4_CH2
19 PB8 TIM4_CH3/SDIO_D4/TIM10_CH1/DCMI_D6/OTG_FS_SCL/ETH_MII_TXD3/I2C1_SCL/CAN1_RX
20 PB9 SDA SPI2_NSS/I2S2_WS/TIM4_CH4/TIM11_CH1/OTG_FS_SDA/SDIO_D5/DCMI_D7/I2C1_SDA/CAN1_TX
34 PB10 CLK SPI2_SCK/I2S2_CK/I2C2_SCL/USART3_TX/OTG_HS_ULPI_D3/ETH_MII_RX_ER/OTG_HS_SCL/TIM2_CH3
35 PB11 I2C2_SDA/USART3_RX/OTG_HS_ULPI_D4/ETH_RMII_TX_EN/ETH_MII_TX_EN/OTG_HS_SDA/TIM2_CH4
36 PB12 SPI2_NSS/I2S2_WS/I2C2_SMBA/USART3_CK/TIM1_BKIN/CAN2_RX/OTG_HS_ULPI_D5/ETH_RMII_TXD0/ETH_MII_TXD0/OTG_HS_ID
37 PB13 SPI2_SCK/I2S2_CK/USART3_CTS/TIM1_CH1N/CAN2_TX/OTG_HS_ULPI_D6/ETH_RMII_TXD1/ETH_MII_TXD1/OTG_HS_VBUS
38 PB14 SPI2_MISO/TIM1_CH2N/TIM12_CH1/OTG_HS_DMUSART3_RTS/TIM8_CH2N/I2S2ext_SD
39 PB15 SPI2_MOSI/I2S2_SD/TIM1_CH3N/TIM8_CH3N/TIM12_CH2/OTG_HS_DP
8 PC0 PowerOn OTG_HS_ULPI_STP/ADC123_IN10
7 PC1 ETH_MDC/ADC123_IN11
10 PC2 SPI2_MISO/OTG_HS_ULPI_DIR/TH_MII_TXD2/I2S2ext_SD/ADC123_IN12
9 PC3 DOUT/AIN4x SPI2_MOSI/I2S2_SD/OTG_HS_ULPI_NXT/ETH_MII_TX_CLK/ADC123_IN13
20 PC4 ETH_RMII_RX_D0/ETH_MII_RX_D0/ADC12_IN14
19 PC5 ETH_RMII_RX_D1/ETH_MII_RX_D1/ADC12_IN15
47 PC6 I2S2_MCK/TIM8_CH1/SDIO_D6/USART6_TX/DCMI_D0/TIM3_CH1
48 PC7 I2S3_MCK/TIM8_CH2/SDIO_D7/USART6_RX/DCMI_D1/TIM3_CH2
45 PC8 MCLK TIM8_CH3/SDIO_D0/TIM3_CH3/USART6_CK/DCMI_D2
46 PC9 I2S_CKIN/MCO2/TIM8_CH4/SDIO_D1/I2C3_SDA/DCMI_D3/TIM3_CH4
37 PC10 SCLK SPI3_SCK/I2S3_CK/UART4_TX/SDIO_D2/DCMI_D8/USART3_TX
38 PC11 UART4_RX/SPI3_MISO/SDIO_D3/DCMI_D4/USART3_RX/I2S3ext_SD
35 PC12 SDIN UART5_TX/SDIO_CK/DCMI_D9/SPI3_MOSI/I2S3_SD/USART3_CK
12 PC13 RTC_AF1
9 PC14 OSC32_IN OSC32_IN
10 PC15 OSC32_OUT OSC32_OUT
36 PD0 FSMC_D2/CAN1_RX
33 PD1 FSMC_D3/CAN1_TX
34 PD2 TIM3_ETR/UART5_RXSDIO_CMD/DCMI_D11
31 PD3 FSMC_CLK/USART2_CTS
32 PD4 FSMC_NOE/USART2_RTS
29 PD5 RESET FSMC_NWE/USART2_TX
30 PD6 OverCurrent FSMC_NWAIT/USART2_RX
27 PD7 RED USART2_CK/FSMC_NE1/FSMC_NCE2
40 PD8 FSMC_D13/USART3_TX
41 PD9 FSMC_D14/USART3_RX
42 PD10 FSMC_D15/USART3_CK
43 PD11 FSMC_A16/USART3_CTS
44 PD12 GREEN FSMC_A17/TIM4_CH1/USART3_RTS
45 PD13 ORANGE FSMC_A18/TIM4_CH2
46 PD14 RED FSMC_D0/TIM4_CH3
47 PD15 BLUE FSMC_D1/TIM4_CH4
17 PE0 INT1 TIM4_ETR/FSMC_NBL0/DCMI_D2
18 PE1 INT2 FSMC_NBL1/DCMI_D3
15 PE2 CS_I2C/SPI TRACECLK/FSMC_A23/ETH_MII_TXD3
16 PE3 TRACED0/FSMC_A19
13 PE4 TRACED1/FSMC_A20/DCMI_D4
14 PE5 TRACED2/FSMC_A21/TIM9_CH1/DCMI_D6
11 PE6 TRACED3/FSMC_A22/TIM9_CH2/DCMI_D7
25 PE7 FSMC_D4/TIM1_ETR
26 PE8 FSMC_D5/TIM1_CH1N
27 PE9 FSMC_D6/TIM1_CH1
28 PE10 FSMC_D7/TIM1_CH2N
29 PE11 FSMC_D8/TIM1_CH2
30 PE12 FSMC_D9/TIM1_CH3N
31 PE13 FSMC_D10/TIM1_CH3
32 PE14 FSMC_D11/TIM1_CH4
33 PE15 FSMC_D12/TIM1_BKIN
7 PH0 OSC_IN OSC_IN
8 PH1 OSC_OUT OSC_OUT
..provided we get the excel sheet with all possible alternate functions - what will be the next step? how to proceed further on? p.
Here is an EXCEL file I prepare when trying to understand the conflicts between pin assignments. In particular, I was looking at adding the PHY interface for ethernet
As shown in the table even using the reduce RMII interface there is one pin that has a conflict with the SPI use for the accelerometer . For Ethernet it look like using the Microchip's ENC28J60 SPI controller is the best option ?
stm32f4107 pin assignmens.xls (99.5 KB)
Any news from the STM32F4 front ?
Would this chip/board be supported by the Arduino IDE any time ?
.. too many options may kill a man..
What about a few Mbytes of sram (or psram) connected via FSMC ? - this allows us to run much bigger stuff on it and it decreases the number of the free lines by ~45 :).
There are several offerings for a PSRAM (SDRAM with internal refresh) up to 128Mbit today, however mostly in BGA54 or BGA48. There are a few Cypress' srams (ie 1Mx16, 2Mx16) in TSOP48 available too.
It would be a nice designer's challenge to use the BGA packages here, indeed :).
P.
PS: For example eLua runs fine on this board and uses full 192kB of internal ram already. eLua can easily incorporate C functions, so maybe the arduino libs as well. It is OO and supports multithreading (coroutines) by default as well. Compiler/interpreter is built in as well as a SDcard support. It can allocate the Lua working space to an external ram easily (it can work with segmented ram space).
I noticed someone pointed an RTC to use in a shield with this board.
It already has a 32kHz crystal and internal hardware for RTC support. I mean real hardware specific for the RTC function.
For those that like the Arduino-style programming, there is a port (ok, half one third-built) of the libmaple in http://forums.leaflabs.com/topic.php?id=1268&page=3. I added a few defines and support for the onboard random number generator.
I'm writing part of the driver for the RTC, but first I need to get some sort of communication since the USB implementation for the libmaple is different than the one in this Discovery board.
What I think would be really great expansion board for this chip is:
- SD card connected in the SDIO port (there are specific bits to access the SD/MMC cards).
- Ethernet interface.
- Separate power supply.
- LCD interface.
- Xbee interface? Or a Xbee explorer/FTDI chip header to communicate with the PC (at least while there isn't an implementation for the USB comms).
- Then of course, the break out from the double row header.
Did this idea for a shield die out?
i'm holding out hope.
Its sort of on hold. I got caught up in other stuff. If there's interest, we can revive it, I can work on it some more after I get my taxes done. W2 is in, am waiting on some 1099s. I am not doing anything with my board.
No worries. I'd be interested in reviving it in a couple of months. I ordered a couple of the discoveries today as I have so image intensive processing, having an external sram on the shield would be ideal.
having an external sram on the shield
The full address/data bus for an external memory is available on 144+ pins versions only..
Bummer