Adafruit Grand Central M4
9/25/2021
The Grand Central has flown twice with an instrument package.
The first time was a fairly low altitude flight. The second flight was 2980 feet, which is a record for me at this time.
Here is a quick cell phone shot of the instruments mounted on top of the processor board.
You can see the OLED display here, as well as a real time clock, LIS3dh accelerometer, and BMP280 pressure sensor. Using the Adafruit libraries you can get the altitude from the pressure. The RTC helped to get a timestamp on the data files from launches. The code was adapted from my Adalogger/Feather based software and written in Arduino/C++.
Below is a side view of the instrument system.
I bought some plastic standoffs from the web. I used these to put the instrument board over the CPU board. I used wirewrap to wire up the instruments and then wired down to pins in the block in the M4. This was not pretty but it worked ok.
This board showed that a larger sized package could be flown in a high power rocket and recovered after flight.
1/2/2021
About a year ago, Adafruit introduced this board. I bought one of the first ones sold, which has the “beta” label on the board. Their website points out that there is a silkscreen error on the board which confirms I have an early release.
Regardless of that, this is a very powerful board which I have done little with so far unfortunately. I recently dug the board out and did some testing.
The basic info on the board is shown below:
The first thing you notice about this board is the size. This is not a feather by any means. Without the constraints of the feather form factor, they were able to connect virtually all of the processor pins to the connectors on this mega size board. The main pins seem to match the standard Arduino form factor, but the extra two rows on the right have new functions.
Some specs from the site:
ATSAMD51P20:
- Cortex M4 core running at 120 MHz
- Hardware DSP and floating point support
- 1MB flash, 256 KB RAM
- 32-bit, 3.3V logic and power
- 70 GPIO pins in total
- Dual 1 MSPS DAC (A0 and A1)
- Dual 1 MSPS ADC (15 analog pins)
- 8 x hardware SERCOM (can be I2C, SPI or UART)
- 22 x PWM outputs
- Stereo I2S input/output with MCK pin
- 12-bit Parallel capture controller (for camera/video in)
- Built in crypto engines with AES (256 bit), true RNG, Pubkey controller
Especially important for my work are these features:
- 8 MB QSPI Flash storage chip is included on board. You can use the SPI Flash storage like a very tiny hard drive. When used in Circuit Python, the 8 MB flash acts as storage for all your scripts, libraries and files. When used in Arduino, you can read/write files to it, like a little datalogger or SD card, and then with our helper program, access the files over USB.
- Micro SD Card slot – removable storage of any size, connected to an SPI SERCOM (SDIO is not supported)
While they say above the 8Mb is like a tiny hard drive, you should remember that earlier personal computers had floppy drives that only held 1.44 Mb of data. So this chip has the equivalent of almost 6 of the floppy drives. That is pretty amazing. For logging of data, the information can be temporarily stored on the chip and then copied to the micro sd when an event has completed.
The chip has a parallel capture peripheral, which can be used to interface with digital camera chips. This can be used for some of the lower end chips to capture live video and process the video in real time. This could be used for navigation, to look for craters and other features on the surface for example.
The PWM pins can be used with servos, which could be handy in the controls of cameras or sensors on the balloon.
I connected up an OLED display that I bought some time ago. This little display is really amazing. While it is rated at 128×32, it can be used to display text in various sizes and also graphics. It is very light and small and uses the I2C interface. I have used colored LEDs in the past, but for the weight of 3 or 4 full sized LED, this board can display vastly more information. Having this type of display for balloon or even rocket applications would be very handy.