Posts

GD32E230, Cortex-M3 for Industrial Applications

  32bit ARM Cortex-M23 core Up to 72 MHz operation frequency Single-cycle multiplication and hardware diviEder Ultra-low power, energy-efficient operation Excellent code density Integrated Nested Vectored Interrupt Controller (NVIC) 24-bit SysTick timer Internal Bus Matrix connected with AHB master, Serial Wire Debug Port and Single-cycle IO port Nested Vectored Interrupt Controller (NVIC) Breakpoint Unit(BPU) Data Watchpoint and Trace (DWT) Serial Wire Debug Port Embedded Flash Up to 64 Kbytes of Flash memory Up to 8 Kbytes of SRAM with hardware parity checking Clock Internal 8 MHz factory-trimmed RC and external 4 to 32 MHz crystal oscillator Internal 28 MHz RC oscillator Internal 40 KHz RC calibrated oscillator and external 32.768 KHz crystal oscillator Integrated system clock PLL 1.8 to 3.6 V application supply and I/Os Boot Boot from main flash for user code Boot from system memory for boot code Boot from on-chip SRAM Power Saving Modes Sleep, Deep-sleep and Stand...

BK7236 WiFi6 SoC from Beken

Brief The BK7236 is a highly-integrated 1x1 single-band 2.4 GHz Wi-Fi 6 (802.11b/g/n/ax) and Bluetooth 5.4 combo solution designed for applications that require high security and abundant resources. The integration of dual-core 32-bit ARMv8-M Star M33 MCU and comprehensive set of peripherals makes the BK7236 ideal for advanced Internet of Things (IoT) applications. The BK7236 provides state-of-the-art security based on a powerful security architecture. The BK7236 integrates a IoT Platform Security Suite (IPSS) for cryptograph and system security control. The IPSS embeds all-round and robust security features to set up a top-secret execution environment for IoT devices. Using advanced design techniques and ultra-low-power process technology, the BK7236 delivers high integration, efficient security and minimal power consumption for a wide range of complex IoT applications. Key Features WiFi • IEEE 802.11b/g/n/ax 1x1 compliant • 20/40 MHz channel bandwidth for 2.4 GHz • Supports d...

PHY622X BLE SoC from PHYPLUS

Image
About PHYPLUS PHY622X BLE SoC is manufactured by PHYPLUS Shanghai, a leading advanced BLE SoC supplier in China. Key Features for PHY6222 Cortex-M0 with SWD (only for debug) 128KB-8MB flash memory 64KB SRAM, retention in sleep mode 4-way instruction cache with 8KB cache RAM 96KB ROM (BLE/BLE Mesh stack) 256bit efuse 22 GPIOs GPIO retention in off/sleep mode IO MUX function mapping All pins can be configured for wake-up All pins for triggering interrupt 3x QDEC 6x PWM 2x PDM/I2C/SPI/UART 4x DMA 8x 12bit ADC with low noise voice PGA 6x 24bit timer, one watchdog timer RTC (w/o calendar) Operating range: 1.8 to 3.6V Embdeed buck DC/DC and LDOs battery monitor RC oscillator hardware calibrations Support BLE 2Mbps protocol Support Data Length Extension Throughput up to 1.6Mbps BLE 5.1 Support SIG-Mesh Multi-Feature 2.4GHz transceiver -103dBm @ BLE 125Kbps TX power -20 to _10dBm in 3dB steps AES-128 encryption Link layer hardware Operation temperatrue: -40 to 125 degree RoHS package: QFN32 Re...

PY32F0XX Low Cost TSSOP ARM Cortex-M0+ Microcontroller

