Christmas with BigClown - The first settings and review of modules
- December 31 2017
- BigClown
- 4283 Reads
- 0 Comments
Welcome to a new tutorial about BigClown platform.
The series of articles should be describe the work with the boards and modules of BigClown platform.
I want to start slowly, at first I describe a few interesting modules and than I show you how to set your BigClown board and operating system.
We start with Windows OS a Linux Mint.
At the end of this article is written a few sentences regarding the concept of BigClown, mainly the price.
BigClown is focused on very small power consumption, so the choice of components is with respect to power consumption.
Another parts of tutorial about BigClown:
Christmas with BigClown - The first settings and review of modules
Christmas with BigClown - temperature/humidity/light intensity, uploading of code through UART, TAGs
The main module of your project is Core module. This base module contains microcontroller, transceiver (868 MHz), 3-axis accelerometer, temperature sensor, RGB LED, cryptographic hardware unit, two buttons (reset and boot) and microUSB connector.
STM32L083CZ microcontroller:
STM32L083 belongs to the low-power microcontrollers family by STMicroelectronics. The microcontroller contains 32-bit ARM Cortex M0+ core.
The power consumption of microcontroller is 0.29uA during the deepest sleeping mode and you can use 3 wakeup pins.
The power consumption during the runing mode is 93uA/MHz.
The clock frequency is up to 32MHz and the power up to 0.95 DMIPS.
The microcontroller has general peripheral like UART, I2C, SPI, DAC, ADC, timers/counters, AES unit, True random number generator and hardware unit for CRC calculation. The board also contains USB interface and the BigClown uses that for programming.
The amount of FLASH is 192 kB and 20 kB SRAM.
SPIRIT1 transceiver:
The module is made by STMicroelectronics. It is low-power communication module which is working on 868 MHz frequency and the communication speed is up to 500 kb. SPIRIT1 support usual and advanced features like automatic ackwnoledge, re-sending messages, timeout protocol, address checking, 128 bit AES co-processor and it supports antenna diversity.
The power consumption is 9mA (RX mode) and 21 mA (TX mode and for +11 dBm).
ATSHA204A cryptographic unit:
This component is made by Microchip company. The IC offers the encrypt and decrypt unit for SHA-256, Random Number generator, 512 bit OTP memory and the power consumption is 0.5mA. The sleep current is only 150 nA.
BOOT and RESET buttons:
The core module contains two buttons. The first is RESET (labelled like R) and BOOT (labelled like B). These buttons are used for programming of STM32 - the STM32 must be switched to boot mode.
The other interesting module is Climate modul.
This module also contains temperature sensor TMP112 (Texas Instruments).
The worst accuracy is ? 0.5 ?C in range -40 ?C to 125 ?C.
The power consumption is 7uA, 2uA in sleep mode.
The humidity sensor is SHT20 (Sensirion) with up to ? 2% accuracy.
The power consumption is 10uA during the running mode.
MPL3115A2 (NXP) is sensor for atmosferic pressure (20 kPa up to 110 kPa). The power consumption is 40uA, 2uA in sleep mode.
The last sensor on module is OPT3001 (Texas Instruments) ? the sensor of light intensity.
The mesurement range is from 0.01 to 83,000 lux, the power consumption is only 1.8 uA in running mode, 0.3 uA in sleep mode.
The latest module is LCD module in this article.
The main component is nice and contrast LCD screen by Sharp company. The resolution of screen is 128x128 px and the size is 1.28".
The board contains gesture sensor APDS-9960 (Avago) which includes proximity sensor, movement sensor and light intensity sensor.
There are six very small RGB LEDs above the screen and two button below the screen.
The power consumption of module is 16uA (LCD + gesture sensor).
BigClown offers a lot of modules, e.g. Sigfox module, CO2 module and Relay module.
Now, we can start with the settings of your OS and programming of core module. So, you own Core Modul and you have laptop with Windows OS or Linux OS. Linux Mint OS in my case.
The main part of programming is BigClown Toolchain. The installation for Windows OS is so easy. What you have to do? Download exe file from bigclown github and install it.
Link to Toolchain is https://www.bigclown.com/doc/tutorials/toolchain-setup/.
So, at first, install Toolchain and drivers which are included in exe file. This step is without problems.
Windows
After the installation you will see icon of program on your laptop screen.
The software is command line, the terminal.
Ok, open the BigClown software.
Update the BigClown SDK.
Follow this command
bcf update
Now, we can create project.
bcf create YourProject
Now, the software created a new folder "YourProject" in your home directory.
As you see on the picture (below), the directory contains all files and libraries.
The /app directory includes two files, application.h and application.c. These two files are your application files where you write your code.
Of course, you can add more files of your project.
The /sdk directory, there are whole SDK - libraries, examples and another files.
Here is my modified code. If you push the button, the LED is shinning. You can edit your code in any editor.
The compilation and uploading of code is also easy.
Change the directory:
cd YourProject
Compile the project:
make
The procedure which is mentioned below is only one way how to upload the code to core module.
Now, we want to upload the code. At first, you have to switch the boot mode of STM32.
If you know the Maple Mini board, these steps are the same.
Plug the BigClown Core module to USB.
Press the BOOT button (labelled like B), press the RESET button (labelled like R). Now, release the RESET button but you have to still keep the BOOT button.
Now, Windows show you message about installing stm32dfu driver (only for the first time).
So, now you can release the BOOT button. Ok, STM32 should be in Boot mode.
This command is used for uploading of code:
bcf flash --dfu
Linux
The installation of BigClown Toolchain is a little bit complicated than in OS based on Linux.
Nevertheless, just copy a few commands to terminal.
Follow this step-by-step tutorial: https://www.bigclown.com/doc/tutorials/toolchain-setup/ (Setup on Ubuntu)
In this step
sudo pip3 install --upgrade --no-cache-dir bcf
maybe you will see error that the instalator can't find library called setuptools.
This library you install by this command
sudo apt install python3-setuptools
Now, the installation of BigClown toolchain should be done.
The creating of project is the same like Windows.
Update packages - bcf update
Create your project - bcf create YourProject
Now, the software created a new folder "YourProject" in your home directory.
As you see on the picture (below), the directory contains all files and libraries.
The /app directory includes two files, application.h and application.c. These two files are your application files where you write your code.
Of course, you can add more files of your project.
The /sdk directory, there are whole SDK - libraries, examples and another files.
Compile your project - make
and upload. The uploading of your code is a little bit different.
Now, we use dfu-util -l.
This program searchs accessible device.
In the first part of picture, you see the COre module is not in DFU mode (mode for uploading of code through USB).
DFU mode: Press RESET (R) and BOOT (B) button, release the RESET button but still keep the BOOT button, now release the BOOT button.
In the middle of picture, dfu-util found one device which is in DFU mode, but that doesn't have an access to device.
Add sudo to command and dfu-util shows detailed info about the device. Dfu-util has an access to device.
Upload the code by this command.
sudo bcf flash --device dfu
Another info about Toolchain you find on this website https://www.bigclown.com/doc/tutorials/toolchain-guide/
Is it working? Congratulation!
Maybe you think about the BigClown - why is it so expensive?
You can't compare this platform (and another else) with chinese clones. Is not possible because you forgot on a few important things.
1.) DEVELOPMENT - the price for development is not so cheap. The manufactures of clones of boards didn't have to pay the development. Compare the price for original Arduino boards with chinese clones.
2.) COSTS - The BigClown project is czech project, the costs are higher than in China.
3.) QUALITY - Check the board and components quality. That's not some like chinese board where is working 9 of 10 devices. The components like CO2 sensor, LCD, microcontroller are high quality.
4.) NUMBER OF DEVICES - if you order 10 000 pieces of board or one milion pieces it's different. There is no way, if you are in loss no goverment doesn't help you.
5.) SUPPORT - is not working? Ok, contact BigClown support. Do you have any question? Ok, contact BigClown support. The development of your project will be faster and easier.
I hope that this project, BigClown platform, will be better and better. If BigClown will have more orders, maybe they offer more interesting boards, modules and components. And the price could be lower.