Thermal Camera
- 2018/07/15 Portable thermal camera. Amazing result, but silly implementation. See the video here: https://twitter.com/DavidGlaude/status/1018379593667969025
(1) I use 'fbi' to display black background in the top left 256*256 pixel of the frame buffer.
(2) I use the @Pimoroni Themal Camera MLX90640 and run in loop a modified version of the 'interp' software provided. It capture the thermal information in I2C and push that in the console Frame Buffer in 256*192.
(3) I use a modified version of fbx2 ( https://github.com/dglaude/Pi_Eyes ), the @adafruit tool to display on two TFT LCD display using the Snake Eyes Bonned. But my modification makes that it only display on one TFT and capture the top left 256256 of the frame buffer to render on the 128128 TFT screen using SPI.
So the resulting usefull image is 128*96 but has been scaled up and down. This is a totally creazy implementation, that use the frame buffer where it is not necessary and downscale an already upscaled image (just because I was lazy to change much more the fbx2 code. To make it really portable, I should power that by LIPO and reduce the size of the assembly (that is currently without soldering, just hack and friction connection).
- 2018/07/15 Thermal camera displaying on a big 6464 RGB Matrix. It use the above camera from @pimoroni, but this time the @adafruit RGB Matrix Bonnet to display on a HUB75 6464 Matrix. Once again, to go from the camera to the screen, I use the frame buffer, just because code to do that was available. See video here: https://twitter.com/DavidGlaude/status/1018235330447708161
(1) I use a modified version of interp display on my prefered size with a low FPS on frame buffer.
(2) I use rpi-fb-matrix to copy the frame buffer on Matrix.
(3) One trick is that both the Snake Eyes Bonnet and the camera use GPIO4. But on the Snake Eyes Bonnet, it is best to replace GPIO4 by GPIO18, so I connect them on the board, but I also had to make sure GPIO4 was not connected between the bonnet and the Pi.
(4) Also the Matrix require a lot of CPU to be refreshed at high FPS, and this is affecting the proper reading on the I2C camera. The main reason could be the mono processor Raspberry Pi Zero. So to make this work, I had to reduce the FPS at wich image are capture by the camera and the FPS of display on the Matrix. The result is off poor quality with frequent freeze. To really do this would require upgrading the Pi or fixing the code to avoid overhead and directly read from one and push on the other one without the frame buffer in between. Anyway, the 3224 image read is display in 6448 on the RGB Matrix. So nice for display, but not very portable.
64*64 Matrix Display
- 2018/07/07 Thead about #Pico8 and the 64*64 RGB Matrix: https://twitter.com/DavidGlaude/status/1015539569352200192
(1) I used rpi-fb-matrix to copy from my framebuffer (displayed on an old VGA screen with an HDMI to VGA adapter) to the Matrix. And on the console, I display Pico8 in full screen. The big problem is that this is upscale then downscale, and rpi-fb-matrix want to respect the aspect ratio, so despite the fact that Pico8 is 128128 and my matrix 6464, the aspect ratio of Pico8 is lost. But the effect is impressive, almost playable.
(2) So the trick to be pixel perfect, is to display Pico8 in 128*128 on the top left of the screen/frame buffer. And then tell rpi-fb-matrix to only take pixel perfect copy of the screen from the top left. Of course this only display one quarter of the Pico8 screen, the top left quarter.
(3) So as I did not order four 6464 RGB Matrix to daisy chain, the best solution was to find a 6464 game on Pico8, and I found the obscure game micro-society ( https://www.lexaloffle.com/bbs/?tid=3214 ) that @TRASEVOL_DOG did for the #lowrezjam (maybe 2016 edition). Then you need to convince Pico8 to display that in 64*64 on the top left of the screen, and there you can play the game on the Matrix. I am not sure it is pixel perfect, but it is playable (if you consider micro-society to be playable).
This was an epic adventure, and with a big investment of four 64*64 matrix display, this could be a gigantic
- 2018/07/05 Entering the fun of driving big RGB matrix, here a HUB75 64x64 controled by a Pi and the bonnet from Adafruit. Nothing special yet, but using the demo code from https://github.com/hzeller/rpi-rgb-led-matrix here is the proof of live: https://twitter.com/DavidGlaude/status/1014630337316605952
Some gap to fill after end of 2017
-
2017/11/21 After @Gadgetoid challenged the internet to adapt Pimoroni Scroll pHAT example to the Scroll pHAT HD. I proposed a general solution to that problem https://twitter.com/DavidGlaude/status/932954039905636352 I proposed that as a pull request together will all the example: pimoroni/scroll-phat-hd#43
-
2017/11/11 Failed attempt to build a light conduit (fiber optic) for the Blinkt! : https://twitter.com/DavidGlaude/status/929369718984765440
-
2017/11/06 Testing network connectivity and the scrollphatHD demo code from @Gadgetoid with Pirate Python. My phone was in tethering mode and the Pirate Python connect to it. Then the browser from my phone was able to choose the message to display. This would be perfect for name badge: https://twitter.com/DavidGlaude/status/927686275037089797 & https://twitter.com/DavidGlaude/status/927686453483769856
-
2017/11/02 My pHAT STACK from @Pimoroni arrived, so I had to try to maximise it's use with as many blinking LED as possible. Also I wanted a demo code for Pirate Python that I could use for my regression and usability test. This is the code https://gist.github.com/dglaude/b39da6f2a02cd9a1b2a8cc4c5db1e11e and it use the following pHAT from @Pimoroni Scroll pHAT + Scroll pHAT HD + Unicorn pHAT + Blinkt: https://twitter.com/DavidGlaude/status/926204630777974785
-
2017/11/02 First project using Pirate Python from @Gadgetoid on a Raspberry Pi Zero. No fear to turn it off and to corrupt the microSD card, because this is running from RAM: https://twitter.com/DavidGlaude/status/925981549086019584
-
2017/10/31 This might be my first finished and usable projet. It is a light box in wich I have placed an Insping LEDs from @RasPiO1 controled with some Circuit Python code running on a Trinket M0. Because the Trinket is a micro processor, you can turn it on and off an anytime without risking to corrupt a microSD card like on a Raspberry Pi. Also I powered the Trinket and LED directly from the 3 x 1.5 V of the 3 AAA batteries and there is an on/off switch. Everything hold in place and it does not look modified at all, so it can be offered to someone or let kids use it without worries. It works because the Trinket accept to run with less that the typical 5 V from a micro USB. Also the Trinket is small enought to be hidden inside. I almost wrote no code and reused a Adafruit demo, my code is here: https://gist.github.com/dglaude/5b6f3ea1ca4d4ba6b63ed811a7c56f79 : https://twitter.com/DavidGlaude/status/925457324747247617 & https://twitter.com/DavidGlaude/status/925458034675146754
-
2017/10/24 I wrote some code to control the Unicorn HAT HD over IP using the artnet protocol. To test that I used Glediator http://www.glediator.de/ . My initial attempt showed a lot of accumulated lattency, but later I found a fix for that: https://twitter.com/DavidGlaude/status/922949346559217666
-
2017/10/22 More experiment with controling RGB LEDs over an IP network. Once again Unicorn HAT but this time controled from Glediator using art-net protocol: https://twitter.com/DavidGlaude/status/922190891309240320
-
2017/10/22 Suddenly I discovered the protocols used to control LEDs over an IP network. So I had to try and share. This is Pixelcontroller http://pixelsvaders.ch/ talking to a Unicorn HAT over IP. https://github.com/bbx10/artnet-unicorn-hat : https://twitter.com/DavidGlaude/status/922134259799855104
-
2017/09/17 Testing analogue reading on Trinket board. Just the demo #CircuitPython code that is loaded by default by @adafruit. https://twitter.com/DavidGlaude/status/909336338335506432
-
2017/09/16 Customising my shower even more by adding BT sound to it. Mostly because one of the phone of the family has a bad audio connector. https://twitter.com/DavidGlaude/status/909020816712638464
-
2017/09/11 Testing @adafruit TPL5111 and CircuitPython Huzzah esp8266 with @RasPiO1 Inspiring. Make that animation every 5 minutes then sleep. https://twitter.com/DavidGlaude/status/907133120171966464
-
2017/08/09 Unicorn HAT HD inside an IKEA Sprida lamp. This was done previously with a Unicorn HAT (non HD) without altering the Sprida lamp. This time to put the LED at the right focal location, I decided to properly fix the Unicorn HD HAT to the lamp. It give rather good result, see the video here: https://twitter.com/DavidGlaude/status/895411720310730754
-
2017/07/15 Hacked a clock with Crazy Clock by Geppetto Electronics https://www.tindie.com/products/nsayer/crazy-clock/ . Not really easy to solder that without destroying the clock, especially if you don't use the one it is designed for. But I am happy with the result, even if that clock is now a real annoyance: https://twitter.com/DavidGlaude/status/886215057310461952
-
2017/07/05 Apparently I wrote a library compatible with @pimoroni Blinkt! to control InsPiRing (http://rasp.io/inspiring) Straight-8. It is a mix from Blinkt! library, some pigpio example and my glue code in between. This library did not get enough exposure. This is a way to use your InsPiRing without beeing limited by the Non Commercial licence.
-
2017/07/04 Fitting test of connector on the Pocket CHIP without any soldering https://twitter.com/DavidGlaude/status/882127078166016000
-
2017/06/30 Fitting test of a http://rasp.io/inspiring inside an IKEA FADO lamp. https://twitter.com/DavidGlaude/status/880876836682694656
This seems like a perfect fit. The colour from the various LED to get melanged, but you still see more of the closest LED, so some effect are possible.
- Circuit Playground Express control an RGB LED Strip using infrared: https://twitter.com/DavidGlaude/status/878604353636110337
After watching a few video from Tony D and Lady Ada, I was a bit frustrated with my attempt at IR. Then I found the library from Chris Young http://tech.cyborg5.com/2017/06/06/announcing-irlibcp-a-circuit-python-module-for-infrared-transmitting-and-receiving/ The Circuit Playground Express I use is for developper, that lib and everything else is beta, but it works for me. My code is here: https://gist.github.com/dglaude/f1d79015217f20951922e20a1139379b
- Blue Dot controling a robot that test the Puppies acceptation of robotics : https://twitter.com/DavidGlaude/status/872560313157263360 + https://twitter.com/DavidGlaude/status/873939906095132672
This is using demo code that come with Blue Dot. Nothing special except the fun of controling the robot.
- Blue Dot (a Bluetooth control from an Android phone) talking to PocketCHIP : https://twitter.com/DavidGlaude/status/871093758984691714
Nothing fancy, just checking that the Blue Dot library was working with the PocketCHIP. That code was writen for the Raspberry Pi, but any decent Linux seems to do the trick.
- Blue Dot (a Bluetooth control from an Android phone) of the colour of a Blinkt! : https://twitter.com/DavidGlaude/status/870640814006956032
The code is now publish on github: https://github.com/dglaude/Blue-Dot-Colour-Picker Initially there was no way to turn off the LEDs, then I implemented double_click. Now I am using the recently added when_double_pressed event. The Blue Dot Colour Picker now work on a wide range of RGBs LEDs device such as: unicorn HAT, unicorn pHAT, mote stick, Sense HAT and of course Blinkt!
- TIX clock for Sense HAT: https://twitter.com/DavidGlaude/status/867818638816026625
By request I adapted the TIX clock code for a square 8*8 set of RGB LEDs. This tweet is about the Sense HAT The code pull request has been integrated on https://github.com/mdoege/PyTIX
- TIX clock for unicorn HAT: https://twitter.com/DavidGlaude/status/867813730121375744
By request I adapted the TIX clock code for a square 8*8 set of RGB LEDs. This tweet is about the unicorn HAT (does not work with the unicorn pHAT) The code pull request has been integrated on https://github.com/mdoege/PyTIX
- Minecraft that control Tradfri IKEA light: https://twitter.com/DavidGlaude/status/854842705393971202
When you enter the room (in Minecraft world) the light turns on (in the real world room). For that example, I used the free Raspberry Pi version of Minecraft that has a Python API. I acquired the knowledge to interface from Python to Mincraft from the book "Adventures in Minecraft": http://eu.wiley.com/WileyCDA/WileyTitle/productCd-111894691X.html I acquired the to control IKEA Tradfri light from Pimoroni learn blog: https://learn.pimoroni.com/tutorial/sandyj/controlling-ikea-tradfri-lights-from-your-pi
- Controling a mote stick (APA102) from a PocketCHIP using SPI interface and code from Alex Eames: https://twitter.com/DavidGlaude/status/847575218029809665
This is a software/hardware mix project. From an hardware point of view, it is just a matter of connecting the mote stick from Pimoroni to the PocketCHIP. The mote stick interface is microUSB and it is provided with a microUSB to microUSB cable. So the trick is to use a microUSB breakout board that give access to the 4/5 pins. Also connecting pins to the PocketCHIP without soldering is possible because the hole are on purpose not perfectly aligned. From a software point of view this is just a matter of using the spidev python library on the PocketCHIP. This is possible because Rasp.io InsPiRing library use SPI to control APA102 https://www.kickstarter.com/projects/raspitv/raspio-inspiring-connect-rgb-led-shapes-sculpt-you There is really nothing special about this projet, it is just a proof of concept.
- Controling a mote stick from the PocketCHIP with Blinkt! library: https://twitter.com/DavidGlaude/status/847560464473010177
There are a few tricks in this project. The Blinkt! library from Pimoroni is done to drive the 8 APA102 Blinkt! where the Mote stick I control is having 16 APA102. The Blinkt! library does bit-banging of the GPIO on the Raspberry Pi, but on the PocketCHIP it must be replaced by CHIP_IO
- A longer Blinkt! with a Mote stick https://twitter.com/DavidGlaude/status/846086214390304768
The Blinkt! from Pimoroni is nice but short, where a Mote stick is double the size with same APA102 RGB LED. The trick is to physically connect the Mote stick on the same GPIO pin as the Blinkt! Then the example available for Blinkt! need to be adapted to be more flexible to other number of LED. To drive simultaniously a Blinkt! and the Mote stick the mini black hat hack3r is used. The longer the rainbow, the more nice it look.
- PockemonGo Plus automatic push button to automate playing PokemonGo: https://twitter.com/DavidGlaude/status/844348718233079809 & https://twitter.com/DavidGlaude/status/844345636019458049 & https://twitter.com/DavidGlaude/status/844298962802749440
This project did not get traction despite it's originality. The PokemonGo Plus is a BT device that peer with Pokemon Go on your mobile phone. When there is a Pokemon or a Pokestop nearby, it blink a color, you then have to push the button to try to catch the Pokemon or ressource. So the trick here is to put the PokemonGo Plus into the dark, into a box and put a light detector and a servo. Then in a separate box, I placed an ESP8266 program in microPython. The code detect light, push on the button then wait for 10-15 seconds. The result is working, but because the servo and the ESP8266 are powered from the same Lipo, the servo can get stuck on the button or refuse to move. But it give very good result and might not be against the rules of Niantic.
- Control a Blinkt! on RTk.GPIO from the PocketCHIP: https://twitter.com/DavidGlaude/status/826896576912224260
I was affraid to solder on the GPIO pins from my PocketCHIP, and I wanted to test RTk.GPIO portability. So I took Blinkt! library and modified it to use the RTk. This is easy and possible because Blinkt! library does bit-banging on the GPIO. There was just a little discrepency that needed to be fix for the code to work.
- Blinking an LED from the PocketCHIP using RTk.GPIO: https://twitter.com/DavidGlaude/status/826545306405859328
I wanted to test the RTk.GPIO with an hardware not officially supported. My pocketCHIP was a good choice. I also used my very first add-on for Raspberry Pi, the Fish Dish(?)
- Doorbell automation with MP3 player and external amplifier https://twitter.com/DavidGlaude/status/822768600662605824
My doorbell was already very customised with an MP3 player sounding a song when someone ring (and potentially opening the door based on an on/off button with red/green LED status indicator). But I wanted to have a Rasbperry Pi contraling that to enhance the possibility. Also because recharging the MP3 Doorbeel was an anoyance. I went for the Pimoroni Automation HAT to be able to open the door when needed. The audio output is taken from the 3,5 mm jack, so I took an battery powered speaker for the sound. But the big trick to avoid noise and having to recharge the battery is to only power the speaker when needed. So replaced the ON/OFF switch of the speaker by one of the relay from the Automation HAT. To play sound, I have to trigger the relay (and play and MP3 or else). Latter I added a mote stick to the setup to be able to have visual indication and sound-less ring (maybe during the night) Nowdays when someone ring the bell, it play 30 seconds of music, while making rainbow on the mote stick and it logs the time in a text file. Next step will be to text me (SMS) or contact me via Twitter or Telegram (with a bot) Also I plan to control the light above the entrance and turn it on when someone ring, but only if it is the night (not based on a light sensor, but based on the time of the day and sunset or sun dawn time for my geographical location)
- Using the PocketCHIP to power a Raspberry Pi Zero and having a terminal/shell on it: https://twitter.com/DavidGlaude/status/818907340288258052
PocketCHIP make it a great portable terminal for time and place where you don't want to us a laptop. It work great at powering the RaspberryPi Zero
- Cluster of Raspberry Pi Zero on a big USB hub: https://twitter.com/DavidGlaude/status/805065033231241216 & https://twitter.com/DavidGlaude/status/804723020120158209
This is totally untested project and serve as a storage for Raspberry Pi Zero. I already know that I will hit limitation on the number of USB device supported if I put a Raspberry Pi as host of this solution.
- Driving pHAT and Blinkt from a NODE MCU using microPython: https://twitter.com/DavidGlaude/status/800073016335994880
Here the Blinkt, the Scroll pHAT and the Unicorn pHAT. Not sure what worked or not. I guess Neopixel and APA102 were a success but Scroll pHAT required to write a library for I2C.
- Ikea holder for mote stick: https://twitter.com/DavidGlaude/status/793863964975370240 & https://twitter.com/DavidGlaude/status/793862887232118784
Nothing special here, just trying ways to make nice use of mote stick.
- Testing LEGO and wiring integration with the first sample of a product made based on my remarks: https://twitter.com/DavidGlaude/status/788418581092528128
This should be used with the traffic light, but 4 wires is what is needed for an I2C bus in LEGO.
- First attempt at driving a mote stick from ESP8266 in microPython : https://twitter.com/DavidGlaude/status/786298253033742336
First use of that trick to connect the mote stick to other electronics
- TIXclock ported to ESP8266 running microPython and using a Unicorn pHAT to display the time: https://twitter.com/DavidGlaude/status/785350171890683905 & https://twitter.com/DavidGlaude/status/785346149649637376
This was requested by my little girl that wanted a portable version of the TIXclock I did on the Raspberry Pi. ESP8266 (HUZZAH) powered by a Lipo, with a RTC does the trick.
- TIXclock with rainbow effect on a Rainbow pHAT from Pimoroni: https://twitter.com/DavidGlaude/status/784910233269366784
I believe this was done on a Raspberry Pi in Python as a way to test my code before porting to microPython
- TIXclock on a Raspberry Pi with Scroll pHAT and colour filter to turn white LED into something nicer: https://twitter.com/DavidGlaude/status/784152789249384448 & https://twitter.com/DavidGlaude/status/784155490213302272 & https://twitter.com/DavidGlaude/status/784272633357488128
I ported the TIXclock to another kind of hardware. The colour filter is a nice trick to enhance the usefullness of the Scroll pHAT.
- Rainbow on a Blinkt! driven by an ESP8266 (Huzzah): https://twitter.com/DavidGlaude/status/779447105928634368 & https://twitter.com/DavidGlaude/status/779703486162276353
This include a test to know how much time my rainbow can run on the LIPO Battery
- Portable ESP8266 Blinkt! / Unicorn pHAT and Unicorn HAT box: https://twitter.com/DavidGlaude/status/772507300976361474 & https://twitter.com/DavidGlaude/status/772674683208622080
Using the ESP IoT pHAT from Pimoroni without any Raspberry Pi an driving pHAT and HAT (and Blinkt!) in microPython. Maybe the first project with ESP8266 that made my decide to invest in HUZZAH and other.
- TIXclock with 3 mote stick: https://twitter.com/DavidGlaude/status/764214446822678528
The TICclock is not running on a Raspberry Pi, but on my MAC in Python.
- Larson Blinkt! example running in microPython on an ESP8266 rather than Python on Raspberry Pi : https://twitter.com/DavidGlaude/status/763357241974132737
Discovering what is possible in microPython on ESP8266 using APA102
- Driving 3 Blinkt! connected in Parallel on a Raspberry Pi Zero: https://twitter.com/DavidGlaude/status/762889784373092353
A nice way to have light in more direction, all the Blinkt! display exactly the same thing. This is part of an IKEA hack as it is on the base of an IKEA lamp.
- Minecraft server monitoring with IKEA HACK (FADO Lamp) using a PiZero and Blinkt!: https://twitter.com/DavidGlaude/status/752197086603517952 & https://twitter.com/DavidGlaude/status/751708511717978112 & https://twitter.com/DavidGlaude/status/751664799352758272 & https://twitter.com/DavidGlaude/status/751514746067845120
This is an IKEA hack as it use a FADO Lamp. There is an interesting ambiant way to indicate the status of the Minecraft server and the number of connected users.
- Counting on a Blinkt! the number of user connected to a Minecraft server: https://twitter.com/DavidGlaude/status/751273652356681728
This is based on counting the number of man in space or similar example.
- Ice cream camera on Raspberry Pi: https://twitter.com/DavidGlaude/status/746989335858262016
Reusing ZeroView hardware to do a "weather proof" camera.
- IKEA Hack with Sprida lamp and Unicorn HAT : https://twitter.com/DavidGlaude/status/741960871132418048 & https://twitter.com/DavidGlaude/status/741961171545260036
Fitting a Raspberry Pi and a Unicorn HAT into a Sprida lamp is easy and non destructive. The effect on the ceiling is great. DISCO