Fun projects (aka "I'm bored…")

Table of Contents

1. #+STARTUP: indent

2. Reference To publish this:

(x-hugh-org-publish-fun-projects)

3. Reference Best place to buy used books https://www.betterworldbooks.com/

4. DONE Weather vane + Arduino

5. Doing Fun project: OMG Sonic tomography for trees

5.1. Rough plan:

Start with two nails on opposite side of tree. Hammer one; detect wave in the other; figure out time of flight between the two.

5.1.1. Step 0: Count time between button pushes

  • Press button; start timer
  • Press button again; stop timer
  • Print time between those two events.
  • Interrupts for both.
  • Step 0b: two buttons.

5.1.2. Step 1: count time between hammer and received wave

  • Hammer to ground
  • Nail to +3v
  • esp32 3v <-> pull-up resistor <-> ground 🔨--- esp32 GPIO <-----------------–—+

    long piece of wood

    esp32 other GPIO <------------–—> nail

6. SetAside ESP32 remote control for Spotify

7. DONE Fun project: Scrape pollen counts from this API

  • https://www.pollen.com/forecast/historic/pollen/98225
  • Request:

    {
      "GET": {
        "scheme": "https",
        "host": "www.pollen.com",
        "filename": "/api/forecast/historic/pollen/98225/30",
        "remote": {
          "Address": "52.23.90.186:443"
        }
      }
    }
    
  • Response:

    {
      "Type": "pollen",
      "ForecastDate": "2023-05-22T00:00:00-04:00",
      "Location": {
        "ZIP": "98225",
        "City": "BELLINGHAM",
        "State": "WA",
        "periods": [
          {
            "Period": "2023-04-23T05:30:32",
            "Index": 1.7
          },
          {
            "Period": "2023-04-24T05:30:32",
            "Index": 4.2
          },
          {
            "Period": "2023-04-25T05:30:33",
            "Index": 8.8
          },
          {
            "Period": "2023-04-26T05:30:32",
            "Index": 8.1
          },
          {
            "Period": "2023-04-27T05:30:32",
            "Index": 8.5
          },
          {
            "Period": "2023-04-28T05:30:32",
            "Index": 8.6
          },
          {
            "Period": "2023-04-29T05:30:33",
            "Index": 9.7
          },
          {
            "Period": "2023-04-30T05:30:33",
            "Index": 7.9
          },
          {
            "Period": "2023-05-01T05:30:32",
            "Index": 7.8
          },
          {
            "Period": "2023-05-02T05:30:32",
            "Index": 8.4
          },
          {
            "Period": "2023-05-03T05:30:32",
            "Index": 7.4
          },
          {
            "Period": "2023-05-04T05:30:32",
            "Index": 7.8
          },
          {
            "Period": "2023-05-05T05:30:32",
            "Index": 1.9
          },
          {
            "Period": "2023-05-06T05:30:33",
            "Index": 4.7
          },
          {
            "Period": "2023-05-07T05:30:32",
            "Index": 6.4
          },
          {
            "Period": "2023-05-08T05:30:33",
            "Index": 7.6
          },
          {
            "Period": "2023-05-09T05:30:32",
            "Index": 7.7
          },
          {
            "Period": "2023-05-10T05:30:32",
            "Index": 8.1
          },
          {
            "Period": "2023-05-11T05:30:32",
            "Index": 9
          },
          {
            "Period": "2023-05-12T05:30:32",
            "Index": 8.9
          },
          {
            "Period": "2023-05-13T05:30:32",
            "Index": 9.1
          },
          {
            "Period": "2023-05-14T05:30:32",
            "Index": 9.2
          },
          {
            "Period": "2023-05-15T05:30:32",
            "Index": 9.2
          },
          {
            "Period": "2023-05-16T05:30:32",
            "Index": 7.7
          },
          {
            "Period": "2023-05-17T05:30:32",
            "Index": 7.9
          },
          {
            "Period": "2023-05-18T05:30:32",
            "Index": 8.5
          },
          {
            "Period": "2023-05-19T05:30:31",
            "Index": 8.5
          },
          {
            "Period": "2023-05-20T05:30:32",
            "Index": 8.6
          },
          {
            "Period": "2023-05-21T05:30:32",
            "Index": 9
          },
          {
            "Period": "2023-05-22T05:30:33",
            "Index": 5.7
          }
        ],
        "DisplayLocation": "Bellingham, WA"
      }
    }
    

8. Doing Solar lamp as power supply for ESP32

