Oh, and the base station saw some love too. It has a bigger antenna and some professionally installed electrical tape to provide all the necessary structural support. Gatta love tape. You can find all the other source files there also. Needed more program memory for all the breakout board libraries to run.
Redesigned the circuit board to stack on top of an Arduino MEGA using all the same sensor components. The LED acts as an indicator light to show the status of the buoy. Still working on the firmware to read all the sensors for the buoy. Close, but needs more work. The base station will act as the central device while the buoy will act as a peripheral device.
The central device base station is responsible for establishing a communication link with the peripheral device buoy , then the central device determines back-and-forth communication speed. The base station is seen below. This is one of the previous prototype circuit boards for the Arduino UNO. The UNO has enough program memory to run the base station code. Here is a quick example video showing the basic communication protocol for the buoy and base station:.
Base station successfully established communication link with the buoy, and then the base station issues each of the different commands to the buoy to verify the response. In an effort to get something in the water as quickly as possible I decided to go back to the basics. A lot has happened since my last post — so this an effort to fill in the gaps. This will talk about the first version of a new circuit board design.
There seemed to be an issue with getting the RadioHead library to work with nRF52 hardware. According to Adafruit the nRF52 feather is under ongoing development. Here is the link to the customer forum post that is tracking this topic. The most recent updated says there is now a fix. Pushing firmware updates to the buoy wirelessly over BLE would be handy — but it is certainly not required at this stage of the project.
So, I decided to drop the BLE for now. These Arduino boards all require 5V input — one reason I wanted to use a 3. Not a big deal for now, I can ditch the solar panel and charging circuit and use the lipo battery packs for initial testing. Awesome, just removed two more components from the build! The electronics layout and design was done in Eagle CAD using my own custom library components. This was done to minimize the overall height of the assembly since there was limited space inside the buoy.
Once the schematic is completed in Eagle you switch over to board layout mode and place all the components. This is where creating custom library components really helps because you can define the footprint and pinout for the actual hardware. In my case, most of the pieces being mounted to the circuit board are all breakout boards, not discrete surface mounted components.
Placement of the components is KEY. A clever arrangement will help minimize the number of vias and keeping the trace paths as simple as possible. The schematic for revision 1 R1 to revision 3 R3 of the board did not change much, but the layout was improved during each revision. R1 was full of mistakes, the UNO was mounted in the wrong orientation and the board was only powered through the UBS port. R3 reduced the number of vias after moving the components around, and added ground planes to the top and bottom layers to minimize signal noise.
I must have tried six unique layouts for before milling the first boards. I used an Othermill desktop CNC machine to fabricate all of the boards. An image of the R2 board with the UNO and all the boards mounted. Instead I soldered on headers to the copper board so that the breakout boards could be easily removed and reused. This was critical, since I went through three revisions of the board before fixing most of the errors. All of this could fit within the footprint of the lipo battery pack.
With the board fully assembled I tested each component individually to verify proper function. At this time I was only interested in verifying each part was working as a stand-alone unit to test that all solder points and traces were OK.
The battery and circuitboard were then mounted to a thin flat mounting plate using lots of yellow and white electrical tape. Not a long term solution, but it works. The mounting plate was superglued to the underside of the buoy lid so everything was hanging from the bottom and easy access and work on.
The sketch size exceeded the available program memory on the UNO — and not by a trivial amount. So rather than modifying all the code and library files to minimize the memory requirements I decided it was best to use a different microcontroller with more memory. This would give me plenty of extra memory to work with so I could focus on the firmware functionality and worry less about optimizing code to save bits of memory.
So, many lessons learned. Even an rough draft of the code would have indicated that all the libraries needed to support the breakout-board would be pushing the limits of the UNO. But, at least I have another reason to design and fabricate a new circuit board! The electronics will be sealed in a water-tight canister. This board can be programmed using the Arduino IDE super easy! Download and install the NRF Toolbox app.
Optionally, you can also choose to install the Adafruit Bluefruit Connect App. Then verify everything is working with their included blink. This sketch will set the Feather into BLE search mode so that you can connect to the device. Once a connection is established you can open a UART connection and receive messages to the iphone.
It should look something like this:. Modify the message within the sketch to say something new. This is the new sketch that we want to wirelessly send to the nRF52 Feather and have it update over the air. If you accidentally upload this new code to the board, just change the message back to the original before proceeding.
With the verbose output during compilation turned ON, you should see messages at the bottom of the Arduino IDE screen.
You may need to delete the zip file name, and just look for the folder. The NRF Toolbox app provides instructions. You will need to use a USB to setup the paired connection, but once it has been setup you can wirelessly transfer the zip files from the laptop to the iphone app.
YAY — no more cables! You will see a progress bar to verify the upload is happening. This may even require that you reflash the firmware via the USB cable. It should look like this if everything worked! BUT remember, this has the potential to brick your microcontroller so it is not recommended that you do this — at this time.
So… looks like I am back to one of my original designs…. The canister will be water tight. It is made up to three pieces: a top part that will hold a round solar panel, a bottom piece to hold the electronics and battery, and a black gasket sandwiched in-between the top and bottom pieces which forms a water tight seal. I printed my own gasket from black Ninja Flex filament, is is very flexible and feels like rubber. QR Scanner Plus Free. Web VPN Free. Additional information Published by Adafruit Industries.
Published by Adafruit Industries. Approximate size KB. Age rating For all ages. Permissions info. Installation Get this app while signed in to your Microsoft account and install on up to ten Windows 10 devices. Language supported English United States. Additional terms MakeCode for Adafruit privacy policy Terms of transaction. Seizure warnings Photosensitive seizure warning.
Report this product Report this app to Microsoft Thanks for reporting your concern. Adafruit's favorite open source wearables of Adafruit's best open source wearables of Image by :. Get the highlights in your inbox every week. Topics Hardware. About the author. Recommended reading Why now is a great time to consider a career in open source hardware.
Use lspci on Linux to see your hardware.
0コメント