Srijan Pabbi

Projects

Talkative Tom

Voice detection -> Sample and Store -> Instantaneous replay + Voice change

Made by Srijan Pabbi and Anmol Kathuria.
[Documentation Blog Post]   [GitHub: Design and Code Files]

Talkative Tom is an embedded device that records audio when the user speaks, stores the recorded audio data, and replays it with a modified pitch or a garbled alien voice. It employs an Atmel-Atmega328P/MSP430G2955(Faster Version) micro-controller for all the audio and digital processing jobs. On the board there are tuned analog circuits which perform the task of amplifying the audio signal to desirable levels with minimal noise.

The audio data output by the preamplifier is sampled with an ADC and is buffered. The buffers are in ping-pong configuration, which means that the data from one buffer is dumped into a SPI based Flash storage in while the samples are fed into the other. After the user stops speaking the data is retrieved from the SPI flash and keeping the data pipeline same, it is output at a different sample rate to modify the pitch or it is broken pereodically to create a garbled voice. The data bytes are superimposed on a Pulse Width Modulation(PWM) with low pass filter to recreate the analog audio and is given to a power amplifier for output.

Mathematical Alarm Clock

Alarm -> Series of Random Math Questions -> Solve -> Wake Up

Made by Srijan Pabbi and Prabhat Gupta.
[GitHub: Design and Code Files]  

Everyone has used the ordinary alarm clock, it alarms the user at the preset time. Why not make putting off the alarm a more involving task to egage the user in an activity and help them wake up. The mathematical alarm clock is a device that presents a mathematical problem when the alarm goes off. It keeps the track of time using an on board RTC and displays it on the lcd. The Alarm can be set using a keypad provided on the user interface.

At the time of alarm, a buzzer sounds, and keeps buzzing until the user enters the correct answers one or several randomly generated mathematical problems increasing in difficulty for every wrong answer, as per the setting. Once the user answers the question, the interface unlocks, the device setting and alarm time can be changed. There is no way around it; even if the user removes the power, the alarm clock stores its's state in the battery powered RTC RAM, and prompts the user to solve the question, hence making it impossible to shut off the alarm in any way but the correct answer to the math question.

The concept for this was tested on a C based microcontroller, and the actual code was written in assembly on the intel's 8085 instruction set. LFSR(Linear Feedback Shift Register) algorithm was used to generate random numbers, and the assembly code including the LCD driving, RTC IO, and general management functionality amounted to more than 1300 lines of instructions.

Checkout GitHub for the complete assembly code if you have the paitence :)

Arduinodaya Project Board (आर्डविनोदय)

Think -> Code -> Repeat

Made by Srijan Pabbi and Anmol Kathuria.
[Product Page]  

Arduinodaya is a pedagogy platform built around the Arduino ecosystem with intention to promote project based learning. For teaching basics of embedded system design and at the same time creating something cool to work on. With a variety of peripherals, numerous projects can be implemented without going through the trouble of circuit design.

uC: Atmega328P (CH340 for Bootloader based programming UART) Mini USB input for Programming and Power.

Peripherals:-

  • Nokia 5110 Graphic LCD
  • Serial Flash Memory 64MB
  • Bluetooth Module
  • RTC (Real Time Clock)
  • Microphone
  • 3W Power Amplifier + Output port
  • Buzzer
  • Potentiometer
  • Indicator LEDs
  • Navigation keys (DPAD)