9. NEXT Fun project: Arduino "radar" ultrasonic display

10. NEXT Fun project: Ikea Air Sensor – use the pico for this!

11. NEXT Winogradsky column

12. NEXT Microscopy

13. NEXT Food computer

14. NEXT Thunderboard Sense

15. NEXT Finish up Russet

16. NEXT Finish Geiger counter!

17. NEXT Magnetic field surveying

18. Homebrew seismometer

Went with Raspberry shake in the end

18.2. Seismometer with MPU6050

19. ESP32 trailcam

20. Lolin32 3D printed case

21. Infragram: monitoring plant health via near-infrared light

22. CCS811: VOC + eCO2 sensor

  • https://www.sparkfun.com/news/2369

    One measurement that causes a lot of confusion is "Equivalent CO2." The CCS811 will report equivalent CO2 in parts-per-million, but that number can be a little bit deceptive. It's important to recognize that the CCS811 cannot measure CO2 and that the "equivalent CO2" being reported by the CCS811 has nothing to do with actual CO2 present in the area. So why the heck is it called "CO2 Equivalent Units" and why would anyone need it? The answer comes down to the use of indoor air quality sensors — like the CCS811 — in HVAC control.

    Building ventilation, it turns out, is all about occupancy. The more people present in a space, the more CO2 they're exhaling, and the more ventilation is required. Now, it's certainly possible to design and operate an HVAC system around the design occupancy of a building or room, in other words the number of people expected to use a space. But this means that you may be wasting energy at times when the building isn't actually occupied. To solve this problem, many HVAC systems will monitor the concentration of CO2 in a given area in order to calculate the amount of air exchange needed in a scheme called "demand-controlled ventilation."

    Makers of indoor air quality sensors that don't detect CO2 (in an attempt to market their devices for demand-controlled ventilation systems) have correlated rising CO2 levels in certain environments to rising VOC levels. It's important to recognize that this is a correlation of the change in levels and not a correlation of the levels themselves: High VOC concentrations are not analogous to high CO2 concentrations. But it can be said that if the VOC concentration of a given space begins to slowly climb above baseline, it probably corresponds to room occupancy and an increase in CO2 (because humans exhale both CO2 and VOCs). Therefore, the manufacturers of these devices report the "CO2 Equivalent Units" with respect to this correlation so that their devices might fit more easily into an existing demand-controlled ventilation scheme.

  • Library: https://github.com/maarten-pennings/CCS811

23. Balloons around the world

24. Floaters and buoys

25. Underwater glider - hackaday project winner for 2017!

26. Vancouver maker spaces & resources

27. Muon hunter kit

28. Photo Upsampling

29. High-Resolution 3D Human Digitization from A Single Image.

30. OpenDataCam

31. Bird banding

32. openbot.org - smartphone + arduino robot

33. Open source water bottle floater & GPS tracker

34. Raspberry Pi Seismometer

35. https://github.com/plant99/felicette

36. Anthotype printing

37. NDVI with Arduino

38. https://publiclab.org/

39. Measuring wind speed with microphone noise 🤯

40. TinyML book

41. Long-lived Arduino data logger on batteries

42. Lightning detector

43. Nerdfeeder

44. CoSMO stream flow data

  • see CoSMoSpring2022newsletter.pdf in this directory

45. Solar charger night light – good reference for other projects

Good overview of calculating power requirements for solar charging a battery: https://hackaday.io/project/185217-diy-solar-bottle-lamp

46. Focus stacking!

47. Use arduino uno as FTDI for ESP32 Cam

48. Magnetometer surveying

49. Lollybot – good for web dev, maybe

50. Web development

51. Hydrogen line astronomy

52. Otto - simple, 3D printed arduino-based robot

53. Solar-powered, waterproof ESP32 camera

54. Bat ultrasonic tracking

  • Echo Meter Touch
  • Hooks up to smartphone, Ids calls like Merlin does for birds
  • apparently at Coquitlam library – but looked on [2022-08-22 Mon] and could not find any mention. They do have a tech centre with telescopes, binos, 3d printers, etc – so maybe just not up on their website?
    • Emailed Coquitlam Library to ask.

55. Car logger ODB2

56. Kmonad

57. Fun project: automatic rebooter for weather station, router

58. Fun project: Sign up as pull reviewer for $$$

59. Fun project: Go through opendata.aws

  • Also: aws.amazon.com/earth

60. Fun project: OpenCTD: open source ocean-going probes

61. Fun project: AI for detecting algal blooms

