|Piano Forte - with ESP8266 WiFi and HM-11 Bluetooth Low Energy|
In the last few weeks, a few things have come to light that make working with the STM32Fxxx series of ARM microcontrollers a lot more fruitful.
Also - there is now a large user base for Espruino, and a forum offering help and guidance for the newcomer - as well as code examples.
As the standard variant of Piano Forte uses virtually the same microcontroller as the Espruino board - (they are both STM32F103 with 256K of flash and 48K of RAM), it's just a case of downloading the latest code image from their site and programming it in using the STM32 bootloader utility.
Espruino uses the STM full speed USB com port driver, but if there is no USB plugged in, it defaults to USART1 which appears on PA9 and PA10. This is useful for testing - as it allows you to get a board up and running with just a FTDI or similar serial cable. The serial baud rate defaults to 9600 baud - but this is intentional, because it allows a Bluetooth module - such as the HM-11 to be used directly for programming and communicating with the Piano Forte.
The FTDI is debug cable connected via USART1 - this also has access to the serial bootloader
If the Piano is to be fitted to a Raspberry Pi - the FTDI cable is redundant and the USART1 is connected to the PI GPIO header via a couple of series resistors on the underside of the pcb.
Piano Forte was designed from the start to allow various wireless connectivity options. These will be most useful when the board is intended for stand- alone operation - and not as an I/O slave for the Ras-Pi.
An 8 pin header is included on the pcb to allow the ESP-01 to be fitted.
The ESP8266 module is connected via USART2 which appears on PA2 and PA3
Additionally there is a footprint on the pcb which accepts the HM-11 Bluetooth module.
The HM-11 BLE module is connected via USART3 on ports PB10 and PB11
On the first set of prototype boards this will need a couple of wire links.