After ages of waiting for components to arrive from China (and some didn’t, so I had to reorder).
I was finally ready to assemble the M4 board. After applying the solder mask and doing pick and place, I found the GL2000 bi-directional level converter was the wrong package :/ – Oh well added the other components as there is enough work to do without it for now. Also a couple of other screwups, ie. swapped miso and mosi on the flash, used wrong SCK pin on ESP-12E (notice it is PIN 12 that’s spi-clock). So eventually I will have to re-do the PCB.
Update: It’s not entirely true, it is because there is two (known) different ESP-12E modules in existence, see here http://www.esp8266.com/viewtopic.php?f=5&t=3163 My initial layout wasn’t wrong, I just got a 12E module with a different pin layout :/
For now, the MCU, SD and SPI flash is working, I can access the ESP8266 wifi chip and read/write the spi flash from the Cortex M4 (keep the ESP in reset state and do spi access) and obviously send serial commands.
However the plan is to make an IPC interface via SPI between the Cortex M4 and the ESP-8266 to get proper performance.
I will update on this as I get along.
A side project to log industrial robots via their PLC (24V) interface.
The PCB consists of:
- ST32F407VGT (Cortex M4) as the MCU.
- SD card for storing detailed logs.
- DP83848 ethernet PHY hooked up to the M4 RMII interface, connecting it to the LAN, so logs can be downloaded, statistics viewed, live view, settings and more.
Using netbios names and DHCP by default, so easily accessible without pre-setting.
- Optocouplers to completely seperate the PLC signals from the board.
- Battery backup for SRAM and RTC, even poweroff’s are logged.
- Status leds for Power On, SD card OK, Ethernet OK, MCU running (flashing).
- Firmware upgradable from LAN/Internet or microSD.
The PCB was designed to fit a compact DIN rail case and using screw terminals for power and PLC signals.
For once it was a really smooth experince, only screwed up the battery polarity, which was easily fixed by using another holder.
After a long wait, the last components for the USB 3.0 to FPGA board arrived. Board is now reflown.
Both ends work, Spartan 6 FPGA detected via JTAG and FT601Q detected via USB3.0.
Being occupied with a few other projects at the moment, it probably will take a bit before I have time to write the appropriete VDHL and Windows D3XX code to fully test it. Hopefully in a few weeks I’ll be able to get some realtime fast data acquisition going with it.
Having a few spare ST32F407 chips collecting dust, I decided to make a neat little board for it. Featuring USB, JTAG, microSD, 32Mbit spiflash, WiFi, 18 GPIOS with 3.3V / 5V bi-directional level translation for a special purpose 🙂
Cortex-M4 is a great ARM MCU running at 168MHz, 192KB ram and 1MB flashrom. The one in use is a ST32F407VGT in a TQFP100 package, all GPIO’s are routed, no components backside. Board size 76×66 mm.
Still waiting for my USB3.0 FPGA boards to arrive.
Done the pcb,
just need to fix up the silkscreen and re-check everything before sending it to a fab house. Now sent to pcb manufacturer.
The board features the FT601Q Super speed (QFN76, 9x9mm!) connected to an Xilinx Spartan 6SLX9TQG144 FPGA.
All routed in 2 layers – yeah I know it’s not pretty, I am just happy if it works…
Just made an Eagle library for the USB3.0 fifo chip FT601Q, that I am planning to use for a board. More info about the SuperSpeed USB3.0 chip over at FTDI chips.
Attached the Eagle lbr here in case anyone wants to save some time.
Notice it’s untested as of now.