Compared to the original device or the kit, it really offers no functional advantages other than maybe a smaller size or the charging feature. And it cost a lot more to make and is more complicated than it really needs to be. Had a bunch of fun designing/building it though.
Hammond 1551 translucent blue enclosure, 5×3.5×1.5cm
250mAh LiPo cell stolen from a RC helicopter
LTC4054L lithium battery charger IC, with a mini-USB connector provided for battery charging.
Eight VLSB3940 IR LEDs in series. These are 3mm, have a 20 degree viewing angle and have the best radiant intensity I could find in a 3mm LED.
LT3467 boost DC/DC converter, generating +15V for the anode end of the LED string
2-transistor constant current source pulling down the cathode end of the string. Currently set for 100mA. Circuit can handle 200mA operation.
Two bicolor status LEDs, showing microcontroller and charging status.
Software was written from scratch for it, with a few unnecessary changes:
I’m using variable length coding to store IR codes, which is slightly more efficient than the current TV-B-Gone method.
On/off timing is done with timers instead of delay functions. Even when it’s outputting codes, the CPU spends most of its time in idle sleep mode.
CPU typically runs at 4MHz, and briefly switches to 8MHz when decoding an IR code.
BOD disable sleep is used when idle, standby current is less than 1uA, well below the battery self discharge. BOD is normally enabled at 2.7V for low battery protection.
There’s a few different modes of operation. Classic TV-B-Gone mode, a “repeat the last several codes sent before you hit stop” mode, and an IR torch mode which just turns the IR LEDs on – put in there for testing, never taken out, and entirely useless.
TV turn off codes were stolen from the TV-B-Gone kit firmware – I turned the AVR code into a command line program that dumps a stream of on/off pairs into a file, and wrote a quick C program that converts these codes to the variable length code.
I’ll release the Eagle files and software soon, I have to clean them up and figure out a good online place to poke them for sharing.
8-6-2021 (August 6, 2021) is the Snakiest day of the year and it’s also this year’s CircuitPython Day! The day highlights all things CircuitPython and Python on Hardware. See you there!
Stop breadboarding and soldering – start making immediately! Adafruit’s Circuit Playground is jam-packed with LEDs, sensors, buttons, alligator clip pads and more. Build projects with Circuit Playground in a few minutes with the drag-and-drop MakeCode programming site, learn computer science using the CS Discoveries class on code.org, jump into CircuitPython to learn Python and hardware together, TinyGO, or even use the Arduino IDE. Circuit Playground Express is the newest and best Circuit Playground board, with support for CircuitPython, MakeCode, and Arduino. It has a powerful processor, 10 NeoPixels, mini speaker, InfraRed receive and transmit, two buttons, a switch, 14 alligator clip pads, and lots of sensors: capacitive touch, IR proximity, temperature, light, motion and sound. A whole wide world of electronics and coding is waiting for you, and it fits in the palm of your hand.