Image
PY32F030 and PY32F003 are manufactured by PUYA Shanghai, who was known as a low cost SPI flash supplier. High performance 32-bit ARM Cortex-M0+core and MCU with wide voltage operating range are adopted. The maximum embedded memory can reach 64K bytes flash and 8K bytes SRAM, and the maximum operating frequency can reach 48MHz. It contains a variety of different packaging types and products. The chip integrates multiple I2C, SPI, USART and other communication peripherals, one 12bit ADC, six 16bit timers, and two comparators. The operating temperature range is -40 ℃~85 ℃, and the operating voltage range is 1.7V~5.5V. The chip provides sleep and stop low-power operation modes, which can meet different low-power applications. Key features: 32bit ARM Cortex-M0+ core Up to 64KB (embedded) flash memory Up to 4KB SRAMClock subsystem for HSI/HSE/LSI/LSE/PLL Clock up to 48MHz Operating voltage 1.7~5.5V Operating temperature -40~85 Up to 30 GPIOs 1x I2C 2x SPI 2x USART 4x bit GP Timer 1x ADC time...

ESP32-C3 WiFi/BLE Multi-mode RISC-V SoC

Image
ESP32-C3 is a multi-mode SoC with WiFi and BLE radios and RISC-V core. This device is manufactured by Expressif in Shanghai. ESP32 is a famous product line for low-cost WiFi/BLE dual mode IoT SoC. The early models are designed with Xtensa LX soft-core. Now Expressif released a RISC-V based version. Its key features: Single core RISC-V SoC running up to 160MHz with 4 level pipelines Built-in 400KB SRAM (16KB cache) 384KB ROM  SPI/Dual SPI/Quad SPI/QPI interfaces to external memories Broad temperature range RSA3072 based security boot, and AES128/XTS256 code protection Digital signature and HMAC modules TRNG True random number generator IEEE802.11 b/g/n 2.4GHz, 20MHz/40MHz bandwidth 1T1R, up to 150Mbps BLE 5 / BLE mesh on 125K/500K/1M/2Mbps 21dBm TX 22 GPIO 3x SPI 2x UART 1x I2C 1x I2S IR transmitter, 2 TX/2RX 6 channel LED PWM Full speed USB serial/JTAG GDMA 1x TWAI for CAN2.06 channel 1x temperature sensor 2x 54bit GP timers 3x watchdog timers 1x analog watchdog timer 1x 52bit syst...

RISC-V MCU GD32VF103 from Giga Devices

Image
GD32VF103 is a RISC-V microcontroller, which is pin to pin compatible to STM32F103. The chip is manufactured by Gigadevices in Shanghai. The key features: 108MHz CPU clock 16 to 128KB flash ROM 6 to 32KB SRAM 1x 16bit advanced timer 4x 16bit general purpose timers 2x 16bit basic timers 1x 24bit systick timer 2x watchdog timer 1x RTC timer 2x UART 3x USART 2x I2C 3x SPI 2x I2S audio interfaces 1x USB OTG 2x CAN 2.0B External memory interface for NOR/SRAM/PSRAM/ROM 2x12bit 16 channel ADC 2x12bit DAC High precision 1Msps ADC 2.6-3.6V, 5V tolerance GPIO, up to 80 I/Os Sleep, deep sleep, standby modes QFN36, LQFP48, LQFP64, LQFP100 Restrictions Mature RISC-V MCU FT2232 based JTAG interface has some restrictions on installation Segger JLINK V10 is working smoothly.

XY1100 CAT-NB SoC from Xinyi (New Wing)

Image
XY1100 is a hybrid NB-IoT SoC with CMOS PA and software radio technologies, developed by Xinyi (New Wing) Shanghai. The key features are: Dual core architecture: MCU + DSP A Cortex-M3 running on 240MHz 900KB RAM and 417KB user flash RX: -134dBm, Tx: 23dBm 690-960MHz, 1.71-2.2GHz QFN52 Support OpenCPU software architecture Support AT modem interface Assessment It is a low cost NB-IoT SoC with software radio and CMOS PA. It can support multiple modem technologies only if you get support from the R&D team. It support on board design, instead of module based design. It has been verified by major operators in China, so its quality is accepted. Recommended for large volume applications. Although it has complete toolchain, but it is key account oriented product, not very friendly to OSHW community.

