Eben Olson Build Log

Hello everyone. I’ve been tinkering with electronics most of my life, do a bit of design in my day job, and have been doing some consulting as well recently. This year I’m also hoping to branch out into a bit of product design of my own. Here are a couple of things in progress:

  1. Home security system. Currently we pay $50/mo for a security system gives me very little peace of mind or convenience, I’m hoping that by designing my own hardware I can get something secure, affordable and easy to extend. Currently have a PIR and hall switch sensor, but plan to add cameras, audio and glass break. Goals are to keep unit cost to a few $, and battery life at least 1 year. First attempt was based on nrf52832 BLE modules, but after learning Nordic’s SDK and coding some firmware, I realized range wasn’t going to be sufficient. Now using nrf24l01+atmega, with designs optimzed for JLCPCB assembly.

  1. Spelling Cube. Toy idea for toddlers learning to read, still in the very early prototyping stage. So far I just have these custom mini neopixel arrays which will be arranged into cubes, need to design the guts which will have BLE, accelerometer, speaker, battery/inductive charging…

  1. USB3 DAQ. Trying to create a low-cost data acquisition tool that can sample 2x14b ADC at least 40MSPS. FT600 for USB3 and Ice40 FPGA to interface with ADC, I’m planning to use this digilent board until I get the digital side figured out. Thought I could save time starting with the Manila Ice board but I had to rip out most of the interesting parts to free up pins… this layout is super quick and dirty (2 layers!) as I didn’t want to wait till the end of CNY, so it will be interesting to see if it works regardless.

Hey Eben! Cool projects! This is a great use case for a wide range of sensors going back to a hub. I think it’s why Google Nest is so interested in the space. Of course, they love charging a lot per month for such a thing, as do other security companies.

What kind of range can you get on the nrf24s throughout your house?

Having seen Chris’s question I reread your post and looked at your helpful picture. Forgive me if this is patronising or unwelcome but if you want any more range / reliability from the NRF24L01s, if you don’t have any bulk caps near the power pins it’s worth adding at least 10uF low esr. And in case you, for some bizarre reason, don’t read hackaday, this recent post points out that you can improve the antenna with a low pf cap on an unpopulated pad (which is the case in your photo). I didn’t bother with the methodical optimisation but saw definite (unquantifiable) improvement with a 2.2pF cap. Last tip is to use channels above 85 but I realise this is likely country WiFi band specific, so do experiment. The rf24 library will default to channel 76 which wasn’t as reliable for me. I copied the channel hopping from the Gazell approach and implemented it for the NRF24L01s - just picked 5 quiet channels from 85 to 121 and cycle through them until you get your ack. I won’t say this is advice but I seemed to get best percentage transmission success with low times between retries. May be worth you testing for your situation as I think most people assume spaced out retries would be more successful. It also minimises awake time for the microcontroller so that’s a nice benefit if it works.

One thing I didn’t appreciate at the start of this project is that many of the sensor will be placed up against concrete/metal, which cuts the range considerably (the BLE version worked great until I tried to deploy them!). But with the nrf24 I’m getting around 40’ with a pretty “worst-case” placement, so I should be able to cover my home with a reasonable number of hubs (these will have ESP32s bridging the shockburst packets to MQTT for consumption either by HomeAssistant or custom software).

Thanks, I do have some bulk capacitance on the board but I’ll have to experiment with those hacks. I’ve been wanting to learn more about RF, so this could be a good opportunity :slight_smile:

After reading this neat debugging story I picked up some SDR gear but haven’t yet tried it out.

1 Like

I don’t think you need to use the sdr - their takeaway is use irq. Rf24 library already supports this. Are you using mysensors?

Thanks, hadn’t heard of mysensors but it looks like the way to go for homeassistant integration. I’m still trying to decide between that and rolling my own monitoring software.

Had a bit of time this week, so I assembled some base stations and worked on the nrf->wifi bridging. Took far longer than expected due to a silly oversight - I tried to be fancy using a struct message and sizeof to calculate the packet length, but didn’t realize alignment would cause this to have a different value on the 8-bit AVR transmitters and 32-bit ESP base station. The result of this was I received packets correctly, but none were getting ACKed. But things are finally flowing properly and I think I’m about ready to deploy sensors throughout my house.

I also received the partially assembled boards for my DAQ project from JLC. Voltage converters are working, but still waiting on my component order (stuck in Nevada all week due to the storms) to try out the interesting bits.

1 Like