Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/oscarsaharoy/femtoscope
Oscilloscope webapp using the new Serial API in Chrome
https://github.com/oscarsaharoy/femtoscope
electronics embedded web
Last synced: 1 day ago
JSON representation
Oscilloscope webapp using the new Serial API in Chrome
- Host: GitHub
- URL: https://github.com/oscarsaharoy/femtoscope
- Owner: OscarSaharoy
- Created: 2020-12-22T15:57:58.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2024-03-17T12:47:09.000Z (10 months ago)
- Last Synced: 2024-03-17T13:48:39.314Z (10 months ago)
- Topics: electronics, embedded, web
- Language: JavaScript
- Homepage:
- Size: 18 MB
- Stars: 3
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# femtoscope
Oscilloscope webapp using the Serial API in Chrome. Femtoscope is meant to be a free alternative to picoscope - all you need is a new verion of chrome and an arduino or similar microcontroller. There's a html document called `femtoscope.html` - this is meant to be opened with chrome. In the `arduino code` folder there's an arduino file called `femtoscope.ino` that you should be able to get onto your arduino. The other thing you need is to connect your arduino to your pc over a serial connection; this will normally be by plugging it into a usb port with a cable.
To run this project you will also need to get the [`minfft.js`](https://github.com/OscarSaharoy/minfft.js) and [`graph.js`](https://github.com/OscarSaharoy/graph.js) projects - they are intended to be cloned alongside the `femtoscope` project as sibling directories.
The serial communication protocol is really simple - however often you like, the arduino must output a byte onto the serial link. This value represents the measured voltage at that time, 0 for minimum measurable voltage and 255 for the maximum (so 0 to 5 volts for arduino uno). You can then set the voltage range from within femtoscope, and the sampling rate will be accounted for automatically, so you can change the frequency of the `loop()` function in the arduino code to change the sampling rate.
![](https://github.com/OscarSaharoy/femtoscope/blob/main/assets/femtoscope.gif)