📝 8 Nov 2022
PineCone BL602 RISC-V Board with Grove E-Ink Display
Is there a book about the BL602 / BL604 SoC (RISC-V, WiFi and Bluetooth LE) that…
Explains in depth the features of BL602 and BL604
Has plenty of annotated sample code, with real use cases
Is open source, free to browse and reproduce?
You’re reading the book right now!
Use this book to navigate the numerous BL602 / BL604 articles that have been published on this site. (59 articles and still growing!)
The programs in these articles have been tested on PineDio Stack BL604 and PineCone BL602, but they should work on other BL602 and BL604 Boards: Ai-Thinker Ai-WB2, Pinenut BL602, DT-BL10, MagicHome BL602.
Many thanks to Pine64 for supporting my work on BL602 Open Source Education! Thanks also to Bouffalo Lab for the encouraging notes.
If you find this book useful… please sponsor me a coffee. Thank you! 🙏 😀
Find out what’s inside the BL602 / BL604 System-on-a-Chip (SoC)… And why it’s unique among the microcontrollers we’ve seen.
Apache NuttX is a portable, embedded operating system that’s officially supported on BL602 and BL604. (Alternative to FreeRTOS and BL602 IoT SDK)
More NuttX articles in the following sections…
How to create a simple Blinky Project for BL602 / BL604 and build the project.
For Apache NuttX RTOS
For BL602 IoT SDK
How we flash firmware to BL602 and BL604 with command-line tools on Linux, macOS and Windows.
For BL602 IoT SDK
Learn to call the BL602 / BL604 GPIO Functions to blink an LED.
For Apache NuttX RTOS
For BL602 IoT SDK
How we call the BL602 / BL604 SPI Functions to access SPI Sensors, Displays and Network Transceivers.
For Apache NuttX RTOS
For BL602 IoT SDK
Read an I2C Sensor by calling the BL602 / BL604 I2C Functions.
For Apache NuttX RTOS
For BL602 IoT SDK
UART is used by Air Quality Sensors, E-Ink Displays, GPS Receivers and LoRa Transceivers. To talk to these peripherals, we call the BL602 / BL604 UART Functions.
For Apache NuttX RTOS
For BL602 IoT SDK
How we read Analog Inputs with ADC on BL602 and BL604.
For Apache NuttX RTOS
For BL602 IoT SDK
How we accelerate data transfers with DMA on BL602 and BL604.
For Apache NuttX RTOS
For BL602 IoT SDK
Duty Cycle, Frequency and everything else about the BL602 / BL604 PWM Functions.
For BL602 IoT SDK
What happens inside the WiFi Driver on BL602 and BL604.
For BL602 IoT SDK
Render text and graphics with the open-source LVGL Library.
For Apache NuttX RTOS
For BL602 IoT SDK
Multitasking the easy way with NimBLE Porting Layer.
For Apache NuttX RTOS
For BL602 IoT SDK
Let’s turn BL602 and BL604 into a real IoT gadget that transmits long range, low power LoRa packets…
For Apache NuttX RTOS
For BL602 IoT SDK
Connecting BL602 and BL604 to a LoRa Gateway
Transmitting Sensor Data on BL602 and BL604
Monitoring BL602 and BL604 with Prometheus, Grafana and Roblox
PineDio USB uses the same LoRa SX1262 Driver as BL602 and BL604
Below are the older articles for LoRa SX1276 Transceiver
“RAKwireless WisBlock talks LoRa with PineCone BL602 RISC-V Board”
“PineCone BL602 RISC-V Board Receives LoRa Packets (SX1276)”
How we code BL602 and BL604 firmware with Zig programming language.
For Apache NuttX RTOS
“Visual Programming with Zig and NuttX Sensors” (Presentation)
“Simpler, safer LVGL Touchscreen Apps with Zig and NuttX” (Presentation)
How we code BL602 and BL604 firmware the safer, simpler way with Rust.
For Apache NuttX RTOS
For BL602 IoT SDK
Running the NuttX BASIC Interpreter for BL602 and BL604.
For Apache NuttX RTOS
Porting the uLisp Interpreter to BL602 / BL604… And writing graphical programs with Blockly (Scratch).
For BL602 IoT SDK
Let’s code BL602 and BL604 the drag-and-drop way, with Blockly.
For Apache NuttX RTOS
For BL602 IoT SDK
How we run TensorFlow Lite on BL602 and BL604 to create a Glowing LED.
For BL602 IoT SDK
Tips for troubleshooting BL602 and BL604 firmware.
For Apache NuttX RTOS
For BL602 IoT SDK
All about the BL602 / BL604 Bootloader… And how it loads the Application Firmware into XIP Flash Memory.
Before debugging BL602 / BL604, we install OpenOCD to connect a JTAG Debugger.
For BL602 IoT SDK
How we debug BL602 / BL604 firmware with GDB and VSCode.
For BL602 IoT SDK
Sneak preview of the new PineDio Stack BL604 with ST7789 Display and onboard LoRa SX1262 Transceiver.
For Apache NuttX RTOS
“NuttX on a RISC-V IoT Gadget: PineDio Stack BL604” (Presentation)
“(Mostly) Automated Testing of Apache NuttX RTOS on PineDio Stack BL604 RISC-V Board”
For BL602 IoT SDK
What’s inside the Bouffalo Lab RISC-V BL706 Audio Video Board… And how it differs from BL602 / BL604.
Incomplete port of Apache Mynewt operating system…
Check this book again for future updates…
IoT Education with BL602 and BL604
The Things Network on NuttX
LoRaWAN ChirpStack with Prometheus and Grafana
Visual Zig with VSCode
Zig Type Reflection: Visualise the Call Flow in a C Library
Inside LoRaMAC: The LoRaWAN Stack
Got a question, comment or suggestion? Create an Issue or submit a Pull Request here…
PineCone BL602 RISC-V Board with Grove E-Ink Display