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 appl…

LoRa USB Dongle USBLR110M Assembly and Trouble Shooting

Version  More pictures to be added for clear overview.
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.
NameLocationFunctionLED1PWR/MCUoff: power off, on: powered onLED2PC13/MCUoff: RX, on: TXLED3SX1278 …

LoRa Prototype Kit and USB Dongle Product

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 as well as I have to come back to 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

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 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.
You can use LPC812MiniKit wit…

Firmata for LPC812 is available now

pyFirmata and Firmata for LPC812As 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 channelsI 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 libraryDuring 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 offered related tutorials and source co…

Firmata, a legacy protocol demands more patches

During my development of Firmata for LPC812MiniKit, I found a serious issue. The current Firmata protocol only supports up to 16 channels of PWM/ADCCauseSince 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.  Usually we can find 4/6/8 PWM/ADC on chip. But they can…