62. Fun project: Homebrew ocean floater with satellite modem

63. Fun project: Soaking pasta to cook it

64. Fun project: Arduino water quality monitoring station

65. Fun project: Lisp for microcontrollers!

66. Fun project: Join Queensborough biodiersity project on iNaturalist

67. DONE GPS plotter

https://makersportal.com/blog/portable-gps-tracker-with-arduino

  • good example of what can be done w/the gps agent I got from dad

68. DONE Anemometer for weather station

68.1. [2021-03-05 Fri]

  • Did first pass at software
  • Had to use Arduino IDE to compile – compilation errors when compiling
    • arduino-wx-transmitter worked – suspect the Makefile I'm including there (that is, the upstream Arduino-Makefile) is diff from the one I'm including in the anemometer code.
    • Just for the record:
      • working with Arduino-IDE: /home/aardvark/dev/arduino/anemometer/sketchjan02a
      • Not working, fiddle with Makefile: /home/aardvark/dev/arduino-anemometer
    • Got it working!
      • 3 magnets taped in place
      • sensor in right place
      • interrupt handling for detection
      • rpm, interval time
    • Orientation of magnets & sensor will be important – these things need to go close. Poss there will be collisions if not careful. Will need to think about adjustable placement for sensor + repeatable placement for magnets
    • Next steps:
      • Collect & send to InfluxDB
      • Think about placement of sensor – some kind of arm that can be moved into place? Something on a screw?
      • Record orientation – marks on magnets, pictures, record placement of sensor

68.2. Whoah, been a while…

69. DONE Soil moisture probes

70. DONE Birdhouse camera

71. Fun project: Wifi tank + camera

72. ML - Open source LLMs are eating our lunch

73. Fun project: Set up DD-WRT on DIR-615 routers

74. Fun project: Write a python firefox extension

75. Fun project: Import Environment Canada wind data to Grafana

76. Fun project: Generate charts like this for weather

77. Fun project: Take a look at spotify data

  • Have a look in Downloads: …or just re-download

78. Fun project: Anecdata – citizen science platform

79. Fun project: NASA Javascript framework for maps, globes

80. Fun project: Arduino + Quaternions

81. Fun project: Python webdev projects, some react-like

82. Fun project: Sentinel timelapse

83. Fun project: DIY air purifier

84. Fun project: Emacs client for iNaturalist

85. Fun project: Shazam from CLI

  • https://github.com/loiccoyle/shazam-cli
  • "To use these scripts you'll need your own API key. It can be obtained from rapidapi you'll need a RapidAPI account and subscribe to the Shazam API (there is a free a plan). "
    • RapidAPI looks like fun on its own…

86. Fun project: Infinigen: procedurally generated worlds, Python+Blender

87. Fun project: Cloud chamber!

88. Fun project: vterm for Emacs

89. Fun project: Trees & strain gauges!

Enhancing TreeMMoSys with a high-precision strain gauge to measure the wind-induced response of trees down to the ground: https://doi.org/10.1016/j.ohx.2022.e00379

https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0245631

90. Fun project: bat detector!

91. Fun project: Play with Open-Meteo APIs: climate change, weather forecasts

92. Fun project: citizen weather reporting

93. Fun project: https://newscrewdriver.com/2023/08/23/solar-monitor-battery-charging-failure/

94. Fun project: Wyze v3 hacks project

95. Fun project: DIY magnetometer kit

96. Fun project: Citizen science: soil evaluation

97. Fun project: Efficient/tiny ML: online course

98. Fun project: Write an interpreter in golang

99. Fun project: Planktoscope

100. Fun project: Tote – simple servo-based 4-legged robot

101. Fun project: Cheap Yellow Display – ESP32 w/display & more

102. Fun project: Simplest quadruped robot

103. Fun project: Solargraphy: long-term pinhole camera of the sun

104. Fun project: Scientific American Book of Projects for the Amateur Scientist

105. Fun project: Emacs & LLMs

106. Fun project: Personal mp3/ogg player

107. Fun project: Bucket ponds – aquariums without much work (allegedly)

108. Fun project: How to make jungle music

109. Fun project: Add EU radiation data to Grafana

110. Fun project: UV imaging!

111. Fun project: locally-run LLMs with Bash

112. Fun project: TinyML

113. Fun project: Llama GPT on Pi4

114. Fun project: Lithium battery series on Hackaday.com

115. Fun project: 3d printed radio controller

Author: Saint Aardvark

Created: 2024-04-03 Wed 02:44

Validate