Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
index [2019/01/11 06:58]
qyx [Tutorials]
index [2020/06/07 19:31] (current)
qyx [Remote data acquision, NW-R platform series]
Line 1: Line 1:
-===== My new home (02/​2018) ​=====+===== My new home =====
  
-Migration of pages from the old location http://​qyx.krtko.org/​projects/​ and others is ongoing. Old links should still work though.+This page lists some of my personal, commercial and research projects. Most of the resources are available under 
 +permissive open-source licenses, including the hardware. Sources are available at [[https://​github.com/​iqyx]]. 
 +You can contact me using [[qyx@krtko.org]] or qyx@freenode. 
 + 
 +  * 02/​2018 ​Migration of pages from the old location http://​qyx.krtko.org/​projects/​ and others is ongoing. Old links should still work though. 
 +  * 10/2019 Documenting recent projects
  
   ​   ​
  
-===== Documented projects ===== 
  
-{{:​index_thumbs:​p1080172.jpg?​120 |}} [[tomato-single-cell/​]]+ 
 +===== Projects ===== 
 + 
 + 
 + 
 + 
 + 
 +==== Remote data acquision, NW-R platform series ==== 
 + 
 + 
 + 
 +{{index_thumbs/​sama5d27-main-nwr2u-3d.png?​120 |}} 
 +[[nwr-sama5d27-main/​|Microchip SAMA5D27-SOM1 based main board for the NW-R platform]] 
 + 
 +<wrap tag>​{{mdi>​progress-check}} Prototype lab test</​wrap>​ 
 +<wrap tag>​{{mdi>​open-source-initiative}} OSS (Buildroot, Linux), OSHW</​wrap>​ 
 + 
 +A middle-class Linux-based main board for not computationally intensive applications. 
 +Linux console, SAM-BA bootloader and Linux USB gadgets (USB device) are accessible from 
 +front panel USB micro-B connectors. One USB A host connector is available for arbitrary use. 
 +The board connects to the backplane over Ethernet, CAN and I2C/​SMBus. 
 + 
 +Buildroot, U-Boot and Linux kernel configuration is available.  
 +---- 
 + 
 + 
 + 
 +{{index_thumbs/​osd335x-sm-main-nwr2u-3d.png?​120 |}} 
 +[[nwr-main-osd335x/​|Octavo Systems OSD335x-SM based mainboard for the NW-R platform]] 
 + 
 +<wrap tag>​{{mdi>​lightbulb-on-outline}} Proposal/​Idea</​wrap>​ 
 +<wrap tag>​{{mdi>​open-source-initiative}} OSS (Buildroot, Linux), OSHW</​wrap>​ 
 + 
 +An Octavo Systems OSD335x-SM based mainboard for the NW-R platform running GNU/Linux for more computationally 
 +intensive DAQ applications. 
 +---- 
 + 
 + 
 + 
 +{{:​index_thumbs/​tsp-2c-nwr2u-3d.png?​120 |}} [[tsp-2c-nwr2u/​|2-cell TSP solar power board, 2U NWR form factor]] 
 + 
 +<wrap tag>​{{mdi>​open-source-initiative}} OSS, OSHW</​wrap>​ 
 +<wrap tag>​{{mdi>​progress-check}} Prototype lab test</​wrap>​ 
 + 
 +Solar power board for the NWR platform. Charges a two series cell Li-Ion or Li-Po external battery and provides 
 +5V power to the NWR backplane. Design partially verified. 
 +---- 
 + 
 + 
 + 
 +{{index_thumbs/​onion-main-nwr2u-3d.png?​120 |}} 
 +[[onion-inet-gw-nwr2u/​|Onion Omega2S based internet router for the NW-R platform]] 
 + 
 +<wrap tag>​{{mdi>​progress-check}} Prototype lab test</​wrap>​ 
 +<wrap tag>​{{mdi>​open-source-initiative}} OSS (OpenWrt), OSHW</​wrap>​ 
 + 
 +A Onion Omega2S module based board for connecting a NWR DAQ system to the Internet. There are several interfaces available:​ 
 +  * internal single-chain 802.11b/g/n WiFi (SMA connector) 
 +  * mini-PCIe slot (USB & PCIe, SIM socket) for 802.11 wireless card, cellular modem or LoRaWAN modem, etc (SMA connector hole reserved) 
 +  * internal 2G/Edge (with SIM socket, SMA connector) or LTE (NB-IOT) modem 
 + 
 +Omega2S module is OpenWrt compatible.  
 +---- 
 + 
 + 
 + 
 +{{index_thumbs/​thumbnail_wip.png?​120 |}} 
 +[[bat-aa-nwr2u/​|Battery module/​power supply unit for 3 AA cells]] 
 + 
 +<wrap tag>​{{mdi>​progress-check}} Prototype lab test</​wrap>​ 
 +<wrap tag>​{{mdi>​open-source-initiative}} OSS, OSHW</​wrap>​ 
 + 
 +Power supply unit designed to accomodate 3 AA (14500) primary or rechargeable cells in a 3S1P pack. 
 +Wide input voltage range allows different cell chemistries to be used: 
 +  * NiCd/NiMH 1.2V rechargeable batteries (3.6V pack voltage) 
 +  * Alkaline 1.5V cells (4.5V pack voltage) 
 +  * Lithium 1.5V cells (4.5V pack voltage) 
 +  * LiSoCl2 3.6V cells (10.8V pack voltage) 
 + 
 +---- 
 + 
 + 
 +==== Low power data acquisition,​ old NatWatch series ==== 
 + 
 + 
 + 
 +{{:​index_thumbs:​p1080172.jpg?​120 |}} 
 +[[tomato-single-cell/​]] 
 + 
 +<wrap tag>​{{mdi>​alert-circle-outline}} Deprecated</​wrap>​ 
 +<wrap tag>​{{mdi>​open-source-initiative}} OSS, OSHW</​wrap>​ 
 +<wrap tag>​{{mdi>​progress-check}} Prototype field test</​wrap>​
  
 A single-cell Li-Ion/​Li-Po/​LiFePO4 battery solar charger board for the natWatch platform (tomato-series solar chargers) A single-cell Li-Ion/​Li-Po/​LiFePO4 battery solar charger board for the natWatch platform (tomato-series solar chargers)
Line 14: Line 109:
  
  
 +{{index_thumbs/​p1080163.jpg?​120 |}}
 +[[kiwi-simple]]
  
-===== Work In Progress =====+<wrap tag>​{{mdi>​alert-circle-outline}} Deprecated</​wrap>​ 
 +<wrap tag>​{{mdi>​open-source-initiative}} OSS, OSHW</​wrap>​ 
 +<wrap tag>​{{mdi>​progress-check}} Prototype field test</​wrap>​
  
-[[nsprofiler-cap/​]] 
  
-13-segment capacitive profiler probe for measuring moisture content in soil and snow+2Msps, 4-channel, 1Vp-p, GPS synchronized signal digitizer
 ---- ----
  
  
-[[nwDaq-G201/​]] 
  
-A miniature and battery powered data logger and remote data acquisition system ​for CAN based sensors+{{:​index_thumbs:​p1080161.jpg?​120 |}} 
 +[[plumpot-lp]] 
 + 
 +<wrap tag>​{{mdi>​alert-circle-outline}} Deprecated</​wrap>​ 
 + 
 +Low power STM32L4 base board for the natWatch platform with micro-sd slot, QSPI flash
 ---- ----
  
-[[pio-relay-s4/​]] 
  
-4 SPDT relay output board for the natWatch platfgorm 
  
 +{{:​index_thumbs:​p1080161.jpg?​120 |}}
 +[[plumpot-cellular]]
  
 +<wrap tag>​{{mdi>​alert-circle-outline}} Deprecated</​wrap>​
 +<wrap tag>​{{mdi>​open-source-initiative}} OSS, OSHW</​wrap>​
 +<wrap tag>​{{mdi>​progress-check}} Prototype field test</​wrap>​
  
 +One of the first natWatch platform base boards. It contains a STM32F401 MCU, Quectel M66 GSM/GPRS modem and a AX5243 radio.
 +----
  
  
  
 +{{index_thumbs/​thumbnail_wip.png?​120 |}}
 +[[nw-can-adapter]]
  
-===== Undocumented =====+<wrap tag>​{{mdi>​alert-circle-outline}} Deprecated</​wrap>​ 
 +<wrap tag>​{{mdi>​open-source-initiative}} OSS, OSHW</​wrap>​ 
 +<wrap tag>​{{mdi>​progress-check}} Prototype field test</​wrap>​
  
 +CAN bus sensor interface board
 +----
  
-OLD [[umesh|uMesh secure mesh network protocol stack]] 
  
-uMesh is a set of experimental communication protocols intended mainly for low data rate wireless mesh networks such as sensor networks for environmental data gathering, asset and people tracking, short message delivery and paging, narrowband voice communication etcin scenarioswhere common network infrastructure is not reachable and/or is not feasible for a particular purpose. Protocols are designed with high level of security in mind which could make them suitable for many critical and disaster recovery applications in the future.+{{index_thumbs/​thumbnail_wip.png?120 |}} 
 +[[nw-can-adapter-ns]] 
 + 
 +<wrap tag>​{{mdi>​alert-circle-outline}} Deprecated</​wrap>​ 
 +<wrap tag>​{{mdi>​open-source-initiative}} OSSOSHW</wrap> 
 +<wrap tag>​{{mdi>​progress-check}} Prototype field test</​wrap>​ 
 + 
 +CAN bus sensor interface board without galvanic isolation
 ---- ----
  
 +
 +
 +{{index_thumbs/​thumbnail_wip.png?​120 |}}
 +[[nw-green-tomato-psu]]
 +
 +<wrap tag>​{{mdi>​alert-circle-outline}} Deprecated</​wrap>​
 +<wrap tag>​{{mdi>​open-source-initiative}} OSS, OSHW</​wrap>​
 +<wrap tag>​{{mdi>​progress-check}} Prototype field test</​wrap>​
 +
 +24-60V isolated power supply, 5V/1A output
 +
 +----
 +
 +
 +
 +
 +==== DAQ and sensors, other ====
 +
 +
 +
 +{{nwdaq-g201/​img_20190104_213920.jpg?​120 |}}
 +[[nwDaq-G201/​|Miniature DAQ device in a Gainta G201 enclosure]]
 +
 +<wrap tag>​{{mdi>​progress-check}} Prototype lab test</​wrap>​
 +<wrap tag>​{{mdi>​open-source-initiative}} OSS (plumcore), OSHW</​wrap>​
 +<wrap tag>​{{mdi>​school}} Research</​wrap>​
 +
 +A miniature and battery powered data logger and remote data acquisition system for CAN based sensors. Next revision planned.
 +----
 +
 +
 +
 +{{index_thumbs/​thumbnail_wip.png?​120 |}}
 +
 +[[nsprofiler-cap/​]]\\
 +//​(abandoned,​ Status: for reference only, testing FW available)//​
 +
 +13-segment capacitive profiler probe for measuring moisture content in soil and snow
 +----
 +
 +
 +
 +
 +
 +
 +==== DAQ software ====
 +
 +
 +{{index_thumbs/​thumbnail_wip.png?​120 |}}
 [[plumcore/​|plumCore framework]] [[plumcore/​|plumCore framework]]
 +
 +<wrap tag>​{{mdi>​open-source-initiative}} OSS</​wrap>​
  
 A modular framework for data logging, remote data acquisition and low power wireless mesh networks. ​ A modular framework for data logging, remote data acquisition and low power wireless mesh networks. ​
 +----
  
 +
 +
 +
 +
 +==== Gadgets, personal ====
 +
 +
 +{{index_thumbs/​lcd-temp-hum-meter-pcb.png?​120 |}} [[lcd-temp-hum-meter/​]]
 +
 +//(OSS, OSHW, one-off play-project to try STM32L053 segmented LCD driver, Status: working prototypes)//​
 +
 +Quite ordinary temperature,​ humidity and pressure meter with a 8-digit 14-segment LCD display. Built to try the internal segment LCD driver of the STM32L053 microcontroller,​ failed partially thanks to a MCU bug. Personal project.
 ---- ----
  
-OLD [[ubload|uMeshFw Bootloader (uBLoad)]]+ 
 + 
 +==== Wireless networking, personal ==== 
 + 
 +==== Software, other ==== 
 + 
 + 
 +==== Hardware, other ==== 
 + 
 +{{index_thumbs/​plc-sama5d27-din.jpg?​120 |}} 
 + 
 +[[plc-sama5d27/​HVAC PLC using SAMA5D27-SOM1 module]] 
 + 
 +<wrap tag>​{{mdi>​account-circle-outline}} Personal</​wrap>​ 
 +<wrap tag>​{{mdi>​open-source-initiative}} OSS (Buildroot, Linux), OSHW</​wrap>​ 
 +<wrap tag>​{{mdi>​progress-check}} Prototype field test</​wrap>​ 
 + 
 +A PLC with ethernet, USB host, USB device, 2x CAN interfaces and 2x RS485 interfaces built around the SAMA5D27-SOM1 module from Microchip. It runs a buildroot-based Linux in my basement with a bunch of python scripts to control my HVAC. Personal project. Base for a controller board for another commercial project. 
 +---- 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 + 
 +{{index_thumbs/​thumbnail_wip.png?​120 |}} 
 + 
 +[[umesh|uMesh secure mesh network protocol stack]]\\ 
 +//​(abandoned,​ OSS, Status: functionality redone and included in Plumcore)//​ 
 + 
 +uMesh is a set of experimental communication protocols intended mainly for low data rate wireless mesh networks such as sensor networks for environmental data gathering, asset and people tracking, short message delivery and paging, narrowband voice communication etc. in scenarios, where common network infrastructure is not reachable and/or is not feasible for a particular purpose. Protocols are designed with high level of security in mind which could make them suitable for many critical and disaster recovery applications in the future. 
 +---- 
 + 
 + 
 +{{index_thumbs/​thumbnail_wip.png?​120 |}} 
 + 
 +[[ubload|uMeshFw Bootloader (uBLoad)]] 
 +//​(abandoned,​ old versions working on a specific hardware, OSS)//
  
 A (slightly more) secure bootloader for (not only) uMeshFw compatible wireless nodes A (slightly more) secure bootloader for (not only) uMeshFw compatible wireless nodes
 ---- ----
  
-[[qdlLibrary]]+{{index_thumbs/​thumbnail_wip.png?​120 |}} 
 + 
 +[[qdlLibrary]]\\ 
 +//(OSS, not maintained anymore, used in personal and commercial projects)//
  
 A simple display list rendering library. Main difference from other libraries for drawing objects on a canvas is that here the objects are rendered when display refresh occurs. Objects to be drawn are sorted as a nested boxes (hierarchical structure, tree). This approach uses much less memory and allows drawing on large displays without controller with dedicated display memory. It also makes "​redrawing"​ screen and user interface widgets easier - there is no need to actively redraw anything after changes. A simple display list rendering library. Main difference from other libraries for drawing objects on a canvas is that here the objects are rendered when display refresh occurs. Objects to be drawn are sorted as a nested boxes (hierarchical structure, tree). This approach uses much less memory and allows drawing on large displays without controller with dedicated display memory. It also makes "​redrawing"​ screen and user interface widgets easier - there is no need to actively redraw anything after changes.
 ---- ----
  
-[[sffs|SimpleFlashFileSystem]]+{{index_thumbs/​thumbnail_wip.png?​120 |}} 
 + 
 +[[sffs|SimpleFlashFileSystem]]\\ 
 +//(OSS, not maintained anymore, used in Plumcore and other personal projects. Replaced by SPIFFS available on GitHub)//
  
 Simple filesystem originally developed for saving configuration and firmware Simple filesystem originally developed for saving configuration and firmware
Line 71: Line 300:
 and is probably unoptimal in every single way. and is probably unoptimal in every single way.
 ---- ----
 +
 +{{index_thumbs/​thumbnail_wip.png?​120 |}}
  
 [[qnode5|qNode5 - uMesh debug platform]] [[qnode5|qNode5 - uMesh debug platform]]
Line 77: Line 308:
 large STN transflective LCD display. large STN transflective LCD display.
 ---- ----
 +
 +{{index_thumbs/​thumbnail_wip.png?​120 |}}
  
 [[qnode4|qNode4 - uMesh-compatible solar powered low-cost node]] [[qnode4|qNode4 - uMesh-compatible solar powered low-cost node]]
Line 84: Line 317:
 step-up converter (without MPPT) feeding a LiPo charger. step-up converter (without MPPT) feeding a LiPo charger.
 ---- ----
 +
 +{{index_thumbs/​thumbnail_wip.png?​120 |}}
  
 [[rfamp|RF amplifier for the 433MHz band]] [[rfamp|RF amplifier for the 433MHz band]]
Line 89: Line 324:
 Amplifier and filter for amateur balloon telemetry reception Amplifier and filter for amateur balloon telemetry reception
 ---- ----
 +
 +{{index_thumbs/​thumbnail_wip.png?​120 |}}
  
 [[solar-pmm|Solar power management module]] [[solar-pmm|Solar power management module]]
Line 96: Line 333:
 on uMeshFw solar-powered nodes. Although quite funtional, very old and never really used. on uMeshFw solar-powered nodes. Although quite funtional, very old and never really used.
 ---- ----
 +
 +{{index_thumbs/​thumbnail_wip.png?​120 |}}
  
 [[jar-led-lamp|LED lamp in a jar]] [[jar-led-lamp|LED lamp in a jar]]
Line 101: Line 340:
 White led driver board enclosed in a glass jar. White led driver board enclosed in a glass jar.
 ---- ----
 +
 +{{index_thumbs/​thumbnail_wip.png?​120 |}}
  
 [[lcd-gps-tracker|GPS tracker with a simple LCD interface]] [[lcd-gps-tracker|GPS tracker with a simple LCD interface]]
Line 112: Line 353:
  
  
-{{index_thumbs/​treecli_icon.png?​120 |}} [[treecli|TreeCli - a hierarchical,​ tree structured command line parser/​interface]]+{{index_thumbs/​treecli_icon.png?​120 |}} 
 + 
 +[[treecli|TreeCli - a hierarchical,​ tree structured command line parser/​interface]]
  
 Treecli provides a convenient way to configure various embedded devices using common serial and network interfaces. It is inspired by command line interfaces commonly found in network gear (switches, routers, firewalls..). Treecli provides a convenient way to configure various embedded devices using common serial and network interfaces. It is inspired by command line interfaces commonly found in network gear (switches, routers, firewalls..).
Line 118: Line 361:
  
  
-{{index_thumbs/​lineedit_icon.png?​120 |}} [[lineedit|LineEdit library]]+{{index_thumbs/​lineedit_icon.png?​120 |}} 
 + 
 +[[lineedit|LineEdit library]]
  
 Lineedit aims to be a lightweight command line editor usable over common stream interfaces (like sockets, serial ports, etc.). It was written to be used on an embedded platform and its features and code are optimized for embedded environments. Lineedit aims to be a lightweight command line editor usable over common stream interfaces (like sockets, serial ports, etc.). It was written to be used on an embedded platform and its features and code are optimized for embedded environments.
Line 124: Line 369:
  
  
-{{index_thumbs/​p1080163.jpg?​120 |}} [[kiwi-simple]] 
- 
-2Msps, 4-channel, 1Vp-p, GPS synchronized signal digitizer 
----- 
- 
- 
-{{:​index_thumbs:​p1080161.jpg?​120 |}} [[plumpot-lp]] 
- 
-Low power STM32L4 base board for the natWatch platform with micro-sd slot, QSPI flash 
----- 
- 
-{{:​index_thumbs:​p1080161.jpg?​120 |}} [[plumpot-cellular]] 
- 
-One of the first natWatch platform base boards. It contains a STM32F401 MCU, Quectel M66 GSM/GPRS modem and a AX5243 radio. 
----- 
  
 +{{index_thumbs/​thumbnail_wip.png?​120 |}}
  
 [[meteo-solar-shield]] [[meteo-solar-shield]]
Line 146: Line 377:
 ---- ----
  
 +
 +{{index_thumbs/​thumbnail_wip.png?​120 |}}
  
 [[lime-soft-m/​|2 channel ultrasonic transducer driver and time-to-digital converter]] [[lime-soft-m/​|2 channel ultrasonic transducer driver and time-to-digital converter]]
Line 152: Line 385:
 ---- ----
  
 +
 +{{index_thumbs/​thumbnail_wip.png?​120 |}}
  
 [[loop-preamp/​|VLF loop antenna preamplifier]] [[loop-preamp/​|VLF loop antenna preamplifier]]
Line 157: Line 392:
 ---- ----
  
 +
 +{{index_thumbs/​thumbnail_wip.png?​120 |}}
  
 [[capsense-soil-sensor|Soil moisture sensor with capacitive sensing]] [[capsense-soil-sensor|Soil moisture sensor with capacitive sensing]]
  
 A small capacitive sensing soil moisture sensor node based on the STM32L4 MCU with a AX5243 radio transceiver A small capacitive sensing soil moisture sensor node based on the STM32L4 MCU with a AX5243 radio transceiver
 +
  
 ===== Planned ===== ===== Planned =====
Line 188: Line 426:
  
  
-[[natwatch-specification|The NatWatch platform specification - A stackable and extensible board platform for nature observation and environmental monitoring]]+[[natwatch-specification|The NatWatch platform specification - A stackable and extensible board platform for nature observation and environmental monitoring]]\\ 
 +//(OSHW, Status: multiple boards made and used in various projects)//
  
 This is an attempt to specify an extensible platform in the hope that it will be useful. A platform built by electronic engineers and enthusiasts for researchers in environmental sciences for nature observation and monitoring. A platform, where the actual user is not required to have soldering skills, does not have to download arduino.exe and handcraft some code, where the devices are able to withstand severe environmental conditions, be reconfigurable and extensible in the field and are made to be useful for the actual intended purpose and not playing. For now, I selected a simple name "​NatWatch"​ for the platform. This is an attempt to specify an extensible platform in the hope that it will be useful. A platform built by electronic engineers and enthusiasts for researchers in environmental sciences for nature observation and monitoring. A platform, where the actual user is not required to have soldering skills, does not have to download arduino.exe and handcraft some code, where the devices are able to withstand severe environmental conditions, be reconfigurable and extensible in the field and are made to be useful for the actual intended purpose and not playing. For now, I selected a simple name "​NatWatch"​ for the platform.
Line 201: Line 440:
 A list of ideas and components for various main boards and extension boards used for data acquisition (analog-to-digital,​ time-to-digital,​ capacitance-to-digital,​ etc.), sensor interfaces, radio interfaces and power management. Some of them are in the prototyping phase and their documentation can be found on this page. A list of ideas and components for various main boards and extension boards used for data acquisition (analog-to-digital,​ time-to-digital,​ capacitance-to-digital,​ etc.), sensor interfaces, radio interfaces and power management. Some of them are in the prototyping phase and their documentation can be found on this page.
  
 +----
  
 +[[natwatch-r-specification/​|The NatWatch-R platform - rack version]]
  
 +Over the time it became clear that the original NatWatch platform is not well suited for many intended applications and there are reasons to make some improvements.
  
 ===== Tutorials ===== ===== Tutorials =====
Line 209: Line 451:
  
 [[ov2640-stm32/​|OV2640 Camera module on STM32 (without DCMI interface)]] [[ov2640-stm32/​|OV2640 Camera module on STM32 (without DCMI interface)]]
 +
 +[[buildroot-f1c100s|Building Buildroot & linux on Allwinner F1C100S]]
  
  
  • index.1547189912.txt.gz
  • Last modified: 2019/01/11 06:58
  • by qyx