[{"data":1,"prerenderedAt":863},["ShallowReactive",2],{"page-\u002Fdocs\u002Fstandalone":3,"list-docs":757},{"id":4,"title":5,"body":6,"description":740,"extension":741,"file":742,"group":743,"label":744,"meta":745,"minutes":746,"navigation":747,"order":748,"path":749,"section":750,"seo":751,"slug":753,"stem":754,"updated":755,"__hash__":756},"pages\u002Fdocs\u002FSTANDALONE.md","Standalone display board",{"type":7,"value":8,"toc":728},"minimark",[9,18,31,34,43,48,72,76,83,113,116,120,140,151,235,238,242,245,289,293,334,339,350,354,497,500,654,664,681,685,688,702,706,724],[10,11,12,13,17],"p",{},"The 2.8\" ESP32-32E display board runs the helmet ",[14,15,16],"strong",{},"without the web app",":",[19,20,21,25,28],"ul",{},[22,23,24],"li",{},"the 198 programs live on the board's microSD card;",[22,26,27],{},"you pick, start, stop and rate them on the touchscreen;",[22,29,30],{},"the board shows where each coil goes, with tape-measure directions computed for your head.",[10,32,33],{},"Bluetooth stays available as a setting if you also want the web app.",[10,35,36,37,42],{},"Wiring, the power-on rule and the safety notes for this board are in ",[38,39,41],"a",{"href":40},"\u002Fdocs\u002Fwiring#esp32-32e-28-display-board","WIRING.md",". The rest of this page is setup and use.",[44,45,47],"h2",{"id":46},"what-you-need","What you need",[19,49,50,56,59,69],{},[22,51,52,53,55],{},"The 2.8\" ESP32-32E board (\"2.8inch ESP32-32E Display\", LCDwiki E32R28T \u002F E32N28T), wired to the AD5328 module as in ",[38,54,41],{"href":40},".",[22,57,58],{},"A microSD card, FAT32 (any size; the programs need about 1 MB).",[22,60,61,62,68],{},"A computer with ",[38,63,67],{"href":64,"rel":65,"target":66},"https:\u002F\u002Fplatformio.org\u002F","noopener","_blank","PlatformIO"," and Node.js, once, to flash the firmware and build the program pack.",[22,70,71],{},"A power bank for the sessions.",[44,73,75],{"id":74},"_1-flash-the-firmware","1. Flash the firmware",[10,77,78,79,82],{},"With the ",[14,80,81],{},"helmet off"," (until the firmware runs, the coil outputs can sit at full drive):",[84,85,90],"pre",{"className":86,"code":87,"language":88,"meta":89,"style":89},"language-sh shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","cd firmware\npio run -e esp32e_lcd28 -t upload\npio device monitor            # optional: boot log (SD card, clock, free memory)\n","sh","",[91,92,93,101,107],"code",{"__ignoreMap":89},[94,95,98],"span",{"class":96,"line":97},"line",1,[94,99,100],{},"cd firmware\n",[94,102,104],{"class":96,"line":103},2,[94,105,106],{},"pio run -e esp32e_lcd28 -t upload\n",[94,108,110],{"class":96,"line":109},3,[94,111,112],{},"pio device monitor            # optional: boot log (SD card, clock, free memory)\n",[10,114,115],{},"The first build downloads the display library (LovyanGFX 1.1.16).",[44,117,119],{"id":118},"_2-put-the-programs-on-the-sd-card","2. Put the programs on the SD card",[84,121,123],{"className":86,"code":122,"language":88,"meta":89,"style":89},"cd webapp\nnpm install\nnpm run sd-pack -- ~\u002FDesktop\u002Fsdpack\n",[91,124,125,130,135],{"__ignoreMap":89},[94,126,127],{"class":96,"line":97},[94,128,129],{},"cd webapp\n",[94,131,132],{"class":96,"line":103},[94,133,134],{},"npm install\n",[94,136,137],{"class":96,"line":109},[94,138,139],{},"npm run sd-pack -- ~\u002FDesktop\u002Fsdpack\n",[10,141,142,143,146,147,150],{},"Copy the folder ",[91,144,145],{},"~\u002FDesktop\u002Fsdpack\u002Fgodhelmet"," to the ",[14,148,149],{},"root"," of the card, then put the card in the board. Rebuild and copy it again when the programs change. The board says so if the pack is too old for its firmware.",[152,153,154,167],"table",{},[155,156,157],"thead",{},[158,159,160,164],"tr",{},[161,162,163],"th",{},"On the card",[161,165,166],{},"Contents",[168,169,170,181,191,201,211,225],"tbody",{},[158,171,172,178],{},[173,174,175],"td",{},[91,176,177],{},"godhelmet\u002Findex.tsv",[173,179,180],{},"One line per program: category, duration, coil sites, name",[158,182,183,188],{},[173,184,185],{},[91,186,187],{},"godhelmet\u002Fcategories.tsv",[173,189,190],{},"The program categories",[158,192,193,198],{},[173,194,195],{},[91,196,197],{},"godhelmet\u002Fp\u002FNNN.json",[173,199,200],{},"The program itself (compact form of the preset JSON)",[158,202,203,208],{},[173,204,205],{},[91,206,207],{},"godhelmet\u002Ft\u002FNNN.txt",[173,209,210],{},"Text for the Details page: evidence, summary, setting, schedule, notes",[158,212,213,222],{},[173,214,215,218,219],{},[91,216,217],{},"godhelmet\u002Fsites.tsv",", ",[91,220,221],{},"tape.json",[173,223,224],{},"Coil map and the template head for the tape-measure directions",[158,226,227,232],{},[173,228,229],{},[91,230,231],{},"godhelmet\u002Fwifi.example.txt",[173,233,234],{},"Template for the clock (next step)",[10,236,237],{},"The card is read only between sessions. It shares its bus with the coil driver, so the board loads a program fully before the session starts.",[44,239,241],{"id":240},"_3-the-clock","3. The clock",[10,243,244],{},"The board has no clock battery. It needs the date and time for two things: the times in the log, and the 72-hour check between sessions. Choose one way to set it:",[19,246,247,279],{},[22,248,249,252,253,256,257,260,261,269,270,273,274,278],{},[14,250,251],{},"WiFi, automatic."," Rename ",[91,254,255],{},"wifi.example.txt"," on the card to ",[91,258,259],{},"wifi.txt"," and enter your network:\n",[84,262,267],{"className":263,"code":265,"language":266},[264],"language-text","ssid=YourNetwork\npassword=YourPassword\ntz=CET-1CEST,M3.5.0,M10.5.0\u002F3\n","text",[91,268,265],{"__ignoreMap":89},"\nAt power-on the board fetches the time and switches WiFi off again before anything else happens. ",[91,271,272],{},"tz"," is a ",[38,275,277],{"href":276,"rel":65,"target":66},"https:\u002F\u002Fwww.gnu.org\u002Fsoftware\u002Flibc\u002Fmanual\u002Fhtml_node\u002FTZ-Variable.html","POSIX time zone","; the default is Central Europe.",[22,280,281,284,285,288],{},[14,282,283],{},"On the screen."," Use ",[14,286,287],{},"Settings → Clock"," after each power-on. Without a clock, sessions still run. Their log entries have no time, and the start screen warns before it starts one.",[44,290,292],{"id":291},"_4-first-start","4. First start",[294,295,296,299,305,316],"ol",{},[22,297,298],{},"Power the board (helmet off) and wait for the screen.",[22,300,301,304],{},[14,302,303],{},"Touch calibration:"," touch the tip of each arrow as it appears.",[22,306,307,310,311,315],{},[14,308,309],{},"Safety page:"," read it to the end and accept it. It is the same as ",[38,312,314],{"href":313},"\u002Fdocs\u002Fsafety","SAFETY.md"," in short.",[22,317,318,321,322,326,327,330,331,55],{},[14,319,320],{},"Before the first session",", do the bench test and the wiring checks from ",[38,323,325],{"href":324},"\u002Fdocs\u002Fcalibration","CALIBRATION.md",", using ",[14,328,329],{},"Settings → Module check"," and ",[14,332,333],{},"Settings → Coil test",[335,336,338],"h3",{"id":337},"the-module-question","The module question",[10,340,341,342,345,346,349],{},"The AD5328 has no data-out pin, so the board cannot tell whether the module is connected: without it, a program would run into nothing. So the first program or coil test after each power-on asks you to confirm the module (LED on, GND and the three SPI wires, LDAC to 3.3V, reference jumper, coils). ",[14,343,344],{},"Connected"," confirms it until the next power-on; ",[14,347,348],{},"Check it"," opens the Module check. Home shows whether it is confirmed.",[44,351,353],{"id":352},"screens","Screens",[152,355,356,366],{},[155,357,358],{},[158,359,360,363],{},[161,361,362],{},"Screen",[161,364,365],{},"What it does",[168,367,368,378,388,407,416,425,438,463,477,487],{},[158,369,370,375],{},[173,371,372],{},[14,373,374],{},"Home",[173,376,377],{},"Program count, clock, last session (with the 72-hour warning), Bluetooth. Buttons: Programs, Log, Settings",[158,379,380,385],{},[173,381,382],{},[14,383,384],{},"Programs",[173,386,387],{},"Categories, then the programs in each: name, minutes, coils, evidence",[158,389,390,395],{},[173,391,392],{},[14,393,394],{},"Program",[173,396,397,398,218,401,218,404],{},"Summary and evidence; ",[14,399,400],{},"Coils",[14,402,403],{},"Details",[14,405,406],{},"Start",[158,408,409,413],{},[173,410,411],{},[14,412,400],{},[173,414,415],{},"Seen from above, nose up, your left on the left. Step through the coils with the arrows or tap one on the map. For each coil: where it goes, in cm for your head, and how to measure it accurately",[158,417,418,422],{},[173,419,420],{},[14,421,403],{},[173,423,424],{},"The program's full text: evidence, summary, setting, schedule, placement basis, notes",[158,426,427,431],{},[173,428,429],{},[14,430,406],{},[173,432,433,434,437],{},"Field strength (µT at 20 mm, up to your ceiling) and ",[14,435,436],{},"Blind",": real or sham drawn at random and revealed after you rate. Missing clock or a session less than 72 h ago: a warning, and you tap Start twice",[158,439,440,445],{},[173,441,442],{},[14,443,444],{},"Session",[173,446,447,448,218,451,454,455,458,459,462],{},"Time left, phase, field ±, ",[14,449,450],{},"Skip phase",[14,452,453],{},"STOP",". The BOOT button is STOP too (it counts once held for 40 ms). The screen stays on, or follows ",[14,456,457],{},"Settings → Screen in session",": dimmed, or dark after 10 s (touch it higher up to see it again; ",[14,460,461],{},"in the dark, the bottom quarter of the screen is STOP",")",[158,464,465,470],{},[173,466,467],{},[14,468,469],{},"Rate",[173,471,472,473,476],{},"0 (nothing) to 10 (profound), before you look anything up. Blind sessions show real or sham once rated. ",[14,474,475],{},"Later"," leaves it in the log",[158,478,479,484],{},[173,480,481],{},[14,482,483],{},"Log",[173,485,486],{},"Past sessions, newest first; tap an unrated one to rate it",[158,488,489,494],{},[173,490,491],{},[14,492,493],{},"Settings",[173,495,496],{},"Head size, Clock, Brightness, Screen in session, Field limits, Module check, LED test, Coil test, Bluetooth, Touch calibration, Display, Safety page, About",[10,498,499],{},"Settings in detail:",[19,501,502,513,531,537,561,624,648],{},[22,503,504,507,508,512],{},[14,505,506],{},"Head size:"," three tape measurements in cm. Each one goes over the crown, or round the band line: nasion to inion, ear to ear (tragus to tragus), and the band line round the head. Until you enter them, the coil directions use a typical head (",[38,509,511],{"href":510},"\u002Fdocs\u002Fplacement","PLACEMENT.md",").",[22,514,515,518,519,522,523,526,527,530],{},[14,516,517],{},"Screen in session:"," tap to switch between ",[14,520,521],{},"on"," (the default), ",[14,524,525],{},"dimmed",", and ",[14,528,529],{},"dark after 10 s"," for sessions in a dark room.",[22,532,533,536],{},[14,534,535],{},"Field limits:"," the highest field any program may use, and the field for programs that set none.",[22,538,539,542,543,554,557,560],{},[14,540,541],{},"Module check:"," three steps with a multimeter.",[294,544,545,548,551],{},[22,546,547],{},"The module's test pads (5 V, ±12 V, VREF 2.50 V) and the wires.",[22,549,550],{},"Every output at 0 V while idle. All of them near ±10 V means the module has power but gets no data: check CLK, DIN, SYNC and GND.",[22,552,553],{},"Each output in turn at +5 V or −5 V for 60 s.",[555,556],"br",{},[14,558,559],{},"Module OK"," confirms the module until the next power-on.",[22,562,563,566,567,621,623],{},[14,564,565],{},"LED test:"," checks the outputs without coils or a multimeter.",[19,568,569,575,581,591,605],{},[22,570,571,574],{},[14,572,573],{},"Wiring:"," in place of a coil, two LEDs side by side and opposite ways round, from the coil's 2.2 kΩ resistor to GND. A two-leg red\u002Fgreen LED works too.",[22,576,577,580],{},[14,578,579],{},"What it does:"," each LED flashes at the rate you pick: +4 mA, pause, −4 mA, pause, a quarter of a blink each, so one LED flashes, then the other. The resistor keeps the LEDs at about 3 mA.",[22,582,583,586,587,590],{},[14,584,585],{},"Rate:"," 0.5, 1, 2, 5 or 10 Hz, or ",[14,588,589],{},"0.5 to 10 Hz",": 8 s at each rate on one output (40 s), or one round of AO1 to AO8 at each rate (80 s). The session screen shows the current rate. If the flashing follows the rate you picked, the board is driving that output.",[22,592,593,596,597,600,601,604],{},[14,594,595],{},"Modes:"," ",[14,598,599],{},"This output"," tests the selected AO. ",[14,602,603],{},"All in turn"," steps AO1 to AO8, 2 s each.",[22,606,607,610],{},[14,608,609],{},"What you see:",[19,611,612,615,618],{},[22,613,614],{},"Neither LED lights → run the Module check.",[22,616,617],{},"Only one lights → the other is missing or the wrong way round.",[22,619,620],{},"An LED lights all the time, also when no test runs → the module gets no data. It still holds its power-up output of about −10 V. Check CLK (IO18), DIN (IO23), SYNC (IO27) and the GND wire, then the Module check.",[555,622],{},"Use two LEDs rather than one: on its own, a single LED gets up to 9 V in reverse on the − half, more than LEDs are rated for.",[22,625,626,629,630,633,634,636,637,640,641,644,645,55],{},[14,627,628],{},"Coil test:"," a steady current through one coil (",[14,631,632],{},"DC test",", for the bench test and the µT\u002FmA calibration in ",[38,635,325],{"href":324},"), or each coil in turn (",[14,638,639],{},"Rotate",", to check the wiring). Measure the field 20 mm from the coil face, divide by the mA, enter it as ",[14,642,643],{},"µT per mA"," for that coil, and ",[14,646,647],{},"Save",[22,649,650,653],{},[14,651,652],{},"Bluetooth:"," on lets the web app connect as before. Changing it restarts the board (helmet off).",[10,655,656,657,660,661,663],{},"The web app can also control the board over its USB cable (the ",[14,658,659],{},"USB"," button, Chrome or Edge on a computer), with Bluetooth off. Connect before putting the helmet on. Only a laptop on battery, with the charger unplugged (",[38,662,314],{"href":313},"). The touchscreen keeps working alongside.",[19,665,666,672],{},[22,667,668,671],{},[14,669,670],{},"Display:"," the panel driver is detected at boot (ILI9341 or ST7789). If the colours or the picture look wrong, try the next driver. The board restarts.",[22,673,674,676,677,680],{},[14,675,303],{}," redo it here, or hold the ",[14,678,679],{},"BOOT"," button for 3 s while no session runs, if taps land in the wrong place.",[44,682,684],{"id":683},"only-in-the-web-app","Only in the web app",[10,686,687],{},"These need a phone or a computer and stay in the web app (Bluetooth on):",[19,689,690,693,696,699],{},[22,691,692],{},"guided sessions with beat audio;",[22,694,695],{},"remote-viewing and telepathy trials;",[22,697,698],{},"questionnaires;",[22,700,701],{},"the NOAA space-weather values.",[44,703,705],{"id":704},"screens-without-a-board","Screens without a board",[10,707,708,711,712,715,716,719,720,723],{},[91,709,710],{},"firmware\u002Ftest\u002Fuisim\u002Frun.sh"," draws every screen on the computer (macOS or Linux with SDL2, e.g. ",[91,713,714],{},"brew install sdl2","), using the same UI code and a freshly built program pack. It taps through all of them and saves PNGs in ",[91,717,718],{},"firmware\u002F.pio\u002Fuisim\u002Fshots",". Run ",[91,721,722],{},"pio pkg install -e esp32e_lcd28"," once first.",[725,726,727],"style",{},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":89,"searchDepth":109,"depth":109,"links":729},[730,731,732,733,734,737,738,739],{"id":46,"depth":103,"text":47},{"id":74,"depth":103,"text":75},{"id":118,"depth":103,"text":119},{"id":240,"depth":103,"text":241},{"id":291,"depth":103,"text":292,"children":735},[736],{"id":337,"depth":109,"text":338},{"id":352,"depth":103,"text":353},{"id":683,"depth":103,"text":684},{"id":704,"depth":103,"text":705},"Running the helmet from the 2.8\" display board without phone or computer: flashing, the SD-card program pack, clock and screens.","md","docs\u002FSTANDALONE.md","Build it","Touchscreen board",{},7,true,10,"\u002Fdocs\u002Fstandalone","docs",{"title":5,"description":752},"The 2.8\" ESP32-32E display board runs the helmet without the web app:","standalone","docs\u002FSTANDALONE",null,"dRP7VWhi1td01WSiAneD2t29f4Pp9z0QPGu3oZ_oSNg",[758,767,774,781,789,797,798,806,815,823,831,840,847,855],{"path":759,"title":760,"description":761,"section":750,"slug":762,"label":763,"group":764,"order":765,"minutes":746,"updated":755,"file":766},"\u002Fdocs\u002Foverview","God Helmet: 8-coil weak-field headset (ESP32 + AD5328 + web app over Bluetooth or USB)","What the project is, what is in the repository, quick start and current status.","overview","Overview","Start here",5,"README.md",{"path":313,"title":768,"description":769,"section":750,"slug":770,"label":768,"group":764,"order":771,"minutes":772,"updated":755,"file":773},"Safety","Who must not use the helmet, the rules for every session, and the safeguards built into the firmware.","safety",6,29,"docs\u002FSAFETY.md",{"path":775,"title":776,"description":777,"section":750,"slug":778,"label":779,"group":743,"order":746,"minutes":103,"updated":755,"file":780},"\u002Fdocs\u002Fparts","Bill of materials","Every part of the helmet with quantities and notes.","parts","Parts list","hardware\u002FBOM.md",{"path":782,"title":783,"description":784,"section":750,"slug":785,"label":783,"group":743,"order":786,"minutes":787,"updated":755,"file":788},"\u002Fdocs\u002Fwiring","Wiring","Schematic, coil leads, pin tables for each supported board, the arming switch and cable pair mapping.","wiring",8,15,"docs\u002FWIRING.md",{"path":324,"title":790,"description":791,"section":750,"slug":792,"label":793,"group":743,"order":794,"minutes":795,"updated":755,"file":796},"Bench test and calibration","Bench test of the module, wiring checks, and measuring µT per mA with a phone.","calibration","Calibration",9,4,"docs\u002FCALIBRATION.md",{"path":749,"title":5,"description":740,"section":750,"slug":753,"label":744,"group":743,"order":748,"minutes":746,"updated":755,"file":742},{"path":510,"title":799,"description":800,"section":750,"slug":801,"label":799,"group":802,"order":803,"minutes":804,"updated":755,"file":805},"Coil placement","The 10-10 system, finding sites with a tape measure, the standard and program-specific layouts, depth and field per target.","placement","Use it",11,42,"docs\u002FPLACEMENT.md",{"path":807,"title":808,"description":809,"section":750,"slug":810,"label":811,"group":802,"order":812,"minutes":813,"updated":755,"file":814},"\u002Fdocs\u002Fexperiments","Testing it honestly: blinded sessions and psi trials","Blinded real and sham sessions, remote-viewing and telepathy protocols, and the statistics behind the results table.","experiments","Experiments",12,33,"docs\u002FEXPERIMENTS.md",{"path":816,"title":817,"description":818,"section":750,"slug":819,"label":820,"group":802,"order":821,"minutes":746,"updated":755,"file":822},"\u002Fdocs\u002Fguides","Guided sessions (\"Guides\")","The guided-session format, the audio engine and how guides arm the helmet.","guides","Guided sessions",13,"docs\u002FGUIDES.md",{"path":824,"title":825,"description":826,"section":750,"slug":827,"label":825,"group":802,"order":828,"minutes":829,"updated":755,"file":830},"\u002Fdocs\u002Fquestionnaires","Questionnaires","The questionnaires used in guides, their sources, licences and scoring.","questionnaires",14,20,"docs\u002FQUESTIONNAIRES.md",{"path":832,"title":833,"description":834,"section":750,"slug":835,"label":836,"group":837,"order":787,"minutes":838,"updated":755,"file":839},"\u002Fdocs\u002Fsignals","Signals: what the coils play and where it comes from","What the coils play: coil physics and exposure limits, the Persinger-lab signals rebuilt from primary sources, vendor signal families and clinical timings.","signals","Signals","Reference",44,"docs\u002FSIGNALS.md",{"path":841,"title":842,"description":843,"section":750,"slug":844,"label":842,"group":837,"order":845,"minutes":786,"updated":755,"file":846},"\u002Fdocs\u002Fpreset-format","Program file format","The program file format, every signal and coil mode, the pulse-table generators and the preset checker.","preset-format",16,"docs\u002FPRESET_FORMAT.md",{"path":848,"title":849,"description":850,"section":750,"slug":851,"label":852,"group":837,"order":853,"minutes":795,"updated":755,"file":854},"\u002Fdocs\u002Fbrain-view","Brain view: how the field map is made","How the field map on the brain is computed, how accurate it is, and the data and licences behind it.","brain-view","Brain view",17,"docs\u002FBRAIN_VIEW.md",{"path":856,"title":857,"description":858,"section":750,"slug":859,"label":860,"group":837,"order":861,"minutes":803,"updated":755,"file":862},"\u002Fdocs\u002Fprotocol","Bluetooth LE and USB protocol","The Bluetooth service, packet framing, the USB line protocol, every operation, session JSON and the trial commitment.","protocol","Device protocol",18,"docs\u002FBLE_PROTOCOL.md",1794317843773]