W801 RISC-V WiFi/BLE combo from Winner Micro

Image
W801 is a WiFi/BLE IoT SoC manufactured by Winner Micro, which is based in Beijing, China. It has rich on-chip peripherals. The key features are: 2.4GHz IEEE802.11b/g/n  Bluetooth/BLE 4.2 dual mode Integrated 32bit C-Sky V2 core General Purpose IO: GPIO/ADC Rich communication interfaces: UART/SPI/I2C Special interface: I2S/7816/SDIO UI interface: LCD/Touch sensor Memory interface: PSRAM Security module: TEE with hardware encryption algorithms Built-in DSP Built-in FPU Code protection 2MB XIP flash memory with code encryption, signature, secure debug, secure OTA GCC support PS: C-Sky V1 was M-core from Motorola semiconductors, and C-Sky V2 was upgraded and revised. Assessment: XIP flash may have some restriction on execution speed and power consumptions. Some time critial code has to run in the RAM ADC precision is low and sampling rate is low. Lack of documentations and supports, although it is quite cheap. A complete SDK/toolchain is ready for OSHW community, but it is helpful for...

HC32L110 Cortex-M0+ MCU, Low Pin Count, Low Power Consumption, with 12bit 1Msps SARADC

Image
HC32L110 is manufactured by HDSC (Huada Semiconductors). The key features are:  32MHz Cortex-M0+ 32bit MCU Low power consumption 0.5uA @ 3V deep sleep mode 1.0uA @ 3V deep sleep + RTC mode 6uA @32.768kHz slow working mode 20uA/MHz @ 3V @ 16MHz sleep mode 120uA/MHz @ 3V @ 16MHz work mode 3uS ultra low power wakeup mode 16KB/32KB (embedded) flash memory, with write protection 2KB/4KB RAM with verification GPIO 16IO @ 20pin, 12IO @ 16pin Clock and Xtal External high crystal: 4M - 32MHz External low crystal: 32.768KHz Internal high clock: 4/8/16/22.12/24MHz Internal low clock: 32.768K/38.4KHz hardware clock calibration and supervisory circuit. Timer/Counter 3 x 16bit timers/counters 1 x low power 16bit timer/counter 3 x high performance 16bit timers/counters, with PWM complementation and dead-zone protection 1 x programmable 16bit timer/counter, with capture compare and PWM output 1 x 20bit programmable counter/WDT, with independent ultra low power RC-OSC. Communications UART0/UART1 st...

Second Sources

  What are Second Sources? Although the semiconductors market is a mature enough, there are more and more fabless start-ups in China. The product line ranges from FPGA and memory to MCU/SoC and analog ICs. Recently, the authority has an aggressive plan to invest thousands of billions CNY in projects to advance semiconductors from design to production. It is easy to forecast that there will be more and more Chinese silicons available for the worldwide market. In comparison to market titans like Intel, Ndivia, TI, NXP, STM, ADI, and Maxim, these small vendors may not be our first choice, but they can be second sources . Rename to Chip Bazaar The second sources program is renamed to Chip Bazaar program. Original Design vs. Clones Although many second source products were designed as clones of the original design, for example, a Cortex-M or RISC-V MCU with compatible register, peripheral, gpio allocation and more. However, many of the product lines are cost-driven. So there are ma...

Chinese Semiconductor Market Trend

Image
I am back AGAIN Thanks to GFW, I have not been updated my blog for years.  Now I can access my blogspot account. Recently, the semiconductors market has changed a lot. After Huawei has been blacklisted, more and more chips are not allowed to sell to China anymore. Since the supply chain has been blocked for over two years, a lot of Chinese semiconductors companies stared their IPO and more products are released to the market as well as other areas, there chips include the following sectors: Memory: NOR/NAND flash, SSD, DRAM, SRAM, MRAM, EEPROM CPU: CPU for desktop, server, thin-server, gateway SoC: SoC for mobile, camera, TV and consumer video/audio, router and etc MCU: MIPS/ARM/RISC-V/8051 based MCU FPGA: entry level FPGA and CPLD NPU: standard alone APU or embedded NPU IP Logic: standard logic Discrete: power, IGBT and RF IP: EDA, IP vendors Market Trend I had worked for Philips/NXP semiconductors for 15 years. I know if the margin of a chip is lower than 30%, most of the se...

