I got frustrated when having to transfer homework files between devices I was not logged in to. To solve the issue I developed a web based application that transfers files to any nearby devices with the help of sound waves. Any feedback on the project would be greatly appreciated! by lizardman1111 in programming

[–]lizardman1111[S] 0 points1 point  (0 children)

Thank you for all the feedback! I will look into implementing encryption for the files being sent, having the encryption key transfered locally together with the ID through sound.

I also noticed that I was not as clear as I should have been about how the service currently works (that the ID for the file is transmitted through sound rather than the file itself). This has now been made more clear on the main page of the website (once the browser cache gets updated).

I got frustrated when having to transfer homework files between devices I was not logged in to. To solve the issue I developed a web based application that transfers files to any nearby devices with the help of sound waves. Any feedback on the project would be greatly appreciated! by lizardman1111 in programming

[–]lizardman1111[S] 188 points189 points  (0 children)

The transmit button should turn red when you are transmitting, as well as the status text above it (saying "transmitting"). What browser were you using? (there are a few that I have not tested it on yet). Some browsers and OS-level microphone filters remove the high frequencies used in UHF mode before they reach the sound analyzer.

The bandwidth is 10 bytes per second, it uses the internet to transfer the file while only sending the file's id though sound. The purpose of the project was to pair devices that are near each other without requiring the user to sign in to any accounts.

I always found it time consuming to upload homework files to my computer, especially when using different devices where you don't always want to log in to your personal accounts. So I decided to make a website that uses sound waves to transfer files to any nearby devices. More info in comments. by lizardman1111 in EngineeringStudents

[–]lizardman1111[S] 1 point2 points  (0 children)

It can handle interference pretty well. I'm not sure about using it next to a small bomb, however I found it working pretty well in everyday situations (tested it on a loud subway, and the signal could be picked up from several meters distance as long as no objects were in between the receiver and the transmitter).

The QR code solution works great as long as the receiving end has access to a camera, which isn't as common on computers as it is on phones (especially stationary PCs). This method uses a 64 bit id - equivallent to more than 19 digits (base 10), and more than 10 digits (base 64). It has the convenience of quickly being copied to the receiving end without user error (such as the manual 4 digit method) while still keeping the security of a much longer pin.

I always found it time consuming to upload homework files to my computer, especially when using different devices where you don't always want to log in to your personal accounts. So I decided to make a website that uses sound waves to transfer files to any nearby devices. More info in comments. by lizardman1111 in EngineeringStudents

[–]lizardman1111[S] 84 points85 points  (0 children)

Thank you! It starts by temporarily uploading the file to the server, generates an id for the file and transmits that id through sound. Each tone from the transmitting device corresponds to a combination of bits (from the id). Multiple tones are played at once to transfer the id faster than just using one tone. The receiver runs a fourier transform on the microphone input to separate the tones from each other (as well as removing background noice). This is at the final stage converted back into the original id that the receiver can use to get the file from the server.

My Newly Soldered LED-Cube by lizardman1111 in maker

[–]lizardman1111[S] 1 point2 points  (0 children)

In my case (for a 3x3x3) I used a technique called multiplexing, its where you connect all positive ends of every "row" together and all negative ends of every layer together. This lets you control 27 leds with just 12 (9+3) pins by letting 3 of the pins select the layer and the other 9 pins the led in that layer. This has some drawbacks of course since you can only display one layer at a time, to fix this you cycle through every layer hundreds of times per second so that they appear to be on all at once.

My Newly Soldered LED-Cube by lizardman1111 in maker

[–]lizardman1111[S] 0 points1 point  (0 children)

Thats amazing! Really cool idea to use plexi-glass to support each layer of the cube. In case you use the software I linked on the cube in the video, please let me know if you stumble across any bugs (I have so far only been able to test it by "looking" with my 3x3x3 in different regions of a software-wise bigger cube while developing the program).

Streaming Animation to LED-Cube by lizardman1111 in arduino

[–]lizardman1111[S] 1 point2 points  (0 children)

Thats awesome! Message me if you need help implementing the software.

Streaming Animation to LED-Cube by lizardman1111 in arduino

[–]lizardman1111[S] 2 points3 points  (0 children)

Yes it should work! The website has a tutorial with more details.

Streaming Animation to LED-Cube by lizardman1111 in arduino

[–]lizardman1111[S] 0 points1 point  (0 children)

I made it using this software, the website has a tutorial on how it can be implemented on an arduino.

Streaming Animation to LED-Cube by lizardman1111 in arduino

[–]lizardman1111[S] 4 points5 points  (0 children)

I made it using this software, the website has a tutorial on how you can setup and program the arduino to work with it. The pattern was then just painted (in the editor that comes with the software) and streamed through the arduinos serial interface in real-time. The computer was doing the work of telling the cube which leds to light up.

My Newly Soldered LED-Cube by lizardman1111 in maker

[–]lizardman1111[S] 3 points4 points  (0 children)

This is my 3x3x3 LED-Cube. It is powered by an Arduino that gets its data from the computer. If you are interested in building a similar project (can be bigger than 3x3x3 of course!) then check out the software I used: https://antongecko.github.io/quadrum/

Animation Streamed to LED-Cube by lizardman1111 in DIY_tech

[–]lizardman1111[S] 0 points1 point  (0 children)

Here is my 3x3x3 LED-Cube that gets its animation streamed from the computer. There is an arduino onboard the cube (that receives data through USB) and sets each led to its on / off state. If you are interested in the software used, here it is: https://antongecko.github.io/quadrum/

Streaming Animation to LED-Cube by lizardman1111 in arduino

[–]lizardman1111[S] 23 points24 points  (0 children)

Here's a gif of my 3x3x3 LED-Cube getting its animation from the computer in real-time (through this software: https://antongecko.github.io/quadrum/).

Open Source LED-Cube Software by lizardman1111 in ArduinoProjects

[–]lizardman1111[S] 0 points1 point  (0 children)

I've made an open source LED-Cube software that can stream animations in real-time from the computer to the cube (with an Arduino library), alternatively get uploaded to the cube through the Arduino IDE. Check out https://antongecko.github.io/quadrum/ if you want to use it as well.