Welcome to Zerynth¶
Zerynth provides developers with an ecosystem of software tools to program microcontrollers in Python and connect them to the Cloud.
With Zerynth you can program in Python or hybrid C/Python language the most popular 32-bit microcontrollers, and connect them to the top Cloud infrastructures.
Main Features:
- Python and C blended together for efficient development;
- Tiny Footprint: Zerynth requires just 60k-80kB of Flash and 3-5kB of RAM;
- Real-Time: Zerynth integrates the RTOS of your choice with multithreading support;
- Connectivity: Zerynth allows an easy integration with top Cloud services and Firmware Over-The-Air updates.
All this is possible thanks to the Zerynth modular set of software tools that form the Zerynth Ecosystem
- Zerynth Virtual Machine: A multithreaded real-time OS that provides real hardware independence allowing code reuse on a wide set of 32bit chips. The VM supports most high-level features of Python like modules, classes, multi-threading, callback, timers and exceptions. In addition to these, it allows to use custom hardware-related features like interrupts, PWM and digital I/O. RTOS threads written in C can live along the VM allowing for a mixed C/Python realtime environment.
- Zerynth Studio: A free, cross-platform, powerful IDE and a Toolchain for developing Python or hybrid C/Python applications and managing boards. It includes a compiler, debugger and an editor, alongside tutorials and example projects for an easy learning experience.
- Zerynth ADM: An Advanced Device Manager to simplify device provisioning, Firmware Over-The-Air updates, and Remote Procedure Calls.
- Zerynth App: A mobile app to monitor and control Zerynth powered devices through fully customizable HTML/JS Graphical User Interface.
- Zerynth Device Manager (Beta): A Device Manger for data aggregation and device management that speeds up the development of scalable, secure and reliable IoT solutions.
Contents:
- Installation Guide
- Getting Started
- Programming Guide
- Python Basics
- Sequences and Map Types
- Pin Mapping and Naming
- Standard Library
- Zerynth Builtins
- Math
- GPIO
- Analog to Digital Conversion
- Pulse Width Modulation
- Input Capture Unit
- DAC
- CAN
- Hardware Timers
- I2C
- SPI
- Garbage Collector
- Streams
- Threading
- Software Timers
- Date and time
- Sunrise and sunset time
- WiFi
- GSM
- BLE
- BLE Beacons
- Ethernet
- JSON
- CBOR
- MsgPack
- Sockets
- Requests
- Urlparse
- Fifo
- Queue
- Flash
- Operating System
- fatFS
- SpiFlash
- QSpiFlash class
- SpiSD
- MCU
- VM
- Secure Socket Layer
- Firmware Over the Air update (FOTA)
- Power Management
- Secure Firmware
- Cryptography
- Bignum
- Base64
- JSON Web Tokens
- Struct
- Real-Time Clock
- X509
- NTPClient Library
- Board Support Package
- C Language Interface
- Virtual Machine
- Examples
- Hello Zerynth
- Blink
- Digital Read
- Analog To Digital Acquisition
- Analog To Digital Voltage Conversion
- Oscilloscope
- Serial Port Read-Write Basics
- Sensor Driven Multi Blink
- Multi Thread Basic
- Multi Blink
- Serial Port Read-Write Advanced
- Input Capture Unit
- Timers Basics
- Strings Format
- CAN Auto-baudrate
- Can Bus Example
- Dac Basic
- Buzzer with PWM
- PWM Fade
- InfraRed Raw Capture
- Timers Advanced
- Datetime
- Suntime
- Queues
- Interrupts
- Interrupts Debounce
- Exceptions-Debugger
- Math
- Mini Web Server
- UDP Pinger
- UDP NTP Time
- Wifi Scan
- HTTP Time
- HTTP Weather
- HTTP Methods
- Secure HTTP
- ntp client
- RTC Keep Time
- Resources
- Struct
- Flash Internal
- SpiFlash
- QSpiFlash
- SpiSD
- Filesystem
- MCU Reset
- C Language Interface
- Crypto Hash
- Crypto ECC
- Powersaving
- Watchdogs
- VM Exceptions
- VM HardFault
- Examples
- Zerynth Toolchain
- Synopsis
- Account related commands
- Projects
- Devices
- Discover
- Device configuration
- Device Registration
- Device Registration by UID
- Device Raw Registration
- Virtualization
- Raw Virtualization
- Serial Console
- Serial Console (raw)
- Supported Devices
- Erase of the device flash memory
- Execute a device custom action
- Configured Devices
- Add Configured Devices
- Remove Configured Devices
- Compiler
- Uplink
- Uplink (raw)
- Uplink by probe
- Link
- Device Configuration and Mass Programming
- Virtual Machines
- Custom Virtual Machines
- Packages
- Amazon Web Services
- Miscellanea
- Provisioning
- Zerynth Studio
- Zerynth Device Manager
- Supported Devices
- Adafruit Feather M0 Wi-Fi
- AWS Hexagon v1
- Adafruit Feather Huzzah
- Adafruit Huzzah32
- Arduino DUE
- Arduino/Genuino MKR1000
- Arduino/Genuino Zero
- DFRobot FireBeetle Esp32
- DFRobot FireBeetle ESP8266
- DOIT Esp32 DevKit v1
- ESP-WROOM32
- ESP32 Azure IoT Kit
- ESP32 DevKitC
- ESP32 EthernetKit
- ESP32 Pico v4
- Flip & Click Sam3X
- Heltec Wi-Fi Kit 32
- Hexiwear
- Infineon XMC4200 Digital Power Control Card
- Infineon XMC4400 Enterprise Kit
- Infineon XMC4700 Relax Kit
- Infineon XMC4800 Connectivity Kit
- Lilygo T-Wristband
- MXChip IoT DevKit AZ3166
- NodeMCU ESP-32S
- NodeMCU v2
- NodeMCU v3
- Nordic nRF52 DK
- Nordic nRF52840 DK
- Olimex Esp32 EVB
- Olimex Esp32 Gateway
- PSoC6 WiFi-Bt Pioneer Kit
- Particle Core (Formerly Spark Core)
- Particle Electron
- Particle Photon
- Polaris 2G
- Polaris 3G
- Polaris NB-IoT
- Pycom FiPy 1.0
- Pycom WiPy 3.0
- MikroElektronika Quail
- RedBear Blend 2
- RedBear Nano 2
- Renesas PK-S5D9
- Renesas TB-S5D5
- Riverdi IoT Display
- SODAQ ExpLoRer
- ST Microelectronics Discovery F407VG
- ST Microelectronics Nucleo F401RE
- ST Microelectronics Nucleo F429ZI
- ST Microelectronics Nucleo F746ZG
- ST Microelectronics Nucleo L4R5
- ST Microelectronics Discovery F407VG
- Sony Spresense
- SparkFun Photon RedBoard
- Sparkfun ESP32 Thing
- Sparkfun Esp8266 Thing Dev
- Wemos D1 Mini
- Wemos ESP32 OLED
- Wio Link
- Wireless Tag WT8266-DK V2
- XinaBox CW02 (ESP32)
- Xplained Pro Sam C21
- Xplained Pro Sam C21N
- Xplained Pro Sam D21
- Xplained Pro Sam E54
- Xplained Pro Sam G55
- Xplained Pro Sam L21
- 4ZeroBox
- oddWires IO
- oddWires Proteus
- Standard Library
- Official Libraries
- Adafruit
- Amphenol
- Ams
- Aws
- Azure
- Blockchain
- Bosch
- Bridgetek
- Broadcom
- Cypress
- Eseye
- Espressif
- Formosa
- Fortebit
- Googlecloud
- Ibmcloud
- Idinnovations
- Infineon
- Invensense
- Maxim
- Meas
- Melexis
- Microchip
- Mozilla
- Murata
- Nordic
- Nxp
- Okdo
- Onsemi
- Patlite
- Quectel
- Riverdi
- Rohm
- Semtech
- Siemens
- Sitronix
- Solomon
- Sony
- Stm
- Texas
- Ublox
- Vishay
- Worldsemi
- Zerynth
- Partners’ Libraries
- Community Libraries