Skip to content

Commit

Permalink
Added link to @edger477's UI in Setup.md.
Browse files Browse the repository at this point in the history
  • Loading branch information
Onwrikbaar committed Nov 13, 2024
1 parent 2f0af7e commit efcdf2a
Show file tree
Hide file tree
Showing 13 changed files with 1,401 additions and 1,420 deletions.
2 changes: 1 addition & 1 deletion Design.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ For safety, it is best to power NeoDK from a battery, like a 3S (nominally 11.1V
The device is controlled through a standard serial UART interface using 3.3V TTL signal levels at 115200 bps. Suitable USB-to-serial cables (3.3V TTL, Tip=Tx, Ring=Rx, Sleeve=GND) are readily available from various sources, like Aliexpress, for about €10 including shipping.

## Firmware
The device's on-board control program (aka firmware) consists of a collection of collaborating state machines. The firmware is event-driven and 100% nonblocking.
The device's on-board control program (aka firmware) consists of a collection of collaborating hierarchical state machines. The firmware is event-driven and 100% nonblocking.

### Structure
Conceptually, the firmware consists of two layers:
Expand Down
15 changes: 9 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,17 +13,20 @@ E: <onwrikbaar@hotmail.com>
This is a work in progress. The electronics are production-ready. The firmware is far from finished.

### Goals
1. The last quarter century, innovation in the e-stim realm has been virtually nonexistent, despite massive advances in electronics and cheap computing power. Currently available commercial devices are without exception channel-oriented and produce TENS-like waveforms. Most are horrendously energy-inefficient. The time has come to unlock the potential of a more capable architecture.
1. The last quarter century, innovation in the e-stim realm has been virtually nonexistent, despite massive advances in electronics and cheap computing power. Currently available commercial devices are without exception channel-oriented and produce TENS-style waveforms. Most are horrendously energy-inefficient. The time has come to unlock the potential of a more capable architecture.
2. It is fairly easy for non-programmers to create, share and improve routines to be played on stereostim setups. Currently there is no way to achieve the same for pulse-based e-stim devices. This project aims to (eventually) bridge that gap.

### Disclaimer
NeoDK is experimental, recreational, educational hardware and software. It comes with absolutely no warranty of any kind. Its designs are free to use - under the conditions set forth in its [Licence](LICENSE.txt). Using the designs -in original or modified form- implies acceptance of any and all associated risks and liabilities.

### How (not) to use NeoDK
### How to use NeoDK
- Use it entirely at your own risk.
- Do not use it for anything time-critical, safety-critical, medical, industrial, military, commercial, or illegal - it was not designed for any of that.
- Do not use it on anyone without explicit and informed consent.
- Keep any and all electrodes connected to this device placed below the waist.
- Always start out at low intensity, especially when using insertable electrodes.

### How NOT to use NeoDK
- Do not use it for anything safety-critical, medical, industrial, military, commercial, immoral, or illegal - it was not designed for any of that.
- Do not use it on anyone without explicit and informed consent.
- Do not use a so-called triphase cable with this device!

### Safety
Expand All @@ -40,7 +43,7 @@ This project is intended for experienced electronics hobbyists and professionals
- a pulse-based device that can store and play user-created routines (planned for 2025).

### Caveat
NeoDK is _NOT_ a ready-for-play e-stim box. It is a minimal viable design (MVD) of a powerful and highly efficient electrostimulation device that is not limited by 2-pole 'channels' or strictly TENS-like waveforms. Schematic and board CAD files are included, but to get a working device involves soldering. To get more than the basic functionality requires programming in C.
NeoDK is _NOT_ a ready-for-play e-stim box. It is a minimal viable design (MVD) of a powerful and highly efficient electrostimulation device that is not limited by 2-pole 'channels' or strictly TENS-like waveforms. Schematic and board CAD files are included, but to get a working device involves some soldering. To get more than the basic functionality requires programming in C.

### How to get a working NeoDK
By far the easiest way to build NeoDK, is to order the SMD-populated PCB from JLCPCB (using the files in directory JLCPCB_prod) and buy the six through hole components separately. Soldering the through hole components onto the board is quite easy.
Expand All @@ -52,4 +55,4 @@ NeoDK's electronics and firmware can do things no commercially available e-stim
"A complex system that works is invariably found to have evolved from a simple system that worked. A complex system designed from scratch never works and cannot be patched up to make it work. You have to start over with a working simple system." -- John Gall

## NeoDK in the media
Joanne's Reviews always informative and entertaining YouTube [E-stim Livestreams](https://www.youtube.com/@JoannesReviews/streams) recently featured an [item about NeoDK](https://youtu.be/giEaDksRmh0?t=1460).
Joanne's Reviews' always informative and entertaining YouTube [E-stim Livestreams](https://www.youtube.com/@JoannesReviews/streams) recently featured an [item about NeoDK](https://youtu.be/giEaDksRmh0?t=1460).
12 changes: 1 addition & 11 deletions firmware/Setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,7 @@ A power cycle starts the firmware; the blue LED should light up and the box is r

## Controlling NeoDK from a computer
1. Connect NeoDK to a computer using a USB-to-3.5mm-TRS-serial cable (3.3V TTL, Tip=Tx, Ring=Rx, Sleeve=GND).
2. Open a Chrome, Edge or Opera browser window and point it to the [NUUI](https://deviceweb.org/neostim) (Neostim Ugly User Interface).
3. The following commands can be typed into the command box:
- /? list the commands
- /a print the instantaneous primary current and some voltages
- /b simulate the pushbutton, to start/pause/resume the pattern
- /d primary voltage down by 200 mV
- /l toggle the lovely blue LED
- /u primary voltage up by 200 mV
- /v print firmware version
- /0 (zero) turn off the primary voltage
- /1../9 set the primary voltage to 1..9 Volt (be careful what you wish for)
2. Open a Chrome, Edge or Opera browser window and point it to [@edger477's colorful UI](https://edger477.github.io/neodk-ui/).

## Developing code for NeoDK
### Debugging probe
Expand Down
Loading

0 comments on commit efcdf2a

Please sign in to comment.