Skip to content

JQIamo/flux_gate_3_axis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

3-axis magnetic field sensor hardware + firmware

Board

Web UI

The repo includes the entire hardware and firmware of a 3-axis magnetic field sensor built upon a Raspberry Pico, featuring

  • 3 flux-gate magnetic field sensors (TI DRV425) and one ADC (TI ADS124S06) that is capable of
  • continuously measuring the magnetic field up to 4000 Hz (single channel),
  • with a designed RMS noise of 1.2 mG at 4000 Hz.
  • Power-over-Ethernet.
  • Both Serial and Ethernet (through the Web UI on board or WebSocket) interfaces are available for user interaction and data readout.

This project is built upon the driver of ADS124S0X implemented on RP2040 with the hardware programmable IO blocks TerryGeng/zephyr-ads124s0x-pio-driver. This driver enables data acquisition and channel multiplexing to be completely offloaded to the PIO peripherals and DMA controllers so that high-throughput and precise timing can be possible.

This project is an example of the synergy between RP2040 and ADS124S0X that enables an affordable data acquisition (DAQ) solution to perform some semi-demanding data collection tasks on a low budget.

The combination with Zephyr greatly expands the possibility of integrating with a rich collection of high-quality subsystems and device drivers (e.g. Ethernet, etc.).

Project structure

Schematics is located at docs/schematics.pdf.

  • hardware/: KiCAD files for the project. Be aware that the design of the PoE module is in a separate repo and has to be attached to the Raspberry Pico board to enable the Ethernet capability.
  • hardware/gerber/: Gerber production files.
  • firmware/: A Zephyr out-of-tree project of the entire firmware. Please follow the instructions in zephyrproject-rtos/example-application to compile.
  • firmware/app/: Location of the main program.
  • firmware/app/static_web_resources: Location of the web interface source files.

How to use

This project is designed to work with a Raspberry Pico that has a PoEPico module (in separate repo) attached to it.

The default IP address of the web server is set by option CONFIG_NET_CONFIG_MY_IPV4_ADDR in firmware/app/prj.conf. The default value is 192.168.11.2.

An example Python script that communicats with the WebSocket interface is located at firmware/app/websocket_client.py.

The UART interface uses the default wiring (GPIO 0 and 1) (though UART via USB console is easily available by compiling with the cdc-acm-console snippet). A list of usable commands can be inquired by typing help into the UART shell.

About

3-axis flux gate magnetic field sensor based on TI DRV425.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published