
Vday
niteshkadyan/Hearty-LED-Necklace-Badge
Kicad project files and Android app for the Hearty LED wearable necklace cum badge

Code for the kamikaze bot
Daughterboard is an open-source printed circuit board by funrollloops, from the funrollloops/kamikaze repository on GitHub. It is a 2-layer board of 40 × 55.9 mm with 39 parts on 49 nets, routed with 187 tracks and 10 vias.
It is built around the ATMEGA328P-AU, ULN2803A and TIP120. Its parts include 13 resistors, 11 diodes, 8 connectors, 3 capacitors and 2 ICs. It belongs with the AVR (ATmega, ATtiny) boards of this library.
sudo apt install \
cmake ninja-build git build-essential pkg-config qt4-default python3-pip \
libavcodec-dev libavformat-dev libswscale-dev libavutil-dev libjpeg-dev
pip install conan
mkdir -p build/Release
(cd build/Release && conan install ../.. --build=missing)
cmake -B build/Release -DCMAKE_BUILD_TYPE=Release -GNinja \
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_CXX_CLANG_TIDY=/usr/bin/clang-tidy-14
ninja -C build/ReleaseUsing a virtualenv, CC=clang-14, CXX=clang++-14 are recommended. conan should use the same compiler for dependencies as the main build. direnv can be used to automate loading the virtualenv and setting the compiler options.
The main program is kamikaze; run with all features enabled:
ninja -C build kamikaze &&
build/kamikaze --logtostderr \
--spi /dev/spidev0.0 \
--save_directory=$(pwd)/output--spi enables talking to the slave over SPI, which will only work on a
Raspberry Pi connected to the daughterboard with a flashed Atmega328p (see the
arduino/ folder). If using the prototype that communicates over USB Serial,
pass --arduinoio_tty=/dev/ttyACM0 (or ACM1 etc) instead of --spi.
On a dev machine leave off both --spi and --arduinoio_tty to stub out all
daughterboard communication.
Test the Arduino communication code with robot_test:
ninja -C build robot_test && build/robot_testThe uploader binary lives in uploader/. It monitors the shots directory, or
any directory that is passed to it, and uploads any files that it finds that
meet the specification.
To run it, first install the requirements in uploader/requirements.txt:
$ sudo pip install -r uploader/requirements.txt
Next, obtain a copy of aws_credentials.secret, which contains the AWS
credentials in the boto3 format. This format is documented on
the boto3 site
Basically, if you have an aws_access_key_id and an aws_secret_access_key,
you can easily create this plain text file for yourself. Otherwise, you can
obtain credentials from a teammate.
Finally, run the binary with an environment variable, like a normal python script:
AWS_SHARED_CREDENTIALS_FILE=aws_credentials.secret python uploader/uploader.py --watch_dir=/path/to/shots --upload_db=path/to/uploads.sqlite
The AWS_SHARED_CREDENTIALS_FILE environment variable is consumed by the boto3
AWS integration library and used automatically to connect to S3, where the
files are uploaded to. Also note that by default the images are uploaded to the
blaster-gallery bucket in the US West (N. California) region.
The --watch_dir flag is the directory that will be monitored for images
in the specified format.
The --upload_db flag is the path to the sqlite database file that will be
used to track uploads. It's perfectly fine to pass the path to a file that does
not exist yet, and it will be created.
See also the repo that handles the display of these images (private): raygun
Install the systemd service to auto-start the controller with
sudo systemctl enable $(pwd)/kamikaze-controller.service
./configure_autossh.sh # Might need some configuration.| Qty | Value | Footprint | References |
|---|---|---|---|
| 8 | LEDs:LED_0805 | D2, D3, D4, D5, D6, D7, D8, D9 | |
| 8 | 500 | Resistors_SMD:R_0805_HandSoldering | R1, R2, R3, R4, R5, R6, R7, R8 |
| 2 | 100 | Resistors_SMD:R_0805_HandSoldering | R9, R12 |
| 2 | 22pF | Capacitors_SMD:C_0805_HandSoldering | C2, C3 |
| 1 | 100nF | Capacitors_SMD:C_0805_HandSoldering | C1 |
| 1 | 10K | Resistors_SMD:R_0805_HandSoldering | R11 |
| 1 | 12V_JACK | footprints:BARREL_JACK | CON1 |
| 1 | 1K | Resistors_SMD:R_0805_HandSoldering | R10 |
| 1 | 1N4007 | Diodes_ThroughHole:Diode_DO-41_SOD81_Vertical_AnodeUp | D1 |
| 1 | 8MHz | Crystals:HC-49V | Y1 |
| 1 | ATMEGA328P-A | Housings_QFP:TQFP-32_7x7mm_Pitch0.8mm | IC1 |
| 1 | AZIMUTH | Pin_Headers:Pin_Header_Straight_1x05 | P4 |
| 1 | CONN_13X2 | Pin_Headers:Pin_Header_Straight_2x13 | P3 |
| 1 | ELEVATION | Pin_Headers:Pin_Header_Straight_1x05 | P5 |
| 1 | RED | LEDs:LED_0805 | D11 |
| 1 | SHORT | Resistors_ThroughHole:Resistor_Vertical_RM5mm | R13 |
| 1 | TIP120 | Power_Integrations:TO-220 | Q1 |
| 1 | ULN2803A | Housings_SOIC:SOIC-18_7.5x11.6mm_Pitch1.27mm | U1 |
| 1 | VALVE | Pin_Headers:Pin_Header_Straight_1x02 | P7 |
| 1 | X_ADC67 | Pin_Headers:Pin_Header_Straight_1x02 | P6 |
| 1 | X_PB01 | Pin_Headers:Pin_Header_Straight_1x02 | P1 |
| 1 | X_PC1 | Pin_Headers:Pin_Header_Straight_1x01 | P2 |
| 1 | YELLOW | LEDs:LED_0805 | D10 |
It measures 40 × 55.9 mm and has 2 copper layers, 1.6 mm thick.
39 parts, built around the ATMEGA328P-AU, ULN2803A and TIP120. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the funrollloops/kamikaze repository on GitHub, at the commit this page was made from: the board is pcb/daughterboard.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask funrollloops before reusing the design.

niteshkadyan/Hearty-LED-Necklace-Badge
Kicad project files and Android app for the Hearty LED wearable necklace cum badge


robsonsmartins/usbflashprog
A memory device programmer (Flash/EPROM/E2PROM) board and software, connected to PC by USB port.

dcpedit/mission-control
Modern replacement PCB for the IBM Model M 122

RudgeLab/FluoPi
Code and teaching materials for UC/BackyardBrains raspberry pi "macro" scope.

jones139/catocam
Uses a custom trained YoloV8 model on a Raspberry Pi to Detect Cats in CCTV images and Unleash a Cat Deterrent

dcpedit/taptap
TapTap is a solenoid breakout board for those who are interested in adding a solenoid to their existing project. All you need are the following components, and an extra data pin on your microcontroller.
