First look at the 2nd prototype version of the PineDio STACK

Tuesday, December 28, 2021

PineDio is a new product range at Pine64 based on LoRa. Those products include a LoRa gateway, a USB-LoRa adapter, a LoRa backplate for the PinePhone and an embedded development kit based on the RISC-V BL604 MCU. You’ll find more info about PineDio on the wiki .

Those products are not yet available for sale, as we are still working on bringing them up and running by writing software and drivers for them.

A few months ago, Pine64 sent the first prototype version of the PineDio STACK to a few developers (me included). We detected a few issues regarding the JTAG implementation and couldn’t get the LCD to work correctly.

Then, a couple of weeks ago, Pine64 sent us the 2nd prototype version of this development kit. I’ll give a first overview of this new revision in this post.

What is the PineDio STACK?

The STACK is an embedded development kit based on the RISC-V MCU BL604 from Bouffalo . It’s a WIFI/BLE MCU running at 192Mhz and equipped with 276KB of RAM and 128KB of internal flash memory. It’s roughly the same as the BL602 with more I/O.

The PineDio STACK in its enclosure

Next to the BL604, you’ll find a Semtech SX1262 LoRa module . This chip, when connected to an antenna, allows LoRa communication.

The board is also equipped with a power management unit to power the board and charge an optional battery, a motion sensor, an LCD with touch panel, a (connector for a) heart rate sensor, a vibrator and a few I/O ports.

The main board of the PineDio STACK

The V2 also came with another board that connects to the main one using the 2x10 pins connector. This board brings a GPS, a compass, a SPI flash and a “secure chip”.

The addon board

Overall, this is a nice development kit, packed with multiple sensors (motion, compass, heart rate), interfaces (LCD, touch panel), I/O (GPIO, I²C, SPI), radio (WiFi, Bluetooth LowEnergy (BLE), GPS and LoRa) and power options (USB, power pins, battery). I can envision many use-cases for this kit : prototype a new generation of smartwatch (a smartwatch with a LoRa radio looks really fun!), a LoRa end-node, a battery operated LoRa sensor, GPS tracker,…

Schematics and pin mapping

Schematics

  • Base board schematics : TODO
  • Addon board schematics : TODO

Devices:

Pin mapping:

BL604 Pin Device pin
GPIO0 SPI MISO
GPIO1 I²C SDA
GPIO2 I²C SCL
GPIO3 GPIO/PMW
GPIO4 GPIO/ADC+PWM
GPIO5 GPIO/ADC+PWM
GPIO6 GPIO/ADC+PWM
GPIO7 UART RX
GPIO8 Boot selector
GPIO9 Touch panel Interrupt
GPIO10 Sx1262 - BUSY
GPIO11 SPI SCK
GPIO12

What’s next?

First, I would like to check that the issues we found in the first revision of the board are effectively fixed. The main issues where the JTAG port and the display that weren’t working at all.

Then, I would like to port at least parts of InfiniTime to this board to see how well it’s working. I expect the UI to be a lot faster thanks to additional CPU power and faster SPI bus. Also, this MCU has nearly 3x more RAM and twice the flash than the NRF52832. That should give me a lot of room to implement new features based on the LoRa radio and the GPS, for example.

Pine64pine64pinediobl60xriscv

JF

I am passionate about IT, (embedded) software development and open source technologies in general. I’m mainly working on the InfiniTime project, an open source firmware for the PineTime smartwatch from Pine64.

How to replace the keyboard of your PineBookPro