Ramon, a Terminal Software for LoRa ALOHA Dongle

Image
  I am programming a Terminal software for my own LoRa USB Dongle. Its name was Radio Terminal, but I think it is too geek, so I rename it to Ramon, stands for Ra dio Mon itor. Ramon for LoRa , what is a perfect match !   The software is written with wxPython, so it can run on Windows, Linux and Mac. The USB LoRa dongle can load ALOHA firmware, instead of LoRaWAN firmware. LoRaWAN firmware is dedicated for IoT applications, while ALOHA firmware can convert the device into a ham radio modem. But the consumers don't bother to apply radio license like hammers do. Small groups can build a chatting room with several dongles during traveling, climing or working, even there are no mobile base stations nearby.   My dongle actually has two interfaces, USB and UART. The UART can be used to bridge BLE/WiFi to mobile or remote server. With this feature, any node within the group can act as a bridge between local LoRa network and remote users via web services. ...

LoRa Prototype Kits from Ennovation

Vision of IoT and LPWA IoT has huge diversity in connectivity, ranges from PAN/LAN/WAN. However, deployment different technologies in real projects bring very high cost in R&D, manufacture, inventory management, operation and maintenance. There are many merges in TMT/IoT industries, since these companies want to merge these standards and market segments. If we focus on Low Data Rate and Long Range applications, we can find several competitors, including LoRa, Sigfox, NB-IOT. Up to now, Sigfox keeps as a proprietary solution. NB-IOT is an open standard, but most of the small accounts cannot get modules from HUAWEI and leading suppliers. Among these standards, LoRa is an open solution for any players in the market. Although SX1301 based concentrator still protected under NDA with Semtech, we can use much simpler solution with regular LoRa transceiver to serve smaller IoT network. About Ennovation Ennovation LLC., is a Shanghai based design house for Semiconductors as well as IoT...

LoRa USB Dongle USBLR110M Assembly and Trouble Shooting

Version  More pictures to be added for clear overview. Assembly The USBLR110M is made up of three parts: 1. LoRa adapter board, aka main board; 2. MCU board, aka STM32F103C8 controller board; 3. SMA antenna; Please take care the direction while you assembly the kit. 1. Please screw on SMA antenna onto the SMA socket, and make it face upside. 2. Let SWD pins of MCU board face upside, and plug it into DIP40 of main board. 3. You will find micro USB socket faces downside. Trouble Shooting The firmware pre-programmed into the MCU is called Ping-Pong RX/TX project. Each kit will try to PING the other peer, unless it receives Ping from the other peer. So, it is easy to setup a point to point test loop between any two kits. Power up two kits with USB cable, any micro USB cable from your mobile phones are suitable for that purposes. LED blinking After power up, you will find three LEDs blinks. Name Location Function LED1 PWR/MCU...

LoRa Prototype Kit and USB Dongle Product

Image
Recently I have released some LoRa Development Kit and products, check these out.   Fig 1: LoRa RFM100L (AI version) with NUCLEO-F103RB Fig 2: LoRa RFM110L (NPLINK version) Shield Fig 3: LoRa USBLR1000 (in enclosure) and USBLR110M (PCBA) USB Dongle Fig 4: LoRa USBLR110M USB Dongle (433MHz and bare PCB) Among these products, USBLR110M become the popular one, it is made up of STM32F103C8 mini board (Blue Pill) as well as RF modules for SX1278/SX1276/SX1272.  Since STM32 and RFM are all pin to pin compatible, developers can use another mini board, STM32 micros or radio chip to custom their designs. I will post more details on these products. Futhermore, I will release a WiFi/LoRa and BLE/LoRa combo products.

