Skip to content

Commit 19d4c1e

Browse files
committed
Add hookup table, update code to default, include notes
1 parent a49edde commit 19d4c1e

File tree

8 files changed

+155
-27
lines changed

8 files changed

+155
-27
lines changed

README.md

Lines changed: 30 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,55 @@
1-
Magnetic Imaging Tile - 8x8
2-
======
1+
SparkFun Magnetic Imaging Tile - 8x8
2+
========================================
33

4-
![SparkFun Magnetic Imaging Tile](https://cdn.sparkfun.com//assets/parts/1/2/8/3/9/Magnetic-Imager-Fan.gif)
4+
[![SparkFun Magnetic Imaging Tile](https://cdn.sparkfun.com//assets/parts/2/6/9/4/3/26943-Magnetic-Imaging-Tile-Feature.jpg)](https://sparkle.sparkfun.com/sparkle/storefront_products/26092#tab-dashboard)
55

66
[*SparkFun Magnetic Imaging Tile - 8x8 (SEN-26092)*](https://sparkle.sparkfun.com/sparkle/storefront_products/26092#tab-dashboard)
77

88
The Magnetic Imaging Tile uses an array of 64 hall effect sensors to convert magnetic fields to the visual spectrum. That's right! You can now see magnetic fields in real time! As is to be expected, there are caveats: the magnetic sensors used on the tile are some of the most sensitive on the market but you need to be within 1 to 2 centimeters of the tile to get a good image.
99

10-
This is a board intended to function as a "magnetic field camera" to visualize magnetic fields.
10+
This is a board intended to function as a "magnetic field camera" to visualize magnetic fields.
11+
12+
This is an endorsed fork and collaboration of [Peter Jansen's work](https://hackaday.io/project/18518-iteration-8/log/91551-a-third-high-speed-magnetic-imager-tile). All credit goes to him! SparkX has re-designed the PCB for DFM and simplified some of the platform interfacing code.
13+
1114

12-
This is an endorsed fork and collaboration of [Peter Jansen's work](https://hackaday.io/project/18518-iteration-8/log/91551-a-third-high-speed-magnetic-imager-tile). All credit goes to him! SparkX has re-designed the PCB for DFM and simiplified some of the platform interfacing code.
1315

1416
### Version 3.0
1517

16-
The major advancement of v3.0 is a dramatic increase in the speed with which the tile data can be read out. ~2000 frames per second (fps) can be achieved which allows visualizing even quickly varying fields (e.g. those in a 60Hz transformer, or a moving motor). Version 3.0 reduces the size of the tile to an 8x8 grid of hall effect sensors (64 total), arrayed in a 4mm grid. The boards is tile-able with up to 4 of the boards tileable with minimal borders to create a 16x16 array.
18+
The major advancement of v3.0 is a dramatic increase in the speed with which the tile data can be read out. ~2000 frames per second (fps) can be achieved which allows visualizing even quickly varying fields (e.g. those in a 60Hz transformer, or a moving motor). Version 3.0 reduces the size of the tile to an 8x8 grid of hall effect sensors (64 total), arrayed in a 4mm grid. The boards is tile-able with up to 4 of the boards tileable with minimal borders to create a 16x16 array.
1719

18-
For more information (and a video of the v3.0 tile in use), please see:
20+
For more information (and a video of the v3.0 tile in use), please see:
1921
https://hackaday.io/project/18518-iteration-8/log/91551-a-third-high-speed-magnetic-imager-tile-draft
2022

23+
24+
2125
Repository Contents
2226
-------------------
23-
24-
* **/Documents** - Datasheets for the RV-1805-C3 and super capacitor
27+
* **.github/workflows** - YAML files used for GitHub Actions and GitHub Pages/mkdocs
2528
* **/Hardware** - Eagle design files (.brd, .sch)
29+
* **/Production** - Production panel files (.brd)
30+
* **/Software** - Related software for the Magnetic Imaging Tile
31+
* **/docs** - Online documentation files
32+
* **/assets** - Folder containing all the file assets used for product documentation
33+
* **/board_files** - Copy of design files used for product documentation
34+
* **/component_documentation** - Datasheets and manuals for hardware components
35+
* **/img** - Images for product documentation
36+
* **/github** - Files stating how to contribute and filing issues used for product documentation
37+
* **/javascript** - Folder containing custom javascript used for product documentation
38+
* **/stylesheet** - Folder containing CSS files used for product documentation
39+
* **/overrides** - Customization files used for product documentation
40+
* **/.icons** - Icons used for GitHub used for product documentation
41+
* **./partials** - Used for product documentation
42+
43+
2644

2745
License Information
2846
-------------------
2947

30-
This product is _**open source**_!
48+
This product is _**open source**_!
3149

32-
Please review the LICENSE.md file for license information.
50+
Please review the LICENSE.md file for license information.
3351

34-
If you have any questions or concerns on licensing, please contact techsupport@sparkfun.com.
52+
If you have any questions or concerns on licensing, please contact technical support in our [SparkFun forums](https://community.sparkfun.com/c/community/general-chit-chat/37.)
3553

3654
Please use, reuse, and modify these files as you see fit. Please maintain attribution to SparkFun Electronics and release any derivative under the same license.
3755

@@ -45,4 +63,3 @@ UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE EXTENT POSSIBLE,
4563
TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
4664

4765
THE DISCLAIMER OF WARRANTIES AND LIMITATION OF LIABILITY PROVIDED ABOVE SHALL BE INTERPRETED IN A MANNER THAT, TO THE EXTENT POSSIBLE, MOST CLOSELY APPROXIMATES AN ABSOLUTE DISCLAIMER AND WAIVER OF ALL LIABILITY.
48-

Software/arduino/Example1_BasicReadings/Example1_BasicReadings.ino

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,23 @@
2929
const byte PIN_ANALOG = A1;
3030

3131
//On Arduino Unos and Red Boards this is the SPI pinout
32+
3233
const byte PIN_CLR = 8;
3334
const byte PIN_CLK = 9;
3435
const byte AD7940_SPI_MISO = 12;
3536
const byte AD7940_SPI_CS = 10;
3637
const byte AD7940_SPI_CLK = 13;
3738

39+
40+
// Pins for SAMD51
41+
/*
42+
const byte PIN_CLR = 5;
43+
const byte PIN_CLK = 9;
44+
const byte AD7940_SPI_MISO = 22;
45+
const byte AD7940_SPI_CS = 10;
46+
const byte AD7940_SPI_CLK = 24;
47+
*/
48+
3849
// Frames
3950
#if defined(__AVR_ATmega328P__) || defined(__AVR_ATmega168__)
4051

docs/arduino_example.md

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ You can also copy or paste the code as shown below. Then click "Upload".
3131
This code was written in MPIDE 0023-windows-20140316 .
3232
*/
3333

34-
//Define where to pipe serial print statements
34+
////Define where to pipe serial print statements
3535
//#define terminal Serial //Use with Uno, SAMD51, Chipkit
3636
#define terminal SerialUSB //Use with SAMD21
3737

@@ -42,12 +42,23 @@ You can also copy or paste the code as shown below. Then click "Upload".
4242
const byte PIN_ANALOG = A1;
4343

4444
//On Arduino Unos and Red Boards this is the SPI pinout
45+
4546
const byte PIN_CLR = 8;
4647
const byte PIN_CLK = 9;
4748
const byte AD7940_SPI_MISO = 12;
4849
const byte AD7940_SPI_CS = 10;
4950
const byte AD7940_SPI_CLK = 13;
5051

52+
53+
// Pins for SAMD51
54+
/*
55+
const byte PIN_CLR = 5;
56+
const byte PIN_CLK = 9;
57+
const byte AD7940_SPI_MISO = 22;
58+
const byte AD7940_SPI_CS = 10;
59+
const byte AD7940_SPI_CLK = 24;
60+
*/
61+
5162
// Frames
5263
#if defined(__AVR_ATmega328P__) || defined(__AVR_ATmega168__)
5364

docs/hardware_hookup.md

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,82 @@ For the scope of this tutorial, we will use right angle, male headers. Insert th
4444
</table>
4545
</div>
4646

47+
<div style="text-align: center;">
48+
<table>
49+
<tr>
50+
<th style="text-align: center; border: solid 1px #cccccc;">Magnetic Imaging<br />Tile Pinout
51+
</th>
52+
<th style="text-align: center; border: solid 1px #cccccc;"> SAMD21 Pinout<br />(i.e. RedBoard Turbo, SAMD21 Mini, etc.)
53+
</th>
54+
<th style="text-align: center; border: solid 1px #cccccc;"> SAMD51 Pinout<br />(i.e. SAMD51 Thing Plus, etc.)
55+
</th>
56+
</tr>
57+
<tr>
58+
<td style="text-align: center; border: solid 1px #cccccc;" bgcolor="#DDDDDD"><font color="#000000">GND</font>
59+
</td>
60+
<td style="text-align: center; border: solid 1px #cccccc;" bgcolor="#DDDDDD"><font color="#000000">GND</font>
61+
</td>
62+
<td style="text-align: center; border: solid 1px #cccccc;" bgcolor="#DDDDDD"><font color="#000000">GND</font>
63+
</td>
64+
</tr>
65+
<tr>
66+
<td style="text-align: center; border: solid 1px #cccccc;" bgcolor="#cce5ff"><font color="#000000">OUT</font>
67+
</td>
68+
<td style="text-align: center; border: solid 1px #cccccc;" bgcolor="#cce5ff"><font color="#000000">A1</font>
69+
</td>
70+
<td style="text-align: center; border: solid 1px #cccccc;" bgcolor="#cce5ff"><font color="#000000">A1</font>
71+
</td>
72+
</tr>
73+
<tr>
74+
<td style="text-align: center; border: solid 1px #cccccc;" bgcolor="#fff3cd"><font color="#000000">SCK</font>
75+
<td style="text-align: center; border: solid 1px #cccccc;" bgcolor="#fff3cd"><font color="#000000">13</font>
76+
</td>
77+
<td style="text-align: center; border: solid 1px #cccccc;" bgcolor="#fff3cd"><font color="#000000">24</font>
78+
</td>
79+
</tr>
80+
<tr>
81+
<td style="text-align: center; border: solid 1px #cccccc;" bgcolor="#d4edda"><font color="#000000">MISO</font>
82+
</td>
83+
<td style="text-align: center; border: solid 1px #cccccc;" bgcolor="#d4edda"><font color="#000000">12</font>
84+
</td>
85+
<td style="text-align: center; border: solid 1px #cccccc;" bgcolor="#d4edda"><font color="#000000">22</font>
86+
</td>
87+
</tr>
88+
<tr>
89+
<td style="text-align: center; border: solid 1px #cccccc;" bgcolor="#f2dede"><font color="#000000">CS</font>
90+
</td>
91+
<td style="text-align: center; border: solid 1px #cccccc;" bgcolor="#f2dede"><font color="#000000">10</font>
92+
</td>
93+
<td style="text-align: center; border: solid 1px #cccccc;" bgcolor="#f2dede"><font color="#000000">10</font>
94+
</td>
95+
</tr>
96+
<tr>
97+
<td style="text-align: center; border: solid 1px #cccccc;" bgcolor="#ffffff"><font color="#000000">CLR</font>
98+
</td>
99+
<td style="text-align: center; border: solid 1px #cccccc;" bgcolor="#ffffff"><font color="#000000">8</font>
100+
</td>
101+
<td style="text-align: center; border: solid 1px #cccccc;" bgcolor="#ffffff"><font color="#000000">5</font>
102+
</td>
103+
</tr>
104+
<tr>
105+
<td style="text-align: center; border: solid 1px #cccccc;" bgcolor="#ffdaaf"><font color="#000000">CLK</font>
106+
</td>
107+
<td style="text-align: center; border: solid 1px #cccccc;" bgcolor="#ffdaaf"><font color="#000000">9</font>
108+
</td>
109+
<td style="text-align: center; border: solid 1px #cccccc;" bgcolor="#ffdaaf"><font color="#000000">9</font>
110+
</td>
111+
</tr>
112+
<tr>
113+
<td style="text-align: center; border: solid 1px #cccccc;" bgcolor="#f2dede"><font color="#000000">3V3</font>
114+
</td>
115+
<td style="text-align: center; border: solid 1px #cccccc;" bgcolor="#f2dede"><font color="#000000">3V3</font>
116+
</td>
117+
<td style="text-align: center; border: solid 1px #cccccc;" bgcolor="#f2dede"><font color="#000000">3V3</font>
118+
</td>
119+
</tr>
120+
</table>
121+
</div>
122+
47123
We will be using the RedBoard Turbo with female headers already installed on the board. For users that are using a different board, now would be a good time to solder headers or wires to the board. Below is an example with female headers soldered on the SAMD51 Thing Plus. Additionally, there are stackable headers soldered on the SAMD21 Mini Breakout so that the board can be inserted into a breadboard.
48124

49125
<div style="text-align: center;">

docs/hardware_overview.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,8 @@ The circuit includes an SN74HC590A 8-bit binary counter (the 14-pin IC on the to
7979
</table>
8080
</div>
8181

82+
With a 16-bit ADC and a 3.3V range, this is approximately 50mV per bit. The Magnetic Imaging Tile is able to detect roughly +/- 0.5mT per bit. For our demo in the GIF we used a RedBoard Turbo with the SAMD21 to clock out the ADC data to the serial port at 115200. The serial is then parsed by a Processing sketch. This setup can achieve over 76 frames per second. With buffering the setup is capable of 200 fps. The ChipKit MAX32 is also supported and can achieve around 2,000fps. A faster processor should be able to achieve 1500fps (the 100kSPS limit of the ADC). The raw analog signal is also exposed. This allows processors that have built-in faster ADC to convert the signal directly. The theoretical limit of the DRV5053 is around 20,000 fps but would require a very fast ADC.
83+
8284

8385

8486
### SPI

docs/introduction.md

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ The [SparkFun Magnetic Imaging Tile - 8x8](https://www.sparkfun.com/products/260
77

88
- <a href="https://www.sparkfun.com/products/26092">
99
<figure markdown>
10-
<img src="" style="width:140px; height:140px; object-fit:contain;" alt="SparkFun Magnetic Imaging Tile - 8x8">
10+
<img src="https://cdn.sparkfun.com//assets/parts/2/6/9/4/3/26943-Magnetic-Imaging-Tile-Feature.jpg" style="width:140px; height:140px; object-fit:contain;" alt="SparkFun Magnetic Imaging Tile - 8x8">
1111
</figure>
1212
</a>
1313

@@ -20,9 +20,13 @@ The [SparkFun Magnetic Imaging Tile - 8x8](https://www.sparkfun.com/products/260
2020
<br />
2121
<center>[Purchase from SparkFun :fontawesome-solid-cart-plus:](https://www.sparkfun.com/products/26092){ .md-button .md-button--primary }</center>
2222
</a>
23-
2423
</div>
2524

25+
The demo shown in the animated GIFs don't quite give the Magnetic Imaging Tile justice! The frame rate of gifs is too low! Please see [Peter's demo video](https://www.youtube.com/watch?v=vxOuoWygxy0) for some amazing visuals.
26+
27+
<div style="text-align: center;">
28+
<iframe width="560" height="315" src="https://www.youtube.com/embed/vxOuoWygxy0?si=k2MAxdDgUQiwu3nT" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
29+
</div>
2630

2731
In this tutorial, we'll go over the hardware and how to hookup the sensor to an Arduino. We will also go over an Arduino and Processing example to get started.
2832

@@ -67,7 +71,7 @@ To follow along with this tutorial, you will need the following materials. You m
6771
<!-- ----------WHITE SPACE BETWEEN PRODUCTS---------- -->
6872
- <a href="https://www.sparkfun.com/products/26092">
6973
<figure markdown>
70-
<img src="" style="width:140px; height:140px; object-fit:contain;" alt="SparkFun Magnetic Imaging Tile - 8x8">
74+
<img src="https://cdn.sparkfun.com//assets/parts/2/6/9/4/3/26943-Magnetic-Imaging-Tile-Feature.jpg" style="width:140px; height:140px; object-fit:contain;" alt="SparkFun Magnetic Imaging Tile - 8x8">
7175
</figure>
7276
</a>
7377

@@ -109,9 +113,11 @@ To follow along with this tutorial, you will need the following materials. You m
109113
<!-- ----------WHITE SPACE BETWEEN PRODUCTS---------- -->
110114
</div>
111115

116+
117+
112118
### Other Microcontrollers
113119

114-
We'll be using the RedBoard Turbo - SAMD21 Development Board for the examples in this tutorial. The code also compatible with SAMD microcontrollers like the SAMD21 Dev Breakout, SAMD21 Mini Breakout, and SparkFun Thing Plus - SAMD51. You can also use a Teensy as well.
120+
We'll be using the RedBoard Turbo - SAMD21 Development Board for the examples in this tutorial. The Arduino code also compatible with SAMD microcontrollers like the SAMD21 Dev Breakout, SAMD21 Mini Breakout, and SparkFun Thing Plus - SAMD51. You can also use a Teensy as well. Just make sure to solder headers (or wires) to the board and include a compatible USB cable with the development board.
115121

116122
<div class="grid cards col-4" markdown>
117123
<!-- ----------WHITE SPACE BETWEEN PRODUCTS---------- -->
@@ -353,16 +359,16 @@ If you aren’t familiar with the following concepts, we also recommend checking
353359
<b>Installing Arduino IDE</b>
354360
</a>
355361
<!-- ----------WHITE SPACE BETWEEN GRID CARDS---------- -->
356-
- <a href="https://learn.sparkfun.com/tutorials/samd21-minidev-breakout-hookup-guide">
362+
- <a href="https://learn.sparkfun.com/tutorials/redboard-turbo-hookup-guide">
357363
<figure markdown>
358-
<img src="https://cdn.sparkfun.com/assets/learn_tutorials/4/5/4/photo-hardware-plugin.jpg" style="width:264px; height:148px; object-fit:contain;" alt="SAMD21 Mini/Dev Breakout Hookup Guide">
364+
<img src="https://cdn.sparkfun.com/assets/learn_tutorials/8/5/1/14812-SparkFun_RedBoard_Turbo_-_SAMD21_Development_Board-01.jpg" style="width:264px; height:148px; object-fit:contain;" alt="RedBoard Turbo Hookup Guide">
359365
</figure>
360366
</a>
361367

362368
---
363369

364-
<a href="https://learn.sparkfun.com/tutorials/samd21-minidev-breakout-hookup-guide">
365-
<b>SAMD21 Mini/Dev Breakout Hookup Guide</b>
370+
<a href="https://learn.sparkfun.com/tutorials/redboard-turbo-hookup-guide">
371+
<b>RedBoard Turbo Hookup Guide</b>
366372
</a>
367373
<!-- ----------WHITE SPACE BETWEEN GRID CARDS---------- -->
368374
- <a href="https://learn.sparkfun.com/tutorials/installing-board-definitions-in-the-arduino-ide">
@@ -414,3 +420,6 @@ If you aren’t familiar with the following concepts, we also recommend checking
414420
</a>
415421
<!-- ----------WHITE SPACE BETWEEN GRID CARDS---------- -->
416422
</div>
423+
424+
!!! note
425+
This is a collaboration with Peter Jansen of the "[Open Source Science Tricorder Project](http://www.tricorderproject.org/)". All credit goes to him! You can read about his work on the project on [Hack A Day](https://hackaday.io/project/18518-iteration-8/log/91551-a-third-high-speed-magnetic-imager-tile).

docs/processing_example.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -521,3 +521,7 @@ Now that we can see the magnetic fields from a magnet, try grabbing an object ne
521521
</tr>
522522
</table>
523523
</div>
524+
525+
526+
!!! note
527+
If you look closely at the GIF with a magnet, you will notice that there is a magnetic field on the upper left of the Processing output when the magnet is placed over the Magnetic Imaging Tile. However, the Magnetic Imaging Tile is rotated 90&deg; clockwise with respect to the Processing output as the magnet is placed over the hall effect sensor at (7x7).

docs/resources.md

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,7 @@ Now that you've successfully got your SparkFun Magnetic Imaging Tile up and runn
1111
* [CD74HC4067 12-Channel Analog/Digital Multiplexor](../assets/component_documentation/cd74hc4067.pdf)
1212
* [Fritzing Part](https://github.com/sparkfun/Fritzing_Parts/blob/main/products/26092_sfe_magnetic_imaging_tile_8x8_hall_effect_sensor_drv5053va_adc_ad7680.fzpz)
1313
* Examples
14-
* [ChipKit&ast;](https://github.com/sparkfun/SparkFun_Magnetic_Imaging_Tile/blob/main/Software/chipkit/magtile2d_chipkit.pde)
15-
* [Arduino&ast;](https://github.com/sparkfun/SparkFun_Magnetic_Imaging_Tile/blob/main/Software/arduino/Example1_BasicReadings/Example1_BasicReadings.ino)
16-
* [Processing&ast;](https://github.com/sparkfun/SparkFun_Magnetic_Imaging_Tile/blob/main/Software/processing/magtile_processing_visualization/magtile_processing_visualization.pde)
14+
* [ChipKit](https://github.com/sparkfun/SparkFun_Magnetic_Imaging_Tile/blob/main/Software/chipkit/magtile2d_chipkit.pde)
15+
* [Arduino](https://github.com/sparkfun/SparkFun_Magnetic_Imaging_Tile/blob/main/Software/arduino/Example1_BasicReadings/Example1_BasicReadings.ino)
16+
* [Processing](https://github.com/sparkfun/SparkFun_Magnetic_Imaging_Tile/blob/main/Software/processing/magtile_processing_visualization/magtile_processing_visualization.pde)
1717
* [GitHub Hardware Repo](https://github.com/sparkfun/SparkFun_Magnetic_Imaging_Tile/)
18-
19-
<sub>&ast; While the Processing Sketch and Arduino Sketch are available above we recommend getting the latest sketches from the [Magnetic Imaging Tile repo](https://github.com/sparkfun/SparkFun_Magnetic_Imaging_Tile/tree/main/Software).</sub>

0 commit comments

Comments
 (0)