Peeling the Banana
The banana PI is a tiny powerhouse with its powerful STM32 microcontroller and integrated NB-IoT modem. In this post we will go bit more in depth to see what this tiny board has on offer.
The STM32F103RBT6 controller in the Banana should be powered from a stable voltage source between 2.0V and 3.6V. You can supply power via
- USB connector from PC or power bank
- Vcc GND pins in SWD header up to 3.6V
- Battery connector up to 3.6V
The recommended operating voltage should be adhered to as indicated in the datasheet to keep the little STM happy.
There are 51 I/O pins available in the STM32 and many of them can be found in the 40 pin GPIO header in the Banana. It the very important to note that not all pins are 5V tolerant. As indicated in the table above, the input voltage for 5V tolerant pins should be less than 5.5V. and only 3.3V for non 5V tolerant pins. The voltage levels of the peripherals connected to the I/O pins should be carefully checked to avoid damaging the STM32. It is always advisable to use a logic level converter for converting 5V to 3.3V or use peripherals that run off 3.3V to avoid destroying the microcontroller.
The 40 pin header layout is as follows:
When programming in Arduino IDE the pin name (eg:PC1) can be directly used in pinMode(), digitalWrite() and digitalRead() functions.
The Banana has 3 USART ports in addition to the virtual USART port (USART0) which is visible over the USB when connected to the PC.
- USART0 – virtual COMM port visible only when connected to PC via USB
- USART1 – 5V tolerant
- USART2 – Not 5V tolerant, used for modem communication and should be used with external devices
- USART3 – 5V tolerant
- LED1 – PC0
- LED2 – PC1
- LED3 – PC2
- LED4 – PC3
MORE BLOG POSTS
Author – Mobitel Innovation Center – Akalanka De Silva