Hello World, Again.

As time goes by, I, as a Chinese engineer, was blocked by GFW time after time. Since I am running some small (we can call it tiny) online stores for my designes in Tindie.com as well as taobao.com. I have to come back to blogger.com to update my blogs as well as upload my code to github, anyway. So, Hello world. I am coming back again ! Nice to hear from you.

LPC812 RC5 IR Remote Control Codec

Image
    Since LPC812MiniKit is application oriented, we will publish a series of applications available now.      LPC812 has an advanced peripheral SCT, which is suitable for timing related algorithm. NXP has offered comprehensive application notes and demo codes for SCT in LPC812.  Although SCT in LPC812 has only two state variables, its counterpart in LPC18XX/43XX has much more variables. It is still very handy for most simple timing applications, such as infrared remote control used in consumer electronics. You can donwload cookbook of LPC812 SCT from LPCware.com. There are serveral demo projects for Keil inside the zip file, which has rc5_send and rc5_receive. RC5 is widely used in many devices from Philips electronics, including TV, DVD, lighting and others. Philips has introduces RC6 standard to replace it, but RC5 is still popular. Labs on LPC812 Mini Kit The rc5_send and rc5_receive are straigh forward. You can test them on LPC812MiniKit easily. RC5_REC...

Firmata for LPC812 is available now

Image
    pyFirmata and Firmata for LPC812 As mentioned in previous blog, I ported Firmata from Arduino to my LPC812MiniKit in order to instantiate MCU on board.  I used pyFirmata as the starting point for my demo testing code. And it can be used a baseline for future desktop applications in Windows/Linux/OSX.   In microcontroller side, Firmata for LPC812's footprint is 9KB ROM and 1KB RAM, including serial driver, ring buffer management, printf, system timers, SCT, PWM and firmata protocol parsers.   Quick testing for analog channels I have learnt a testing trick from Sparkfun, print analog bar in console. By this way, we can quick check analog channels such as PWM, ADC, DAC or sensor raw data. It works like a osilloscope, excepts vertial scanning.   SCT PWM library During my development, I found some problemes and bugs. Among them, SCT based PWM takes longer time than my expectation. I have to say, NXP's SCT is a great and flexible pheripheral. And they have of...

Firmata, a legacy protocol demands more patches

Image
    During my development of Firmata for LPC812MiniKit, I found a serious issue.  The current Firmata protocol only supports up to 16 channels of PWM/ADC .    Cause Since Firmata originates from the legacy MIDI protocol. It heritates many things from last century (too old).  The MIDI devices have common features. For example, the musical keyboard has many keys and a few analog control, including volume, pitch. As a result, MIDI protocol defines up to 128 channels digital I/O and up to 16 channels analog I/O.  On the other hand, MIDI is kind of ASCII protocol. It reserved MSB as command, all 8bit value has to be split into two byte, one byte carries 7bit, the other carries 1 bit. That's stupid ever.   When Firmata was designed for Arduino, it follows MIDI. So we can believe the designer should have background of music. Here comes the bottleneck. Although in morden microcontrollers, analog channels are still limited against to digital pins.  Us...

Python Firmata libraries

Image
    In order to abstract the hardware with Firmata, I must build up a test loop. First I will use a mature desktop firmata host application to test the firmware, then using the tested firmware to speed up the development for Android class libraries and APK. I am used to use Python to setup a rapid application to test the LPC812MiniKit. Simplest approach ever.   Firmata for Python   There are two Python libraies available for Firmata applications: pyduino: http://code.google.com/p/pyduino/  (depends on pySerial, protocol 2.0) pyFirmata: https://github.com/tino/pyFirmata (depends on pySerial, protocolv2.1 and Python3)   By manually inspecting the source code, I found pyduino is older than pyfirmata. pyduino's main file pyduino.py is only 10KB, the latest update timestamp is 2009. The coding style is quite close to mine, who has background of embedded systems like microcontroller firmware development.   On the other hand, pyFirmata is more complete and up...