All you need to know about CloudX

CloudX is an opensource hardware and software single-board microcontroller developed by ByteHub Embedded to promote DIY electronic projects. It was designed in form of an hardware programmer and also a microcontroller board. It contains digital I/O pins, Analog pins, PWM, serial and power supply pin sockets.

Complete CloudX M633

The CloudX microcontroller board comes in different series such as M633, Priscilla, 2620 etc. using the PIC microcontroller series from Microchip technology. the series differs in board sizes, Program memory (ROM) size, Data memory (RAM) size, EEPROM size, operating speed and number of digital pins, analog pins, timers and serial pins.

CloudX microcontroller is programmed using the CloudX integrated development environment (IDE) which was written in C#, the IDE supports has an inbuilt code editor, compiler and code uploading Graphics Users Interface (GUI).

The CloudX idea began in 2016, when the three founders Olayiwola, Noel and Lanre formed their technology startup company in Lagos, Nigeria with the idea of promoting self technology and producing millions of hardware makers across the Africa continent.

History

The cloudx board is an opensource hardware(hobbyists can create their own) using the PIC microcontrollers that runs on ByteHub Embedded firmware. The initial series of the cloudx board before version 1.06 has both the controller and the USB — Transistor transistor logic(TTL) chip (usually FTDI FT232RL) on it, The FT232RL chip was later replaced with CH340G chip which is far more cheaper.

The First CloudX board developed by Ayinde Olayiwola in May 2017, it contains both the softcard and controller on a single-board

Most CloudX boards consists of PIC16F, PIC18F, PIC24F and PIC32 microcontrollers from Microchip technology(one of the biggest microcontroller manufacturer) and it ranges from 8-bit to 32-bit microcontroller. The first commercial version of the cloudx board (M633) uses the PIC16F877A chip which has ROM size of 8kB, RAM size of 398 bytes, EEPROM size of 256 bytes. It can be powered using the softcard that connects with the computer or directly from the 5V connector, it also has an on-board 5V regulator which allows it to be powered through the VIN with more than 5V, the 3.3V on the controller board is only active when the softcard is connected. The M633 has 6 analog pins, 16 digital I/O pins, 4 timers, 1 I2C, 1 SPI, 1 UART and 2 PWM pins. The M633 runs on the operating speed of 20MHz.

CloudX microcontroller board are pre-programmed from the manufacturer through the ICSP which enables user’s codes to be loaded through the softcard, this method eliminates the use of microchip hardware programmers such as the PICKIT2, PICKIT3 etc. The complete cloudx board consists of the Controller Board and SoftCard.

The CloudX Softcard board that allows codes to be loaded into the controller board

Controller Board

The controller board is a well labelled board that contains the microcontroller chip, the regulator, ICSP for firmware, oscillator and the external pin sockets for users. The controller board runs on the Bytehub embedded bootloader which allows it to be programmed using the softcard. There are different series of of the controller board such as M633, Priscilla and 2620 and can be programmed using the same softcard.

The CloudX M633 v1.80 front and back view

Softcard

The softcard is a customized blackish small breakout board that represents the cloudx hardware programmer, it allows users to upload their codes into the controller board, it serves as the middle-man between the computer and the controller.The softcard was specially developed to be compatible with all series of cloudx microcontroller board. The softcard can also be used as a standalone USB to serial device. When connected to the computer (with available serial terminal), it can be used to communicate with all kinds of serial modules like Bluetooth, Wi-Fi, GSM and GPS modules like SIM300, SIM808, SIM908.

The CloudX Softcard board that allows codes to be loaded into the controller board

Software

The CloudX board programming supports the embedded C language, the developers invented another programming language called CloudX C language which is an extension of standard C language to help users or hobbyists to learn programming easier and faster. The software can also be programmed using XC8 compiler syntax for experts that understands how to code with that compiler for PIC microntrollers[1]

This is the CloudX IDE v5.06 for programming, compiling and uploading on all series of cloudx microcontroller board.

This is the CloudX IDE v5.06 for programming, compiling and uploading on all series of cloudx microcontroller board.

CloudX IDE

The CloudX Integrated Development Environment (IDE) is a very powerful windows software that comes with many other features and applications such as C text editor, compiler, code loader, serial monitor terminal, visual block, LCD custom character generator etc., it also gives users the ability to launch other applications like Proteus simulating software from its interface if those software are initially installed on the computer, therefore, users can create, import, compile and upload projects into the controller board with this standalone IDE. The first three versions of the cloudX software has only the C text editor and code loader while it used MPLABX IDE as a third party software for libraries importations and compilations. In October 10 2018, ByteHub Embedded Inc. announces the release of the standalone cloudX IDE v5.06.

The CloudX v5.06 is only compatible with the windows 32-bit and 64-bit operating system while compatibility with other operating systems like the Apple’s mac is still work in progress.

CloudX Libraries

CloudX comes with hundreds of pre-built libraries that allows users to learn embedded systems designs and programming through fun and practical projects. It is an open-source platform developed to promote Do-It-Yourself (DIY) projects; The cloudX library was created to simplify or reduce the number of codes by the programmers. Libraries are pre-written codes by the compiler’s manufacturers to help reduce and optimize programmer’s code.

There are various versions of cloudx library which are also in .h format in a single folder, users can easily update libraries directly in the software. The current version of the CloudX library is V2.60.

CloudX Driver

The CloudX uses the CH340 IC, a low cost USB to TTL converter IC mostly found almost in all development boards.

Visual Block

Visual Block was designed using visual programming language like scratch, This interface was initially developed for users who do not want to write codes, but was later restructured so that even experts can use it for their projects. The visual interface seems to be fun as you can select and join blocks inside the workspace. The platform automatically converts the blocks into codes for users. The visual software works with any browser like Google Chrome, Firefox etc.

CloudX Visual Blocks Coding Frontend

Senior Embedded Software Engineer, Roboticist, IoT, Co-Founder & Former CTO ByteHub Embedded, Inventor of CloudX, Electric Vehicle Architect.